前言¶
在 DeepSeek Harness(DSH)里做单次「委托」时,常见做法是主代理自己拆解任务,再交给 Codex 或 Claude Code 之一去执行。分析和执行绑在同一条链路上,要么规划深度不够,要么执行端拿到的上下文过于笼统。若你已经在本机分别配置了 Codex 与 Claude Code,又希望会话主代理只做调度、不做读写,社区插件 dsh-codex-claude-pipeline(维护者 lidaqi001)提供了一种 Agent preset:由 Codex 子代理只读分析与拆工作项,再由 Claude Code 子代理逐项落地,主代理负责传话、核对与汇报。下文介绍其定位、安装方式与使用时的注意点;事实依据为 GitHub 仓库 README 与包清单 1.0.1。
这是什么¶
dsh-codex-claude-pipeline 是 DSH 的 Agent preset 插件,分类上属于工作流。新建会话时选择模式「Codex 规划 + Claude Code 执行」后,主代理不再亲自改文件或跑命令,而是:
你 → 主代理(调度器)
├─ 1. subagent_codex ──────→ Codex(只读分析、拆工作项)
└─ 2. subagent_claude_code ─→ Claude Code(逐项改文件、跑命令、自验证)
← 主代理核对、补派、汇报
与 DSH 里另外两种委托模式的对比如下(README 原文表格):
| 模式 | 谁负责分析和拆解 | 谁负责执行 |
|---|---|---|
| Codex 委托 | 主代理 | Codex |
| Claude Code 委托 | 主代理 | Claude Code |
| 本模式 | Codex | Claude Code |
插件通过 cordis.patch.yml 注册专用 provider(codex-planner、claude-code-executor),并声明依赖 @deepseek-ai/dsh-subagent-codex 与 @deepseek-ai/dsh-subagent-claude-code;dsh plugin add 会一并安装,一般不需要再单独启用官方 Codex / Claude Code bundle。许可证为 MIT;当前包要求 DSH 版本满足 engines.dsh:>=0.2.1 <0.3.0-0。
核心功能¶
固定工作流¶
preset 的系统提示词(complete: true)把主代理定义为调度器,流程概括为:
- 判断请求类型;寒暄或对已有结果的追问直接回答,有歧义先用
ask_user_question澄清。 - 派
subagent_codex做只读分析,输出固定结构「结论 / 工作项 / 不确定处」;工作项宜小到一次能执行完,并标出依赖与可并行项。 - 收到规划完成通知后再派执行;把 Codex 工作项原文完整转交(执行子代理看不到会话历史与规划全文)。
- 一次只派一个工作项,无依赖的可同轮并行;对照验收标准核对,失败则补派修正任务,计划不可行则交回 Codex 重规划。
- 汇报时区分「子代理报告完成」与「已验证」,不声称主代理自己执行过命令或改过文件。
暴露的工具¶
| 工具 | 作用 |
|---|---|
subagent_codex |
规划入口,专用 provider codex-planner |
subagent_claude_code |
执行入口,专用 provider claude-code-executor |
ask_user_question |
关键歧义时向用户提问 |
todo_write |
多工作项进度(写会话日志) |
compaction |
长会话压缩,避免上下文溢出 |
profile 级全局工具(如 working_directory、MCP、插件管理)对该 preset 的 Agent 仍可见;本插件目前主要靠 persona 约束主代理不去使用它们。若要硬隔离,需要额外的 Agent 级 ctx.tools.restrict() 类 gate 插件。
子代理权限¶
| provider | 默认 permissionMode | 说明 |
|---|---|---|
codex-planner |
never |
规划侧只读;沙箱行为以 Codex 原生配置为准 |
claude-code-executor |
auto |
执行侧由 Claude Code 分类器逐项裁决 |
两个子代理均为外部一次性会话:无父会话历史、不可追加消息、结束后不可恢复,故主代理下发的任务说明必须自包含。
安装与前置条件¶
安装命令¶
registry 发布后:
dsh plugin --profile <profile> add dsh-codex-claude-pipeline
本地开发时可直接指向目录(profile 使用 link: 依赖,改完 patch 立即生效;勿移动或删除该目录):
dsh plugin --profile <profile> add /abs/path/to/dsh-codex-claude-pipeline
也可在 Web/Desktop 的插件页面安装(plugin_manager 的 install_bundle,target 为包名或本地目录)。安装后须新建会话,在模式列表选择 Codex 规划 + Claude Code 执行;已有会话不会自动切换。
前置条件¶
- 本机 Codex 已安装并登录(认证与
~/.codex/config.toml以 Codex 为准)。 - 本机 Claude Code 已登录(
settings.json/~/.claude.json为准;本插件不代为登录或改写这些文件)。 - DSH 版本满足上述
engines.dsh范围。
插件以当前 DSH 进程及你所配置子代理的权限运行;安装前建议在 GitHub 阅读源码与 MIT 许可证,并确认本机 Codex / Claude Code 的登录与网络策略符合你的安全要求。
配置¶
在 profile 的 cordis.patch.yml 中按行 id 覆盖即可,无需改插件仓库内文件。示例(README 原文):
- id: subagent-codex-planner
name: '@deepseek-ai/dsh-subagent-codex'
config:
providerName: codex-planner
permissionMode: never
- id: subagent-claude-code-executor
name: '@deepseek-ai/dsh-subagent-claude-code'
config:
providerName: claude-code-executor
permissionMode: auto
providerName 若修改,须与 preset 内声明保持一致。Codex 可选 never | approve-for-me | dangerously-bypass-approvals-and-sandbox;Claude Code 可选 dontAsk | acceptEdits | auto | plan | bypassPermissions。修改后重启 DSH,或依赖 profile 的 HMR 热重载;preset 变更仅影响之后新建的会话。
第三方网关与 auto 模式¶
经第三方 Anthropic 网关时,Claude Code 2.1.318 起可在服务端检查无效时回退到独立分类器请求;更早版本可能报错 The server-side auto mode classifier gave no verdict,导致执行子代理无法跑 Bash/Write。旧版 DSH 可在 profile 的 pnpm-workspace.yaml 中 override @anthropic-ai/claude-agent-sdk 至 0.3.318 后执行 pnpm install 并重启;或临时改用 bypassPermissions / acceptEdits(风险自担)。
典型用法与验证¶
建议的第一条任务¶
新建会话并选中本模式后,可用小任务自检流水线,例如:要求在临时文件中增加一行并读回。预期行为是:主代理先仅调用 subagent_codex;规划结果到达后才出现 subagent_claude_code;最终汇报写明改动文件与验证结果。
三层自检(README 顺序)¶
- 行激活:
plugin_manager→list_plugins,确认subagent-codex-planner、subagent-claude-code-executor、preset-codex-claude均为enabled: true、fiberPhase: active。 - preset 已注册:
cordis_inspect_query→Config.listConfigs(过滤@deepseek-ai/dsh-agent-preset),应能看到preset-codex-claude。 - 真实流水线:按上节小任务跑通规划 → 执行 → 汇报。
常见故障见 README 表格(模式未出现、工具不可用、Codex 未登录、Claude auto 与网关不兼容、规划后未派执行等);逐项对照 list_plugins 与子代理登录状态排查即可。
适用场景与限制¶
适合:你已同时使用 Codex 做只读规划、Claude Code 做仓库内改动与命令验证,希望 DSH 主会话保持「调度器」角色,并把「想清楚」与「动手做」拆到两个擅长领域的外部代理。
需注意:
- 仅有提示词级约束时,全局工具仍可见;高安全环境需考虑 gate 插件。
- 主代理不能独立跑测试验收,只能依据子代理报告核对。
- 纯分析类请求可只走 Codex、不派执行;委派异步返回,persona 要求等待完成通知,不轮询、不重复派单。
- Codex / Claude Code 的模型与网络不由本插件管理。
卸载:
dsh plugin --profile <profile> remove dsh-codex-claude-pipeline
结尾¶
dsh-codex-claude-pipeline 把 DSH 会话收成一条可复现的双子代理流水线:Codex 出计划,Claude Code 按工作项执行,主代理只做传递与验收叙述。DSH 生态奉行「一切皆插件」;社区目录站 SkillHub 插件页 与 GitHub 仓库 为独立收录,与 DeepSeek / 幻方无官方从属关系。若你的工作流里规划与执行常由不同工具承担,可按上文步骤安装并在新会话中选用该 preset 试用。