English | 中文
DeepSeek Harness (dsh) is an open-source coding agent built on the DeepSeek Harness SDK.
It uses an architecture where everything is a plugin.
Thank you for taking the time to try DeepSeek Harness.
This version is still in internal testing. Its functionality still needs improvement, and the experience may feel a little rough.
“As one cuts and files, as one chisels and polishes.” A product grows through real encounters and candid feedback. Problems you discover in real use may prompt us to reconsider—or even overturn—our existing designs.
We especially want to hear about failures, confusion, and friction. If you have any feedback or suggestions, please leave us a message in our WeCom group. Every piece of feedback helps us refine it.
Install dsh with one command:
curl -fsSL https://raw.githubusercontent.com/deepseek-harness/deepseek-harness/master/scripts/install.sh | sh
The installer requires git and Node ^22.19 || >=24, offers to install pnpm when it is missing, and prompts for a DeepSeek API key.
The installer keeps every checkout under ~/.dsh/source: the master clone at ~/.dsh/source/master and each install's staging checkout as a git worktree ~/.dsh/source/staging-<timestamp>. The stable symlink ~/.dsh/source/current points at the active staging worktree, and dsh in ~/.local/bin links to current/bin/dsh, so an upgrade repoints one symlink and the dsh on PATH never moves. Re-running the command adds a fresh staging worktree from an updated master and repoints current at it. See scripts/install.sh for alternate install locations and other options.
For the recommended local interface, build the active checkout after installation and after each update, then start the Web UI:
(cd ~/.dsh/source/current && pnpm run build)
dsh web
The full build produces the library and client bundles plus the frontend dist. The path above is the installer's default. If you set DSH_SOURCE or DSH_CURRENT, or reused an existing checkout, replace ~/.dsh/source/current with that checkout path; see scripts/install.sh for details. The Web UI is served at http://127.0.0.1:3080 by default.
Start the full-screen terminal interface:
dsh
Run one task, print the final answer, and exit:
dsh -p "summarize this workspace"
From a source checkout with DEEPSEEK_API_KEY in the environment or its root .env, start the ACP automation server:
pnpm run demo:acp
The Python SDK drives a bundled JSON-RPC runtime. The examples cover the runnable headless, ACP, JSON-RPC, Code Mode, and self-referential compositions.
Built-in capabilities cover file reading, editing, and search; shell and persistent PTY execution; reusable skills; task tracking, goals, plans, todos, and background tasks; subagents and workflows; sandboxing and approvals; settings and credentials; persistent, resumable, forkable, and queryable sessions; LSP and web access; context compaction; and telemetry. Each composition selects the subset appropriate to its surface. The TUI and Web UI both include Plan Mode.
run_code tool and a generated TypeScript SDK; only program output re-enters model context. See Code Mode.Follow DeepSeek Harness on Twitter for project updates.
pnpm install
pnpm run test:coverage
Start with the development guide and read the architecture before changing packages.
For agents, follow AGENTS.md.
DeepSeek Harness is currently in internal testing.