协作:父方所有权与执行分支
委派、后台作业与脚本编排分别由独立插件提供。父 Agent 关联子任务身份与生命周期,提供者拥有实际执行资源,工作流通过同一委派能力组织可选并行协作。
箭头表示标注的调用或依赖关系;点击组件定位正文。完整关系见下方文字说明。
委派服务管理提供者与子会话
dsh-subagent 提供统一委托服务,tool-subagent 发起任务,tool-subagent-control 负责后续控制。
dsh-subagent · 接口摘录,省略上下文 · ctx.subagents.start · docs/subsystems/subagent.md// 按提供者名称启动委托,能力检查通过后返回调用者拥有的运行。
async start(name: string, request: SubagentStartRequest): Promise<SubagentRun>spawn-in-process、fork-in-process、ACP 和外部代理等提供者支持的能力不同;请求启动时就应拒绝不支持的选项,不能启动后才发现无法续聊。可继续的子 Agent 由管理器准备并关联父方权限;持久目录里能列出旧子任务,并不赋予当前调用者继续控制它的权利。
作业运行时管理身份与输出
dsh-jobs 管理作业身份、所有者权限、运行状态和输出环;实际运行命令或其他工作的是生产者。注册前先做权限与输入预检,启动器抛错不留下半注册作业,生产者负责清理部分创建的资源。
dsh-jobs · 接口摘录,省略上下文 · ctx.jobs.start · docs/subsystems/jobs.md · ctx.jobs.read · docs/subsystems/jobs.md// 先预检权限与控制器,再原子注册生产者启动的后台作业。
abstract start(spec: JobSpec): JobId
// 按所有者读取输出并推进模型游标,终态结果仅首次读取携带。
abstract read(id: JobId, caller?: SessionId): JobRead作业状态包含 running、stopping、completed、killed、failed。可见作业编号不是访问许可,读取和取消仍检查所有者,避免知道一个 ID 就能观察别人执行内容。
取消结算与活作业观察
作业 cancel 是同步且幂等的请求,最终状态要等生产者释放资源后结算;拥有它的活 Agent 被销毁时,注册表会取消并等待作业。
输出按 UTF-8 字节限额保留,输出容量与记录保留时间独立,终态后的写入被记录并丢弃。最终结果对模型的首次读取还具有一次性消费语义。这意味着后台运行只改变等待方式,不自动提供进程重启后的持续执行。
工作流复用委派能力编排
dsh-workflow 管理调用者拥有的运行,workflow-ptc 执行 JavaScript 编排,tool-workflow 提供入口。
// 启动调用者拥有的编排运行,结果结算后仍须释放运行。
abstract start(request: WorkflowStartRequest): WorkflowRun脚本通过 agent、parallel、pipeline、phase、log 组织子任务,执行前校验元信息和语法,子 Agent 归属于发起方。结果把失败或取消表示为结算结果,销毁等待脚本和子任务结束;普通工作流工具会阻塞到结束。一个或两个独立任务直接委托即可,工作流不是必经层。
辅助示例
主 Agent 让两个子 Agent 分别检查模型和文件模块,同时把构建命令作为后台作业。子 Agent 返回分析结论,jobs 返回进程输出和状态,两者不能混作同一种消息。用户取消整个任务后,父方需要停止其拥有的子工作并等待收尾;只关闭展示面板不会终止这些资源。
设计取舍
统一委托入口和作业观察接口减少主 Agent 的等待负担,显式所有权防止遗留工作失控;代价是并行结果需要汇总,生命周期也更复杂。同进程委托共享故障范围,外部执行隔离较强但能力可能较少,不能假定所有提供者支持同样的续聊和恢复。
相关包与插件
- 子代理委派与会话管理
@deepseek-ai/dsh-subagent - 空对话进程内子代理
@deepseek-ai/dsh-subagent-spawn-in-process - 继承完成对话的进程内子代理
@deepseek-ai/dsh-subagent-fork-in-process - 独立 ACP 子代理
@deepseek-ai/dsh-subagent-acp - 可配置子代理委派工具
@deepseek-ai/dsh-tool-subagent - 子代理消息中断与目录工具
@deepseek-ai/dsh-tool-subagent-control - 后台作业服务接口
@deepseek-ai/dsh-jobs - 脚本化多代理编排服务
@deepseek-ai/dsh-workflow - 沙箱 Node 工作流执行提供者
@deepseek-ai/dsh-workflow-ptc - JavaScript 多代理编排工具
@deepseek-ai/dsh-tool-workflow
资料来源与核验范围
本章依据固定版本的官方文档整理,设计取舍根据所述机制分析;核验范围为文档,不包含运行实测。