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.
Submission status: packaged for community review. The canonical dsh-external registration issue is private, so no public issue/PR link is claimed here.
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.
- 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.
- Optimization regression (2026-08-24): 89 test files / 1197 tests passed (1 skipped), plus
typecheckandlint.
The complete evidence is in docs/SUBMISSION.md.
- 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.
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 webTo only validate the patch before changing the checkout:
.\scripts\apply-patch.ps1 -DshSource $env:DSH_SOURCE -CheckOnlyManual equivalent:
git -C "$DSH_SOURCE" apply --check patches/official-all-changes.patch
git -C "$DSH_SOURCE" apply patches/official-all-changes.patchUse patches/plugin-packages.patch instead when only plugin package sources are needed and root build configuration should remain untouched.
Release artifacts, including source archives and checksums, are generated when a release archive is prepared and are not committed to this source tree; docs/SHA256SUMS applies to that generated release archive.
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.
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.
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.
The file viewer blocks .git metadata, absolute and backslash paths, and symlinks that resolve outside the registered workspace. The terminal bridge only accepts working directories that belong to a registered workspace.