The answered golden omitted the `复制` / `在新对话中分支` / `编辑` buttons that `MessageItem`'s `UserActions` renders under every user bubble, so the scenario failed against the built client. They are unconditional in the accessibility tree — the `@media (hover: hover)` rule only sets `opacity`, which does not remove a node from an aria snapshot — so there is no message-row state to stabilize before capture; the golden was simply recorded against a stale `lib/`. A partially failed `pnpm run build` had left the client bundles from before its failure current and the rest not. The Agent Note records that trap: confirm the build exited zero before refreshing a golden, and note that untracked directories under `packages/` are compiled too, so a leftover from another branch fails the build for reasons the diff does not explain. The same omission is present in the other 15 committed web goldens on master, where 9 tests across 7 files fail for this reason on a pristine tree. That is pre-existing and belongs to whoever landed `UserActions`; this commit fixes only the golden this PR already touches.
DeepSeek Harness
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.
Install
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 clones DeepSeek Harness to ~/.dsh/source, links dsh into ~/.local/bin, and launches it. Re-running the command updates the checkout. See scripts/install.sh for alternate install locations and other options.
Use DeepSeek Harness
Web UI
For the recommended local interface, build the frontend after installation and after each update, then start the Web UI:
pnpm --dir ~/.dsh/source run build && pnpm --dir ~/.dsh/source run build:web
dsh web
The Web UI is served at http://127.0.0.1:3080 by default.
TUI
Start the full-screen terminal interface:
dsh
Headless
Run one task, print the final answer, and exit:
dsh -p "summarize this workspace"
Why DeepSeek Harness
Built-in capabilities cover file reading, editing, and search; shell execution; reusable skills; task tracking; subagents and workflows; persistent sessions; and context compaction. The TUI also includes Plan Mode.
- Everything is a plugin. Models, tools, policies, storage, context management, and interfaces are composable Cordis plugins, so deployments can extend or replace behavior without forking the agent loop. See the architecture for the underlying design.
- Code Mode (opt-in). It exposes a
run_codetool and a generated TypeScript SDK; only program output re-enters model context. See Code Mode. - Self-referential Cordis tools are opt-in. They let the agent inspect its live runtime and mount or unmount plugins while it runs. See the Cordis tools.
Community
Follow DeepSeek Harness on Twitter for project updates.
Development
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 pre-release.