Files
deepseek-harness/packages/subagent
_Kerman 1201ecc828 fix(session-projection-cache): store checkpoints on a per-record storage domain
Restore the storage-domain medium the file-root design replaced: the cache
opens the session_projcache domain (per-record layout — one document per
session under the json backend root) and checkpoint writes land through
the domain's write chain. Reads and writes now share ONE coherent state:
cachedSnapshot reads synchronously from the domain's in-memory tables,
and every write is durability-first-then-memory, so a read can never go
around the write chain to the medium. The hand-rolled write chains,
in-flight tracking, per-session file paths, owner-only file modes, and
the sqlite no-path special case are gone; Config.root is removed and the
domain's version stamp makes a checkpointRecord bump discard stale
sessions per record instead of rejecting the whole medium. The async
ripple of the old file read is reverted: api-proxy's listing column and
subagent's cold identity read go back to synchronous cachedSnapshot.
2026-08-20 13:47:47 +08:00
..
2026-08-17 18:47:02 +08:00
2026-08-17 18:47:02 +08:00

subagent/ — subagent capability family

English | 中文

This family lets an agent delegate work to child agents. Multiple named providers may coexist in one context.

Package Role ctx key
subagent/ Defines provider registration, delegation, and continuation ctx.subagents
subagent-inprocess/ Provides the shared in-process run driver
subagent-spawn-in-process/ Starts a fresh in-process child registers on ctx.subagents
subagent-fork-in-process/ Starts an in-process child from the parent's completed history registers on ctx.subagents
subagent-acp/ Starts an out-of-process child over ACP registers on ctx.subagents
subagent-codex/ Starts a real Codex app-server child registers on ctx.subagents
subagent-claude-code/ Starts a real Claude Code child through the official Claude Agent SDK registers on ctx.subagents
subagent-dsh-sdk/ Starts an out-of-process Harness child through the TypeScript SDK registers on ctx.subagents
tool-subagent/ Exposes delegation to the model registers on ctx.tools
tool-subagent-control/ Exposes child messaging and listing to the model registers on ctx.tools
tool-subagent-report/ Provides the child-to-parent report channel registers in child scopes

The Codex and Claude Code packages are independent optional Profile Bundles. Install either or both with dsh plugin --profile <name> add @deepseek-ai/dsh-subagent-codex @deepseek-ai/dsh-subagent-claude-code, then restart that Profile; each package registers only its dormant Host provider. To grant a tool, copy a complete Agent Preset, remove disabled from each matching tool row, and start a new Session. Removing one package withdraws only that provider and its private runtime closure on the next Profile start.

See the decisions for the capability family, continuable children, and control tools.

The subsystem reference — start requests, results, live runs, the provider contract, continuable background children — is docs/subsystems/subagent.md; design rationale in the subagent capability seam, continuable background subagents, and merged subagent control service Agent Notes.