2nd dokployH
Find a file
Chinesezjc 8093d22164 fix(code-runtime-python): bound stray capture by serialized cost, chunk-scan, and flush on destroy
The line-aggregating stray capture from the previous round regressed three
ways the review caught. Rewrite it on the fd-3 reader's raw-Buffer-chunk
shape: accumulate chunks with a byte counter and split on the raw 0x0a byte,
so a large newline-free write no longer re-copies the residual and re-scans
from index 0 per chunk (both O(N^2)). Meter each admitted entry by serialized
cost through a new jsonStringCostUpTo that walks to the cap and stops, so a
near-budget control-char-dense line never allocates the sixfold-inflated
JSON.stringify result the old ledger did (the critical: ~1.6 GiB transient
under a large maxLogBytes). Flush the residual explicitly in the closeDeadline
handler before it destroys the streams, so a setsid escapee's path (which
fires no end) does not drop a leader's final newline-free diagnostic.

Harden the sync-spawn leak assertion to a set difference against a pre-run
snapshot, immune to a parallel worker's concurrent tmpdir create/delete.

Decline the round-2 request to enforce the fd-3 ceiling per-frame: the counter
check must precede Buffer.concat to prevent ~2x memory doubling (two
regression tests assert this), and the batch-edge false reject it would fix is
reachable only at a maxLogBytes/maxValueBytes configured within one pipe read
of the 256 MiB ceiling, far past the defaults. Documented at the check and in
the note Alternatives.

Add flood, NUL-flood, short-escape, and closeDeadline-flush regression tests
(restoring per-file 100% coverage); update the Agent Note and zh pair.
2026-08-31 14:21:57 +08:00
.agents fix(code-runtime-python): bound stray capture by serialized cost, chunk-scan, and flush on destroy 2026-08-31 14:21:57 +08:00
.claude docs: accuracy sweep, architecture restructure, two ADRs, review skill 2026-06-13 22:05:34 +08:00
.github refactor(session)!: remove SQLite persistence backend 2026-08-31 13:23:07 +08:00
apps test(loader): budget production profile startup 2026-08-31 11:23:46 +08:00
docs docs: regenerate module graph for the code-runtime-python dependency 2026-08-31 14:16:47 +08:00
native docs: trim CoT leakage from post-purge prose 2026-08-22 20:35:11 +08:00
packages fix(code-runtime-python): bound stray capture by serialized cost, chunk-scan, and flush on destroy 2026-08-31 14:21:57 +08:00
patches chore(subprocess-local): bump node-pty beta 2026-08-13 17:58:13 +08:00
python feat(code-runtime-python): add the CPython subprocess backend 2026-08-31 14:14:32 +08:00
scripts feat(code-runtime-python): add the CPython subprocess backend 2026-08-31 14:14:32 +08:00
snapshots refactor(bundle): remove the agent spine demo 2026-08-31 11:23:30 +08:00
vendor release(vendor): cordis 4.0.2, cosmokit 1.8.3, group 1.0.2, hmr 1.0.17, include 1.0.7, loader 1.0.3, logger-console 1.0.2, schemastery 3.18.2, timer 1.1.4 2026-08-30 11:04:50 +08:00
website fix(docs): harden build output cleanup 2026-08-26 14:33:17 +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 feat(ci): assign coverage partitions by recorded file duration 2026-08-27 21:04:15 +08:00
.gitlab-ci.yml fix(python): make Windows release paths native 2026-08-24 19:09:40 +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 feat(util): mint UUIDs without crypto.randomUUID in every context 2026-08-21 20:35:34 +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 refactor(bundle): remove the agent spine demo 2026-08-31 11:23:30 +08:00
BENCHMARK.md docs: make Web UI the primary onboarding path 2026-08-12 11:44:33 +08:00
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 Initialize repo with README, AGENTS.md, and CLAUDE.md symlink 2026-06-10 22:58:56 +08:00
CONTRIBUTING.i18n.yaml docs(i18n): polish contribution greeting 2026-08-12 14:40:32 +08:00
CONTRIBUTING.md docs(i18n): refine contribution guide wording 2026-08-12 14:24:44 +08:00
CONTRIBUTING.zh.md docs(i18n): polish contribution greeting 2026-08-12 14:40:32 +08:00
lefthook.yml fix(review): address source-run feedback 2026-08-11 11:22:08 +08:00
LICENSE Adopt MIT for DSH packages 2026-08-13 13:07:24 +08:00
package.json release(dsh): 0.1.2-alpha.2 2026-08-30 21:19:29 +08:00
pnpm-lock.yaml fix(code-runtime-python): declare the dsh-code-runtime dependency 2026-08-31 14:16:02 +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 Merge remote-tracking branch 'origin/master' into codex/trim-ai-prose 2026-07-14 00:40:36 +08:00
README.i18n.yaml docs: link Cordis paper on arXiv 2026-08-27 17:45:31 +08:00
README.md docs: link Cordis paper on arXiv 2026-08-27 17:45:31 +08:00
README.zh.md docs: link Cordis paper on arXiv 2026-08-27 17:45:31 +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 origin/master into codex/remove-knip 2026-08-28 12:07:36 +08:00
tsconfig.base.client.json feat(client): inject public build environment 2026-08-19 18:21:26 +08:00
tsconfig.base.json refactor(session)!: remove SQLite persistence backend 2026-08-31 13:23:07 +08:00
tsconfig.client.json Merge commit 'bc954280ae67e349291e51e5787c6987e767fa40' into schedule-web-catalog 2026-08-28 07:24:24 +08:00
tsconfig.host.json refactor(session)!: remove SQLite persistence backend 2026-08-31 13:23:07 +08:00
tsconfig.json refactor(repo): retire top-level examples 2026-08-24 22:02:44 +08:00
tsdown.config.ts refactor: apply repository naming contract 2026-08-13 00:54:38 +08:00
vitest.config.ts feat(code-runtime-python): add the CPython subprocess backend 2026-08-31 14:14:32 +08:00
vitest.e2e.config.ts feat(inspector): define shared protocol foundation 2026-08-27 16:15:17 +08:00
vitest.expected.config.ts refactor(repo): retire top-level examples 2026-08-24 22:02:44 +08:00
vitest.shared.ts fix(typert): close remote gateway review gaps 2026-08-07 21:47:15 +08:00
vitest.snapshot.config.ts fix(test): use expected-output naming 2026-08-24 21:37:14 +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 feat(inspector): define shared protocol foundation 2026-08-27 16:15:17 +08:00
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 is built on an everything-is-a-plugin architecture and 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 in developer preview and 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.