2nd dokployH
Find a file
Tianyi Cui a4f7e757fa session: cache the derived history — one projection per node, frozen and shared
deriveMessages() no longer re-derives and re-clones the whole surface
per call: each node is projected exactly once, when first seen (O(new
nodes) per access), through the now-public deriveEventMessage — the
per-node pure function external reconstructors and the dev invariant
fold over a log prefix, so no two paths can disagree about a request's
messages. A surface rewrite (replace, invalidate) rebuilds, signalled
by SurfaceManager.replaceGeneration — monotonic, bumped by every folded
replace and by invalidate(), never reset. Callers get a fresh array
snapshot per call over SHARED deep-frozen messages: isolation of the
append-only log moves from per-call cloning to unrepresentability
(mutation throws), which the two isolation tests now pin directly.
2026-07-06 02:51:20 +08:00
.agents/skills docs: state the dependent check's contract as zero-versus-non-zero 2026-07-06 01:19:46 +08:00
.claude docs: accuracy sweep, architecture restructure, two ADRs, review skill 2026-06-13 22:05:34 +08:00
.github/workflows docs(graphs): verify mermaid syntax 2026-07-03 01:32:01 +08:00
docs session: cache the derived history — one projection per node, frozen and shared 2026-07-06 02:51:20 +08:00
examples review: the persona becomes the system-prompt plugin's deployment config 2026-07-05 23:23:46 +08:00
packages session: cache the derived history — one projection per node, frozen and shared 2026-07-06 02:51:20 +08:00
scripts session: the request header becomes logged state — request/header events + fold/diff/apply 2026-07-06 02:42:51 +08:00
vendor Use explicit ts specifiers for declarations 2026-06-22 06:11:00 +08:00
.gitignore Add web capability seam: ctx.web, search/fetch providers, web tools 2026-06-26 19:12:13 +08:00
AGENTS.md docs: split cordis primer from architecture map 2026-07-05 19:07:34 +08:00
CLAUDE.md Initialize repo with README, AGENTS.md, and CLAUDE.md symlink 2026-06-10 22:58:56 +08:00
eslint.config.mjs fix: make constraints, lint and md-links happy 2026-06-22 01:38:44 +08:00
knip.json Merge remote-tracking branch 'origin/master' into web-capability-seam 2026-07-03 16:49:00 +08:00
lefthook.yml feat(acp-example): snapshot harness, normalizers, wiring, and handshake scenario 2026-06-19 03:36:12 +08:00
LICENSE Initialize repo with README, AGENTS.md, and CLAUDE.md symlink 2026-06-10 22:58:56 +08:00
package.json docs(rfc): define and enforce a uniform RFC format; adopt it across the corpus 2026-07-05 22:58:25 +08:00
pnpm-lock.yaml review: the persona becomes the system-prompt plugin's deployment config 2026-07-05 23:23:46 +08:00
pnpm-workspace.yaml Reorganize packages into a modular hierarchy 2026-06-20 22:55:20 +08:00
README.i18n.yaml docs: revise graph docs from review 2026-07-05 01:25:58 +08:00
README.md docs: revise graph docs from review 2026-07-05 01:25:58 +08:00
README.zh.md docs: revise graph docs from review 2026-07-05 01:25:58 +08:00
tsconfig.base.json Merge branch 'worktree-hooks-d-subagent' into worktree-hooks-e-protocol 2026-07-04 03:01:22 +08:00
tsconfig.build.json feat(ui): share the app bins' boot glue in @deepseek-ai/dsh-app-boot 2026-07-04 16:43:06 +08:00
tsconfig.json feat(ui): share the app bins' boot glue in @deepseek-ai/dsh-app-boot 2026-07-04 16:43:06 +08:00
tsdown.config.ts Merge remote-tracking branch 'origin/master' into feat/adr0016-type-build-check 2026-06-22 00:35:51 +08:00
vitest.config.ts fix(docs): address Codex review round 3 — last three moved-policy citations 2026-07-04 16:02:39 +08:00
vitest.e2e.config.ts Merge remote-tracking branch 'origin/master' into feat/adr0016-type-build-check 2026-06-22 00:35:51 +08:00
vitest.snapshot.config.ts feat: one tsconfig.json and different rules 2026-06-19 23:35:47 +08:00

DeepSeek Harness

English | 中文

The DeepSeek Harness SDK is a plugin-based SDK for building agent harnesses.

Development

This monorepo is built on the Cordis framework (vendored as source under vendor/), microkernel-style: everything is a plugin.

pnpm install
pnpm run test          # vitest
pnpm run demo:repl     # REPL agent demo (needs DEEPSEEK_API_KEY)
pnpm run demo:acp      # ACP server agent demo (needs DEEPSEEK_API_KEY)

For humans, start with the development guide for local setup, hooks, environment variables, and quality gates, then read the architecture design and documentation graph index before package work. Local context lives in packages/ and vendor/.

For agents, follow AGENTS.md.