前言¶
在 DSH(DeepSeek Harness)裏做多步任務時,常見問題不是缺工具,而是會話缺少穩定的「先計劃、再委派、跨輪收束」約定:改動牽涉多個模塊時容易邊做邊改計劃,獨立子問題若串行處理又拖慢節奏,長期目標與當輪動作也容易混在一起。社區裏也有人靠手寫 persona 或臨時提示詞補救,但父會話與子任務的配置往往不同源,升級時難以對齊。
下面介紹維護者 wxid123 發佈的 XieHome 倉庫(npm 包名 dsh-preset-conductor):一套面向「編排模式(Conductor)」的預設 bundle,通過兩份獨立維護的 Agent 預設,把計劃記錄、並行委派子任務與跨輪目標管理的指引寫進 persona。需要說明:資料明確寫這些是工作方式指引,不是對模型行爲或所有委派路徑的強制保證。
這是什麼¶
XieHome 在 GitHub 上對應倉庫 wxid123/XieHome,當前版本爲 0.1.0,許可證 MIT。它不是單一腳本插件,而是 DSH 的 preset bundle:入口由 package.json 的 dsh.bundle.patch 指向 cordis.patch.yml,向 profile 聲明兩個穩定 id 的預設。
| 預設 id(穩定契約) | Loader 行 id | 用途 | 展示順序 |
|---|---|---|---|
conductor |
preset-conductor |
主會話編排,含 spawn / fork / workflow / ralph 的相應配置 | 21 |
conductor-child |
preset-conductor-child |
子任務獨立配置,省略 subagent_fork / workflow / ralph 工具行 |
21.1 |
兩份預設的插件列表與元數據分別維護,沒有父 → 子自動派生。父預設裏 subagent 的 spawn 顯式映射到子預設:
provider: spawn
toolName: subagent
maxDepth: 1
agentPreset: conductor-child
該映射只說明這條 spawn 路徑選用 conductor-child;fork、workflow、ralph 等仍須分別驗收,bundle 也不承諾「所有子代理都是葉子節點」。
核心功能(已覈實)¶
編排 persona 約定¶
主預設 conductor 的 persona(presets/conductor/agent.cordis.yml)在可觀測場景下引導模型先規劃,例如:多文件/多模塊、需先探索未知代碼、多個獨立子問題、需跨輪推進。核心約定包括:
- 用
todo_write記錄多步任務並隨完成更新。 - 獨立子問題同批委派,同批上限 4 個;有輸入依賴的任務串行。
- 一次讀文件、一次搜索或一條命令能完成的工作由當前代理直接做,不濫發子任務。
- 委派說明寫全目標、背景、輸入、約束、驗收與輸出要求。
- 派發後繼續本地工作,收回結果後記錄結論與決策。
- 真正需要跨輪執行的長期目標使用 goal 工具,並遵循當前工具契約與宿主限制。
子預設 conductor-child 的 persona 與插件列表可獨立調整(presets/conductor-child/agent.cordis.yml);persona 文本不代替實際的工具註冊、權限或運行時校驗。
包內資源¶
隨包提供英文與中文 locale(locale/en.json、locale/zh.json)及原創圖標 icon.svg;界面實際展示仍需安裝後檢查。README 註明 GitHub 與 npm 的發佈、真實 profile 安裝和市場收錄仍待獨立驗收。
安裝與啓用¶
資料不提供形如 dsh plugin add github:wxid123/XieHome 的 shell 安裝命令。已覈驗的示例是 DSH plugin_manager 工具參數(JSON),安裝會影響當前 profile 的全部會話。
先做清單查看:
{ "action": "list_bundles" }
再將 target 換成本地 bundle 的真實絕對路徑(指向包含 cordis.patch.yml 的目錄,例如 clone 或解壓後的 dsh-preset-conductor 根目錄):
{
"action": "install_bundle",
"target": "C:/ABSOLUTE_PATH/dsh-preset-conductor"
}
安裝後查看返回的 application、warnings 和可能的 nextStep:applied 表示配置已應用但仍需驗證預設與工具行爲;restart-required 表示需按原因重啓 Host 後再驗收;overridden、failed、cancelled 應按診斷處理,不能算作安裝通過。
在新會話中選擇預設 conductor。已有會話及其子代理保留啓動時的預設 revision,不要用舊會話證明升級已生效。本地目錄安裝鏈接本地 checkout,不自動跟蹤 GitHub 或 npm 更新;升級與發佈流程見倉庫內 docs/PUBLISHING.md。
典型用法(可復現流程)¶
- 完成 bundle 安裝並在新會話選用
conductor。 - 面對多步驟需求時,按 persona 先用
todo_write列計劃並更新狀態。 - 將互不依賴、可並行的子問題(最多 4 個一批)通過
subagent委派;子會話走conductor-child預設。 - 委派後繼續處理當前代理能直接完成的局部工作;子任務返回後彙總結論。
- 跨多輪的目標使用 goal 工具,而不是把所有長期意圖塞進單次 prompt。
維護者本地合成與檢查流程(面向改 preset 源配置後發佈前自檢,Node.js ≥ 20):
npm ci
npm run compose
npm test
npm run check
npm run check:package
修改源配置後應通過 npm run compose 重新生成 cordis.patch.yml,而不是手改生成物。
適用場景與注意¶
適合:需要在 DSH 主會話裏系統化「計劃 → 並行子任務 → 跨輪 goal」的開發者;願意分別審查 conductor 與 conductor-child 兩份配置的團隊。
注意:
- 插件/預設以當前 DSH 進程權限運行;安裝前宜閱讀倉庫源碼與 MIT 許可證,確認 bundle 內容是否符合你的環境策略。
- README 列出的 fork / workflow / ralph、深度限制、可選後端、中英文渲染等,多屬待真實 profile 驗收項,目前沒有據此聲明最低 DSH 版本矩陣。
- SkillHub 目錄頁(plugins/wxid123/XieHome)與 GitHub 同爲社區索引入口,與 DeepSeek / 幻方無官方從屬關係;npm 分發目標爲
dsh-preset-conductor@0.1.0。
結尾¶
XieHome(dsh-preset-conductor)把主會話編排與子任務預設拆成兩份可獨立維護的契約,用 persona 固定計劃、並行委派上限與 goal 的使用邊界,同時把 spawn 到 conductor-child 的映射寫進配置。若你要在 DSH 裏試驗 Conductor 工作流,可從倉庫 README 與 docs/PUBLISHING.md 入手,再用 plugin_manager 的 install_bundle 做本地驗收。
- 目錄頁:https://www.skillhub.cn/plugins/wxid123/XieHome
- GitHub:https://github.com/wxid123/XieHome