2nd dokployH
Find a file
_Kerman 08e546eff1 feat(storage-json): one-time migration of a legacy whole-unit file to per-record
Opening a per-record unit splits a legacy `<root>/<name>.json` (the
pre-per-record single-file layout) into per-record documents; an
already-present new record wins, and the legacy file is deleted once
every record migrated. The migration also runs when the new tree is
absent — the fresh-upgrade shape — and foreign, shapeless, or malformed
legacy files are left alone. This preserves previously cached session
titles, list metadata, stats, and subagent identity across the medium
change.
2026-08-20 16:25:39 +08:00
.agents Merge origin/master into xtr/projection-per-session-cache 2026-08-20 16:03:51 +08:00
.claude
.github Merge pull request #2768 from deepseek-harness/ci/split-master-workflows 2026-08-20 12:19:10 +08:00
apps Merge origin/master into xtr/projection-per-session-cache 2026-08-20 16:03:51 +08:00
docs Merge origin/master into xtr/projection-per-session-cache 2026-08-20 16:03:51 +08:00
examples Merge remote-tracking branch 'origin/master' into codex/fix-bwrap-proc-root-escape 2026-08-20 13:38:36 +08:00
native
packages feat(storage-json): one-time migration of a legacy whole-unit file to per-record 2026-08-20 16:25:39 +08:00
patches
python Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2300 2026-08-19 13:12:47 +08:00
scripts Merge pull request #2730 from deepseek-harness/xtr/projection-state-schema 2026-08-20 13:55:58 +08:00
vendor
website
.editorconfig
.gitattributes
.gitignore feat(build): bind client artifacts to build profiles 2026-08-19 18:21:27 +08:00
.gitlab-ci.yml
.jscpd.json
.oxlintrc.json
.oxlintrc.staged.json
.rgignore
AGENTS.md
BENCHMARK.md
BRAND_GUIDELINES.i18n.yaml docs: split brand guidelines into bilingual pair 2026-08-19 21:01:18 +08:00
BRAND_GUIDELINES.md docs: split brand guidelines into bilingual pair 2026-08-19 21:01:18 +08:00
BRAND_GUIDELINES.zh.md docs: split brand guidelines into bilingual pair 2026-08-19 21:01:18 +08:00
CLAUDE.md
CONTRIBUTING.i18n.yaml
CONTRIBUTING.md
CONTRIBUTING.zh.md
knip.json Merge pull request #2758 from deepseek-harness/knip-eval 2026-08-20 10:59:36 +08:00
lefthook.yml
LICENSE
package.json release(dsh): 0.1.0-rc.8 2026-08-19 23:00:28 +08:00
pnpm-lock.yaml Merge origin/master into xtr/projection-per-session-cache 2026-08-20 16:03:51 +08:00
pnpm-workspace.yaml
pytest.ini
README.i18n.yaml feat(web,cli): open the ready Web UI by default 2026-08-19 15:42:12 +08:00
README.md feat(web,cli): open the ready Web UI by default 2026-08-19 15:42:12 +08:00
README.zh.md feat(web,cli): open the ready Web UI by default 2026-08-19 15:42:12 +08:00
THIRD_PARTY_NOTICES.md feat(web,cli): open the ready Web UI by default 2026-08-19 15:42:12 +08:00
tsconfig.base.client.json feat(client): inject public build environment 2026-08-19 18:21:26 +08:00
tsconfig.base.json refactor: prefix experimental package names 2026-08-19 22:30:36 +08:00
tsconfig.client.json feat(client): compose deployment branding through slots 2026-08-19 18:21:35 +08:00
tsconfig.host.json Merge pull request #2776 from deepseek-harness/feat/table-optmize 2026-08-20 15:46:40 +08:00
tsconfig.json
tsdown.config.ts
vitest.config.ts Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2300 2026-08-19 10:33:31 +08:00
vitest.e2e.config.ts
vitest.shared.ts
vitest.snapshot.config.ts
vitest.web-stress.config.ts
vitest.web.config.ts perf(ci): parallelize coverage and web snapshots in-job 2026-08-18 21:15:20 +08:00
vitest.web.perf.config.ts

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.

Developer preview

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

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.