前言¶
DeepSeek Harness 將智能體開發分爲宿主平面(沙盒、模型路由、持久化)和智能體平面(工具、人設、提示詞)。一旦會話的預設被鎖定,就無法在不中斷日誌記錄的情況下熱切換工作智能體的工具集。dsh-generation 插件通過記錄血統,允許複製已知良好的預設,使用常規 fs/bash 工具編輯該副本,然後在其上啓動一個新的工作會話。
它是什麼¶
這是一個 DeepSeek Harness 插件,用於分叉智能體預設並在下一代運行任務。它由 goecho 維護,屬於工作流分類,許可證爲 MIT。
核心功能¶
插件提供以下核心能力:
1. 分叉智能體預設:複製現有的智能體預設(如 standard、minimal 或 ptc)。
2. 在下一代運行任務:在分叉後的預設上執行任務。
3. 記錄血統:通過 meta session 的日誌記錄工具調用和結果。
4. 創建新的工作會話:建立獨立的工作環境。
5. 工具註冊:在宿主配置文件中全局註冊工具。
安裝與啓用¶
通過命令行安裝插件到宿主配置文件:
dsh plugin --profile web add github:goecho/dsh-generation
安裝後,需要重啓 dsh --profile web 以使宿主配置文件重新加載。
典型用法¶
插件提供了兩個主要工具:generation_fork 和 generation_run。
generation_fork¶
該工具用於複製預設。它調用 agentPresets.copy(from, id) 並將目的寫入新預設的 preset.yml 描述中。
參數說明:
* from (必填):要複製的預設 ID。建議使用 standard、minimal 或 ptc。
* id (必填):新預設 ID,格式需符合 /^[a-z0-9][a-z0-9-]*$/,且不能已存在。
* purpose (必填):寫入新預設描述的一句話。
返回值:
{ "ok": true, "id": "...", "from": "...", "purpose": "...", "path": "...", "compositionPath": "..." }
generation_run¶
該工具用於在分叉的預設上執行任務。它會在批准後創建一個代理,掛載該預設,執行 followup(task),等待直到空閒或超時,然後清理。
參數說明:
* preset (必填):掛載到新工作會話的預設 ID。不能是 cordis。
* task (必填):傳遞給 Worker 的自包含後續任務。Worker 無法看到 meta 會話的歷史。
返回值:
{ "ok": true, "sessionId": "...", "presetId": "...", "stopReason": "...", "toolsUsed": [...], "lastAssistantText": "..." }
適用場景與注意事項¶
適用場景¶
適合需要基於現有可靠預設進行迭代開發、修改配置或嘗試新行爲的場景。通過鏈式調用,可以在元會話中不斷分叉、編輯並運行新會話。
限制與注意事項¶
- 非替代品:它不是 Creator 模式(cordis 預設)或
cordis_define/cordis_run的替代品,也不用於重排當前會話或給子代理更換預設。 - 無依賴:插件不依賴
@deepseek-ai/dsh-tools或@deepseek-ai/dsh-llm。工具以原始定義註冊,避免模塊身份分裂。 - 全局註冊:工具在宿主配置文件中全局註冊,並會從非 Creator 會話中隱藏。
- 重啓要求:安裝後必須重啓
dsh --profile web。 - Worker 限制:Worker 預設不能是
cordis,且不能包含@deepseek-ai/dsh-tool-cordis插件行。 - 安全性:將一個可以分叉和運行的 Creator 會話視爲 Shell 訪問。每個 fork 和 run 都需要人工批准。
總結¶
dsh-generation 旨在通過“Make,而非 Compiler”的哲學,爲智能體開發提供一種基於副本迭代的構建方式,而非對正在運行的會話進行修補。