dsh-web-workbench
Public mirror for the dsh-external/dsh-web-workbench plugin suite; canonical organization repository is private by org policy.
- Stars
- 0
- Language
- TypeScript
- Created
- Aug 23, 2026
- Updated
- Aug 23, 2026
Introduction
dsh-web-workbench
Unofficial community patch set and source packages for the DeepSeek Harness Web UI.
This repository contains the full client/server plugin suite developed in August 2026 for the DeepSeek Harness Web application, packaged for review, integration, and community sharing. The official upstream repository currently does not accept external pull requests, so this repository is the practical submission path and the packages can also be used as a review patch.
Community registration: dsh-external/awesome-dsh-plugins#95
What is included
Five new packages:
@deepseek-ai/dsh-client-ui-workbench— right-side workbench with Browser, File Viewer, Jobs, Activity Log, Review, and Status tabs.@deepseek-ai/dsh-client-ui-terminal— bottom-up terminal panel with direct shell input, no separate command box.@deepseek-ai/dsh-client-ui-timeline— DeepSeek-style question history rail on the chat surface with hover bars and jump-to-question behavior.@deepseek-ai/dsh-terminal-web— line-based shell bridge for the browser terminal.@deepseek-ai/dsh-workspace-review— workspace git review service with bounded changed-file listings and diffs.
Seventeen existing packages were modified to wire the suite into the official Web assembly, including web-app, client layout/chat/sidebar/tool, host apiproxy, workspace, and session-log-export. The patch set intentionally does not modify agent-loop, session storage, or the core runtime.
Verification
- Target packages: 131 test files, 2136 tests passed.
- Terminal package: 14 tests passed.
- Concurrency failures from the full run were resource contention (timeout/EPERM); rerunning the affected files serially passed 10 files / 312 tests, with 5 skips.
typecheck,lint, translation pairing (1013 pairs), client catalog, package invariants, and workspace constraints pass.- Real browser smoke test covered terminal commands, workbench tabs, sidebar behavior, and panel/dock drag resizing.
The complete evidence is in docs/SUBMISSION.md.
Compatibility
- Base:
528c682e061696f5a160f363f236ecbf53cbd006 - Branch:
master - Upstream release context:
release/dsh-0.1.1-rc.1 - Requires a source checkout of DeepSeek Harness; this is not a standalone Web application.
Install (source patch)
From a clone of this repository, apply the patch into a DeepSeek Harness checkout at the base commit or a compatible later commit:
$env:DSH_SOURCE = 'C:\path\to\deepseek-harness'
.\scripts\apply-patch.ps1 -DshSource $env:DSH_SOURCE
pnpm --dir $env:DSH_SOURCE install
pnpm --dir $env:DSH_SOURCE run typecheck
pnpm --dir $env:DSH_SOURCE run build
pnpm --dir $env:DSH_SOURCE dsh --profile web
To only validate the patch before changing the checkout:
.\scripts\apply-patch.ps1 -DshSource $env:DSH_SOURCE -CheckOnly
Manual equivalent:
git -C "$DSH_SOURCE" apply --check patches/official-all-changes.patch
git -C "$DSH_SOURCE" apply patches/official-all-changes.patch
Use patches/plugin-packages.patch instead when only plugin package sources are needed and root build configuration should remain untouched.
Release assets
dsh-plugin-submission-2026-08-23.zip— full submission archive.all-plugin-sources.tar.gz— portable source archive.- Patch files under
patches/— directly applicable diffs. docs/SUBMISSION.md— package list, verification, and submission notes.docs/SHA256SUMS— checksums for generated delivery archives.
Windows desktop package
The desktop/ directory contains a prebuilt Wails/WebView2 shell plus a launcher that starts the local patched dsh web backend. It keeps the workbench, terminal, and timeline in a native desktop window instead of a browser tab. See desktop/README.md.
Security
The terminal is a user-operated shell channel and runs with the identity of the dsh web process. Do not expose the server to untrusted networks after enabling the suite. The workspace review and file endpoints are same-origin and path-bounded, but still deserve normal local-server assumptions.