2nd dokployH
Find a file
Chinesezjc 553b8c35da test(pwsh-local): accept graceful SIGTERM exit as service-disposal death
On Linux, pwsh may trap SIGTERM and exit cleanly when the subprocess service
is disposed, so the handle status is 'completed' rather than 'killed'. The
test already proved the process tree is gone via kill(pid,0); both statuses
satisfy the contract.
2026-08-25 22:10:31 +08:00
.agents Merge pull request #3025 from deepseek-harness/ihsiangzhang/content-width-font-size 2026-08-25 21:54:15 +08:00
.claude
.github test(ci): stabilize required snapshot and Windows lanes 2026-08-25 18:27:06 +08:00
apps Merge pull request #3025 from deepseek-harness/ihsiangzhang/content-width-font-size 2026-08-25 21:54:15 +08:00
docs Merge remote-tracking branch 'origin/master' into xtr/projection-per-session-cache 2026-08-25 21:23:28 +08:00
native docs: trim CoT leakage from post-purge prose 2026-08-22 20:35:11 +08:00
packages test(pwsh-local): accept graceful SIGTERM exit as service-disposal death 2026-08-25 22:10:31 +08:00
patches
python Merge commit 'ead58a4a476200de2a2f2549ef6a02e73752b618' into codex/dsh-sdk-dynamic-subagent-routing 2026-08-25 18:01:08 +08:00
scripts Merge pull request #3025 from deepseek-harness/ihsiangzhang/content-width-font-size 2026-08-25 21:54:15 +08:00
snapshots Merge remote-tracking branch 'origin/master' into xtr/projection-per-session-cache 2026-08-25 21:23:28 +08:00
vendor
website refactor(repo): retire top-level examples 2026-08-24 22:02:44 +08:00
.editorconfig
.gitattributes
.gitignore feat(python-runtime): package the dsh CLI and profile assets 2026-08-24 17:28:26 +08:00
.gitlab-ci.yml fix(python): make Windows release paths native 2026-08-24 19:09:40 +08:00
.jscpd.json
.oxlintrc.json
.oxlintrc.staged.json
.rgignore
AGENTS.md refactor(repo): retire top-level examples 2026-08-24 22:02:44 +08:00
BENCHMARK.md
BRAND_GUIDELINES.i18n.yaml
BRAND_GUIDELINES.md
BRAND_GUIDELINES.zh.md
CLAUDE.md
CONTRIBUTING.i18n.yaml
CONTRIBUTING.md
CONTRIBUTING.zh.md
knip.json Merge commit '882fb242ad930f15617e95cfb04e5c2225d70772' into codex/dsh-sdk-minimal-diagnostics 2026-08-25 20:57:46 +08:00
lefthook.yml
LICENSE
package.json Merge remote-tracking branch 'origin/master' into fix/web-fetch-ssrf 2026-08-25 09:14:36 +08:00
pnpm-lock.yaml Merge remote-tracking branch 'origin/master' into xtr/projection-per-session-cache 2026-08-25 20:54:08 +08:00
pnpm-workspace.yaml Merge commit '80d68a54120fc87e6b354e41562a9fbfd6874e48' into codex/product-subagent-runtime-refresh-codex 2026-08-25 19:42:47 +08:00
pytest.ini
README.i18n.yaml Merge pull request #2560 from deepseek-harness/codex/add-security-policy 2026-08-23 11:10:52 +08:00
README.md Merge pull request #2560 from deepseek-harness/codex/add-security-policy 2026-08-23 11:10:52 +08:00
README.zh.md Merge pull request #2560 from deepseek-harness/codex/add-security-policy 2026-08-23 11:10:52 +08:00
SAFETY.i18n.yaml Merge pull request #2560 from deepseek-harness/codex/add-security-policy 2026-08-23 11:10:52 +08:00
SAFETY.md Merge pull request #2560 from deepseek-harness/codex/add-security-policy 2026-08-23 11:10:52 +08:00
SAFETY.zh.md Merge pull request #2560 from deepseek-harness/codex/add-security-policy 2026-08-23 11:10:52 +08:00
THIRD_PARTY_NOTICES.md Merge commit '74a6e1e5cf520cdde8bf461d9051c81142fd6afe' into codex/product-subagent-runtime-refresh-claude-code 2026-08-25 19:15:55 +08:00
tsconfig.base.client.json
tsconfig.base.json perf(history): carry packed assistant chunks 2026-08-25 20:10:42 +08:00
tsconfig.client.json chore(client): align split package graph 2026-08-23 16:28:18 +08:00
tsconfig.host.json fix(ui-workspace): keep blank new sessions outside the fold quota 2026-08-25 14:36:56 +08:00
tsconfig.json refactor(repo): retire top-level examples 2026-08-24 22:02:44 +08:00
tsdown.config.ts
vitest.config.ts refactor(repo): retire top-level examples 2026-08-24 22:02:44 +08:00
vitest.e2e.config.ts refactor(repo): retire top-level examples 2026-08-24 22:02:44 +08:00
vitest.expected.config.ts refactor(repo): retire top-level examples 2026-08-24 22:02:44 +08:00
vitest.shared.ts
vitest.snapshot.config.ts fix(test): use expected-output naming 2026-08-24 21:37:14 +08:00
vitest.web-stress.config.ts
vitest.web.config.ts
vitest.web.perf.config.ts fix(history): adapt packed pages to session journal 2026-08-25 20:10:43 +08:00

DeepSeek Harness

English | 中文

DeepSeek Harness (dsh) is an open-source agent harness developed by DeepSeek AI.

It uses an architecture where everything is a plugin, and is powered by Cordis, whose design is described in A Programming Paradigm for Spatiotemporal Composability.

Documentation: https://deepseek-harness.github.io/deepseek-harness/

Developer preview

DeepSeek Harness is currently in developer preview and is iterating rapidly. THERE WILL BE COMPATIBILITY-BREAKING CHANGES.

Review the safety notice before running the project.

Run

Run from npm

Install Node.js, then run:

npx @deepseek-ai/dsh web

The command starts the Web UI at http://127.0.0.1:3080 by default and opens it in the default browser for a local launch. An SSH launch only prints the host URL because the SSH client or editor owns the local forwarded address. Pass --no-open to run the server without opening a browser. See Web UI guide.

Run from source

To run from a repository checkout:

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

pnpm run build prepares the repository artifacts. pnpm dsh web uses those built artifacts without rebuilding.

Community and support

Contributing

See CONTRIBUTING.md.

Development

Start with the development guide and architecture documentation.

For agents, follow AGENTS.md.

License

MIT

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