mirror of
https://github.com/deepseek-ai/deepseek-harness
synced 2026-08-15 21:04:50 +00:00
Address ds-review-bot on #2127: - assistant-output: the rule has ONE implementation, the incremental AssistantOutputFold (push/pushText/collect); finalAssistantOutput folds a complete suffix, the SDK backend folds notification events, and the ACP backend folds raw chunk text into the same streamed fallback. - subagent/end.lastAssistantMessage: 'no output' is encoded once — absent, never [], on both lifecycle shapes (observeRun now omits empty output). - tool-subagent: a non-completed foreground result stays isError but appends the child's preserved partial text after the stop-reason headline. - Authored keyless snapshot scenario subagent-max-tokens-partial pins the assembled transcript: the child's committed log carries the usage-only empty message and the parent's tool result carries the partial answer. - Rule-boundary sentence (message wins over later streamed text) and the consumer half recorded in the Agent Note; comments trimmed to pointers.
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/ |
Starts a fresh in-process child | registers on ctx.subagents |
subagent-fork/ |
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 |
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.