2nd dokployH
Find a file
kingwl 63ced3e0e2 feat(mode): the session-mode core — logged per-agent policy state (@deepseek-ai/dsh-mode)
Plan mode's stage 1 (RFC 2026-07-07-plan-mode): a new packages/mode/ group
with one product package owning the mode/set SessionEventMap vocabulary
(log-only, non-surface, whole-value replace), the pure foldMode, and the
ctx.modes service (list/get/set). User flips are pending intents flushed
at turn/start / step/end — turn enclosure makes an idle append illegal —
with one coalesced context/message notice when the flushed mode differs
from what the last logged request header told the model; a folded mode
the config no longer defines reads as default plus one boundary notice.

Enforcement is two covering layers: a system-prompt/assemble wrapper
filters the RETURNED assembly's tools to the mode's allowlist (and shows
exit_plan_mode IFF the folded mode is plan) beside the mode:policy
section at order 50, and a tools/pre-execute gate denies deny-by-default
against the same allowlist, judging by the logged mode only. The default
mode is the absence of policy — assemblies stay byte-identical to a
no-dsh-mode deployment.

AgentOptions.mode (declaration-merged) seeds a child's initial mode
through the same flush on agent/created; the stdio app gains /mode
(print/switch, never sent to the model) over an opportunistic
ctx.get('modes'). Config is an explicit resolve step: the built-in plan
definition (read-only allowlist; bash/subagent excluded until the
sandbox family lands) merges unless overridden, 'default' as a key
throws at load, unknown names throw at set() time.
2026-07-10 01:38:39 +08:00
.agents/skills simplify pre-push skill guidance 2026-07-07 19:17:16 +08:00
.claude docs: accuracy sweep, architecture restructure, two ADRs, review skill 2026-06-13 22:05:34 +08:00
.github/workflows ci: add all-checks-passed aggregate job for branch protection 2026-07-08 10:57:25 +08:00
docs feat(mode): the session-mode core — logged per-agent policy state (@deepseek-ai/dsh-mode) 2026-07-10 01:38:39 +08:00
examples Merge remote-tracking branch 'origin/master' into code-mode-tools 2026-07-09 22:58:58 +08:00
packages feat(mode): the session-mode core — logged per-agent policy state (@deepseek-ai/dsh-mode) 2026-07-10 01:38:39 +08:00
scripts feat(mode): the session-mode core — logged per-agent policy state (@deepseek-ai/dsh-mode) 2026-07-10 01:38:39 +08:00
vendor Use explicit ts specifiers for declarations 2026-06-22 06:11:00 +08:00
.gitignore ci: cache eslint lane 2026-07-06 03:07:35 +08:00
AGENTS.md feat(mode): the session-mode core — logged per-agent policy state (@deepseek-ai/dsh-mode) 2026-07-10 01:38:39 +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 ci: ignore doc-typecheck temp dirs during lint 2026-07-06 02:04:32 +08:00
knip.json chore: register the cordis group across repo gates and docs 2026-07-09 13:57:03 +08:00
lefthook.yml Merge parallel pre-push gates into CI scheduler 2026-07-06 01:47:13 +08:00
LICENSE Initialize repo with README, AGENTS.md, and CLAUDE.md symlink 2026-06-10 22:58:56 +08:00
package.json Merge remote-tracking branch 'origin/master' into code-mode-tools 2026-07-09 22:58:58 +08:00
pnpm-lock.yaml feat(mode): the session-mode core — logged per-agent policy state (@deepseek-ai/dsh-mode) 2026-07-10 01:38:39 +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 feat(mode): the session-mode core — logged per-agent policy state (@deepseek-ai/dsh-mode) 2026-07-10 01:38:39 +08:00
tsconfig.build.json feat(mode): the session-mode core — logged per-agent policy state (@deepseek-ai/dsh-mode) 2026-07-10 01:38:39 +08:00
tsconfig.json feat(mode): the session-mode core — logged per-agent policy state (@deepseek-ai/dsh-mode) 2026-07-10 01:38:39 +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 feat: add the worker-thread code runtime (dsh-code-runtime-worker) 2026-07-08 11:07:14 +08:00
vitest.e2e.config.ts Merge parallel pre-push gates into CI scheduler 2026-07-06 01:47:13 +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.