dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
The local-first, plugin-friendly, Cursor-style AI coding workbench for DeepSeek Harness users.
Unofficial community project · source preview · not the official DeepSeek Desktop application and not endorsed by DeepSeek.
中文 · Market research · Roadmap · Architecture · AI agent guide
DeepSeek Harness is a composable agent runtime: the model supplies reasoning, while Harness supplies tools, skills, sessions, permissions, sandboxing, and a real workspace. DHD does not reimplement that runtime. It provides a daily developer workbench around it:
open a repository → attach context → run an agent → review changes → run tests → commit or revert
The long-term product direction is a Harness-native agent IDE control plane, not a browser wrapper:
This repository is a 0.1.0 source preview, not a signed production distribution.
| Status | Capability |
|---|---|
| Implemented and manually checked | Host lifecycle, file tree/editor, search with fallback, PTY with fallback, basic Git, workspace sync, coordinated shutdown |
| Implemented without outer automated regression | Monaco tabs, command palette, MCP/Rules entry points, inline edit, layout persistence |
| Upstream capability | Harness presets, Trajectory, tool cards, Skills, MCP, Sessions, subagents/fork/workflow/experimental Agent Teams inside the iframe |
| Early native vertical slice | Main-owned Session runtime, structured context/prompts, and tool/approval/change events after workspace sync; real provider/model review is not complete |
| Planned | Per-turn before/after diff, provider/agent roster, worktree isolation, bundled runtime, signed release/update channel |
Important current limits:
dsh-client embedding.change-projection currently exposes changed paths only.defaultModel, defaultPreset, and sandboxMode are not automatically Host-effective settings.pnpm test:contract covers capability, IPC/preload, Host IPC/Session fixtures, and the static upstream Desktop compatibility gate; typecheck/build are not real provider/model tests.See the version-bound support matrix before making product claims.
Requirements: Node ^22.19.0 or >=24, pnpm 10.14.0, Git submodules, and a built Harness checkout.
git clone --recursive git@github.com:davidtan2008/deepseek-harness-desktop.git
cd deepseek-harness-desktop
pnpm install
cd harness && pnpm install && pnpm run build && cd ..
pnpm doctor:env
pnpm dev
For parallel coding agents or worktrees, isolate the runtime:
DSH_HOME="$(mktemp -d)" \
DHD_USER_DATA="$(mktemp -d)" \
DHD_WORKBENCH_PORT=5183 \
DHD_ALLOW_MULTIPLE=1 \
pnpm dev
flowchart LR
User[User] --> Main[Electron Main]
Main -->|spawn / adopt| Host[DeepSeek Harness Host]
Main -->|typed preload IPC| UI[React Workbench]
UI --> Editor[Monaco / Explorer / Search]
UI --> Terminal[xterm / PTY]
UI --> Git[Git panel]
UI --> Agent[Agent iframe\nHarness Web UI]
Host --> Runtime[Session / Tools / Skills / MCP / Sandbox]
Main --> AgentRuntime[Native Session transport]
AgentRuntime --> Host
Main --> Platform[FS / watcher / credentials / updater]
The Host is an external Node process. Main supervises it but does not execute Agent tools or directly write Session logs; the native runtime sends prompts and reads events through the Host Remote API. The Renderer has no Node integration and uses only the typed preload API. The exact lifecycle and private Host compatibility seams are documented in docs/architecture.md.
| Variable | Purpose |
|---|---|
DHD_HARNESS_ROOT | Select the Harness source checkout. |
DHD_HARNESS_URL | Adopt a loopback dsh web URL; an adopted Host is not terminated by the desktop. |
DHD_NODE | Select the Node executable used to launch an owned Host. |
DSH_HOME | Select the Harness profile/session/credential home. |
DHD_USER_DATA | Isolate Electron userData for development instances. |
DHD_WORKBENCH_PORT | Select an isolated Vite renderer port. |
DHD_ALLOW_MULTIPLE=1 | Development-only bypass of the single-instance lock. |
DHD_ALLOW_REMOTE_HOST=1 | Explicit unsafe override for non-loopback Host URLs; avoid normal use. |
DHD_ALLOW_UNBUNDLED_RUNTIME=1 | Local diagnostic override for a packaged app without bundled Harness/Node; never use for releases. |
RIPGREP_PATH | Select the ripgrep executable. |
llms.txt — compact machine-readable project index.pnpm docs:check
pnpm upstream:check
pnpm typecheck
pnpm smoke:native-turn
pnpm test:contract
pnpm build
git diff --check
Run runtime staging, closure smoke, and the fail-closed release gate separately (signing, notarization, and cross-platform installation evidence are still pending):
pnpm runtime:prepare
pnpm smoke:runtime-closure
pnpm smoke:packaged-host
pnpm release:check
Run real Host, PTY, search, shutdown, and packaging flows for changes that affect them. Report the exact commands run and any unverified platform; do not describe build success as runtime coverage.
DHD is an independent community project. The pinned Harness checkout already contains an upstream Desktop implementation; DHD does not replace or represent it. It uses the upstream project as a pinned runtime and keeps desktop-specific behavior in this repository.
MIT for this repository. Upstream and third-party components retain their own licenses; release work must produce complete notices and a runtime manifest.