dsh-codex-claude-pipeline:Codex 規劃與 Claude Code 執行的 DSH 工作流 preset

前言

在 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)把主代理定義爲調度器,流程概括爲:

  1. 判斷請求類型;寒暄或對已有結果的追問直接回答,有歧義先用 ask_user_question 澄清。
  2. 派 subagent_codex 做只讀分析,輸出固定結構「結論 / 工作項 / 不確定處」;工作項宜小到一次能執行完,並標出依賴與可並行項。
  3. 收到規劃完成通知後再派執行;把 Codex 工作項原文完整轉交(執行子代理看不到會話歷史與規劃全文)。
  4. 一次只派一個工作項,無依賴的可同輪並行;對照驗收標準覈對,失敗則補派修正任務,計劃不可行則交回 Codex 重規劃。
  5. 彙報時區分「子代理報告完成」與「已驗證」,不聲稱主代理自己執行過命令或改過文件。

暴露的工具

工具 作用
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 順序)

  1. 行激活:plugin_manager → list_plugins,確認 subagent-codex-planner、subagent-claude-code-executor、preset-codex-claude 均爲 enabled: true、fiberPhase: active。
  2. preset 已註冊:cordis_inspect_query → Config.listConfigs(過濾 @deepseek-ai/dsh-agent-preset),應能看到 preset-codex-claude。
  3. 真實流水線:按上節小任務跑通規劃 → 執行 → 彙報。

常見故障見 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 試用。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜