2nd dokployH
Find a file
xjt ab140cd299 Merge remote-tracking branch 'origin/master' into docs/post-v3-release-proofreading
# Conflicts:
#	.agents/notes/implemented/feature/2026-07-20-dsh-cli-personal-config.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-20-dsh-cli-personal-config.zh.md
#	.agents/notes/implemented/feature/2026-07-25-session-list-browsing-and-manual-order.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-25-session-list-browsing-and-manual-order.zh.md
#	.agents/notes/implemented/feature/2026-07-25-workspace-ui-product-flow.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-25-workspace-ui-product-flow.zh.md
#	.agents/notes/implemented/feature/2026-07-26-code-dispatch-ui-foundation.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-26-code-dispatch-ui-foundation.zh.md
#	docs/user/develop/basic/index.i18n.yaml
#	docs/user/develop/basic/index.zh.md
#	docs/user/guide/config.i18n.yaml
#	docs/user/guide/config.zh.md
#	docs/user/guide/providers.i18n.yaml
#	docs/user/guide/providers.zh.md
#	packages/bundle/base/README.i18n.yaml
#	packages/bundle/base/README.zh.md
#	packages/host/apiproxy/README.i18n.yaml
#	packages/host/apiproxy/README.zh.md
2026-08-12 12:59:38 +08:00
.agents Merge remote-tracking branch 'origin/master' into docs/post-v3-release-proofreading 2026-08-12 12:59:38 +08:00
.claude Revert "test(repository-plugin): drop the skill contribution from the preset-composed e2e" 2026-08-09 22:10:50 +08:00
.github refactor: replace overloaded surface terminology 2026-08-11 15:23:05 +08:00
apps Merge remote-tracking branch 'origin/master' into docs/post-v3-release-proofreading 2026-08-12 12:59:38 +08:00
assets docs: make the top-level README product-first 2026-07-23 00:15:44 +08:00
docs Merge remote-tracking branch 'origin/master' into docs/post-v3-release-proofreading 2026-08-12 12:59:38 +08:00
examples Merge remote-tracking branch 'origin/master' into docs/post-v3-release-proofreading 2026-08-12 12:59:38 +08:00
native refactor: replace overloaded surface terminology 2026-08-11 15:23:05 +08:00
packages Merge remote-tracking branch 'origin/master' into docs/post-v3-release-proofreading 2026-08-12 12:59:38 +08:00
patches cleanup: remove TUI package and legacy dsh entrypoints 2026-08-04 13:20:28 +08:00
python Merge remote-tracking branch 'origin/master' into docs/post-v3-release-proofreading 2026-08-12 12:59:38 +08:00
scripts docs: make Web UI the primary onboarding path 2026-08-12 11:44:33 +08:00
vendor Merge remote-tracking branch 'origin/master' into feat/loader-entry-disabled-interpolation 2026-08-11 18:43:40 +08:00
website docs: make Web UI the primary onboarding path 2026-08-12 11:44:33 +08:00
.editorconfig Declare LF and final-newline conventions in .editorconfig 2026-07-15 16:09:12 +08:00
.gitattributes feat(i18n): compose pairing records during merges 2026-08-08 21:11:59 +08:00
.gitignore chore: untrack the local .claude/launch.json and ignore it 2026-08-08 23:45:38 +08:00
.gitlab-ci.yml fix(python): rename SDK distribution 2026-08-10 19:45:54 +08:00
.jscpd.json chore(lint): bring .tsx files into the eslint, lefthook, and jscpd lanes 2026-07-27 21:42:08 +08:00
.oxlintrc.json refactor: make lint workflows Oxlint-only 2026-08-09 14:55:15 +08:00
.oxlintrc.staged.json refactor: make lint workflows Oxlint-only 2026-08-09 14:55:15 +08:00
.rgignore chore: exclude archived Agent Notes from rg 2026-08-10 14:49:30 +08:00
AGENTS.md Merge remote-tracking branch 'origin/master' into feat/loader-entry-disabled-interpolation 2026-08-11 18:43:40 +08:00
BENCHMARK.md docs: make Web UI the primary onboarding path 2026-08-12 11:44:33 +08:00
CLAUDE.md Initialize repo with README, AGENTS.md, and CLAUDE.md symlink 2026-06-10 22:58:56 +08:00
CONTRIBUTING.i18n.yaml docs(i18n): apply reviewed Chinese proofreading updates 2026-08-12 09:59:19 +08:00
CONTRIBUTING.md docs: add Chinese contribution guide 2026-08-11 17:55:49 +08:00
CONTRIBUTING.zh.md docs(i18n): apply reviewed Chinese proofreading updates 2026-08-12 09:59:19 +08:00
knip.json fix: test 2026-08-11 23:33:18 +08:00
lefthook.yml fix(review): address source-run feedback 2026-08-11 11:22:08 +08:00
LICENSE Initialize repo with README, AGENTS.md, and CLAUDE.md symlink 2026-06-10 22:58:56 +08:00
package.json release(dsh): 0.0.1-rc.2 2026-08-11 22:52:39 +08:00
pnpm-lock.yaml chore(hygiene): restore the cordis peers and teach knip the split faces 2026-08-11 23:33:17 +08:00
pnpm-workspace.yaml fix(packaging): materialize runtime dependencies 2026-08-10 22:47:18 +08:00
pytest.ini Merge remote-tracking branch 'origin/master' into codex/trim-ai-prose 2026-07-14 00:40:36 +08:00
README.i18n.yaml docs: make Web UI the primary onboarding path 2026-08-12 11:44:33 +08:00
README.md docs: make Web UI the primary onboarding path 2026-08-12 11:44:33 +08:00
README.zh.md docs: make Web UI the primary onboarding path 2026-08-12 11:44:33 +08:00
THIRD_PARTY_NOTICES.md Merge origin/master into worktree/remove-sdk-project-toolchain 2026-08-11 15:08:18 +08:00
tsconfig.base.client.json refactor: replace overloaded surface terminology 2026-08-11 15:23:05 +08:00
tsconfig.base.json Merge branch 'master' into worktree/schedule-conversational-after 2026-08-11 20:31:49 +08:00
tsconfig.client.json refactor(client): name the compile face in every client test filename 2026-08-12 01:41:40 +08:00
tsconfig.host.json refactor(client): name the compile face in every client test filename 2026-08-12 01:41:40 +08:00
tsconfig.json refactor(tsconfig): single root solution graph over host/client aggregates 2026-07-23 03:59:05 +08:00
tsdown.config.ts refactor(cli)!: complete app-owned profile startup 2026-08-10 23:45:04 +08:00
vitest.config.ts refactor(sdk): remove unreleased project toolchain 2026-08-11 14:20:53 +08:00
vitest.e2e.config.ts fix(typert): close remote gateway review gaps 2026-08-07 21:47:15 +08:00
vitest.shared.ts fix(typert): close remote gateway review gaps 2026-08-07 21:47:15 +08:00
vitest.snapshot.config.ts chore: remove remaining SDK toolchain residue 2026-08-11 16:37:29 +08:00
vitest.web-stress.config.ts test(web): add opt-in reasoning chunk stress lane 2026-08-04 14:37:31 +08:00
vitest.web.config.ts fix(test): isolate jsdom storage on Node 26 2026-07-30 21:49:33 +08:00
vitest.web.perf.config.ts test: add opt-in web performance scenario 2026-08-04 14:23:34 +08:00

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.

Internal testing notice

DeepSeek Harness is under internal testing. Features and interfaces may change.

The internal build uploads all Session Logs by default to help diagnose reported problems. Set DSH_TELEMETRY_DISABLED=1 to disable telemetry. Send feedback through the internal WeChat group.

Run

Install Node.js ^22.19 or >= 24 and pnpm 11, then run the published package:

npx @deepseek-ai/dsh web

The command initializes the Web profile and prints the Web UI URL, which is http://127.0.0.1:3080 by default. Open it, add a DeepSeek API key under Settings → Models, then start a session. The invoking directory is the default workspace; try Summarize this repository and identify its main packages.

Continue with the Web UI guide.

Run from source

To run a repository checkout instead:

git clone https://github.com/deepseek-harness/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm dsh web

The last command builds the repository and opens the same Web UI path.

Profiles and plugins

A profile is an ordered list of plugin bundles. The shipped web profile powers dsh web. Manage a profile with dsh plugin --profile <name> <pnpm args>, which forwards the remaining arguments to pnpm in that profile's directory:

npx -p @deepseek-ai/dsh dsh plugin --profile web add <package>
npx -p @deepseek-ai/dsh dsh plugin --profile web remove <package>

add, remove, update, why, and other pnpm commands work unchanged. The command initializes a missing profile before changing its packages and updates its bundle list from installed packages that declare dsh.bundle. See the CLI reference for the exact behavior.

The CLI reference covers headless execution and custom profiles. The Python SDK and examples cover programmatic and custom compositions.

Community

Follow DeepSeek Harness on Twitter for project updates.

Development

Start with the development guide and read the architecture before changing packages.

For agents, follow AGENTS.md.

License

BSD 3-Clause

Third-party dependencies and their licenses are disclosed in THIRD_PARTY_NOTICES.md.

Contributing

Read CONTRIBUTING.md before contributing to this repository.