Files
deepseek-harness/packages/subagent
Tianyi Cui 3e89a73c71 test(subagent-sdk): keyless Loader-composition e2e across the SDK wire
A test-only cordis.yml under examples/jsonrpc-agent boots the headless app
through the Loader; a scripted model delegates once to the SDK backend, whose
child is a COMPLETE second harness runtime (own cordis.yml, jsonrpc serving
surface, scripted cwd-echo model, own JSONL persistence). Asserts the parent
tool result AND the child's own persisted transcript both carry the parent
session's workspace cwd; child launch resolves through the shared
example-launch resolver so src/lib modes both hold.
2026-07-27 03:59:46 +08:00
..
2026-07-26 05:06:39 +08:00
2026-07-26 05:06:39 +08:00

subagent/ — subagent capability family

English | 中文

The subagent seam: an agent delegating work to a child agent. Like the bash and llm families this is a capability seam (see capability seams) — but with one defining difference: multiple provider implementations coexist in one context, registered by name, rather than the single-implementation bash shape. The registry mirrors the LLM adapter registry.

Package Role ctx key
subagent/ Abstract subagent seam: named-provider registry + vocabulary ctx.subagents
subagent-inprocess/ Shared in-process run driver (no provider; one cleanup effect per run)
subagent-spawn/ In-process backend: a fresh child agent (registers on ctx.subagents)
subagent-fork/ In-process backend: a child seeded with the parent's completed-turn prefix (registers on ctx.subagents)
subagent-subprocess/ Shared out-of-process machinery: env scrub, dispose ladder, isolated config dirs (pure lib; registers nothing)
subagent-acp/ Out-of-process backend: a child agent in a spawned subprocess, driven over ACP (registers on ctx.subagents)
tool-subagent/ Model-facing subagent delegation tool over ctx.subagents (registers on ctx.tools)

The interface lives at subagent/subagent/. The in-process subagent-spawn / subagent-fork backends share the subagent-inprocess driver (a library with no provider of its own — both depend on it, neither on the other), and the out-of-process subagent-acp backend builds on the subagent-subprocess library (the credential env scrub, the dispose ladder, isolated config dirs). Tests replace only the child boundary with package-local fixtures.

The proposal and design rationale: .agents/notes/implemented/feature/2026-06-21-subagent-capability-seam.md.