前言¶
在 DeepSeek Harness(DSH)裏,插件可以擴展智能體的工作方式。對編碼類任務來說,風險常常不在於“能不能跑命令”,而在於連續改文件、改代碼、跑驗證時,缺少明確的任務邊界、審批記錄和可回查的證據。
dsh-safe-workflow 是一個獨立的 DSH 插件,用於讓編碼工作流更受控、更可驗證:它會在模型調用工具前加入策略檢查,並在執行過程中留下任務合同、審批、檢查點和驗證記錄。
下面介紹它的能力、本地安裝方式、一個典型用法,以及它不是沙箱的限制。
這是什麼¶
dsh-safe-workflow 是一個 DeepSeek Harness 插件,維護者是 cnwutianhao,許可證爲 MIT。
它的目標不是替代 DSH 的沙箱,而是在 DSH 工作流中加入更明確的約束:任務合同、路徑規則、審批門、檢查點、驗證記錄和盡力而爲的文件快照。
核心能力¶
插件向模型暴露一個工具:safe_workflow。它支持以下操作:
start:創建任務合同;status:查看當前活動合同;checkpoint:對選定工作區狀態做快照;restore:恢復某個檢查點;verify:運行驗證命令並記錄輸出;close:關閉合同。
插件還會安裝兩個 DSH 原生策略監聽器:
tools/pre-execute:在變更類工具執行前檢查路徑規則,並請求審批;tools/execute:在變更發生前創建自動的、盡力而爲的檢查點。
插件會把狀態寫入當前會話工作區下的 .dsh-safe-workflow/ 目錄:
.dsh-safe-workflow/
contract.json
audit.jsonl
checkpoints/
其中:
contract.json:保存活動任務合同和驗證記錄;audit.jsonl:以追加方式記錄會話、工具和檢查點證據;checkpoints/:保存檢查點清單和複製的文件。
安裝與啓用¶
插件說明給出的安裝方式是本地 DSH source checkout 插件安裝,使用 PLUGIN_DIR 指向插件目錄;未提供 npm registry 安裝命令。
先完成插件構建,然後在 DSH checkout 中執行:
DSH_DIR=/path/to/deepseek-harness
PLUGIN_DIR=/path/to/dsh-safe-workflow
cd "$DSH_DIR"
pnpm dsh plugin --profile web add "$PLUGIN_DIR"
安裝後,插件會出現在 DSH 插件列表中,並啓用在 Web profile。你可以通過 DSH 插件列表或配置輸出來確認。
典型用法¶
一個示例任務可以這樣描述:
Start a safe workflow titled "Fix parser regression".
Goal: fix the parser regression without changing public APIs.
Acceptance checks: run npm test and npm run typecheck.
Only allow changes under src/ and test/.
Require approval before bash, write, edit, or str_replace_editor.
這裏把任務目標、驗收命令、允許修改的路徑、需要審批的工具都寫進合同。
實現完成後,可以讓智能體運行 safe_workflow verify 執行驗收;只有驗收通過時,再運行 safe_workflow close 關閉合同。
當某個會修改狀態的工具即將執行時,審批門會說明請求操作,由你選擇批准或保持合同不變。
適用場景與注意¶
它適合希望給 DSH 編碼任務增加顯式邊界的使用場景:限制路徑、要求審批、留下驗證和檢查點記錄。
需要特別注意:它是 workflow guard,不是進程沙箱。插件運行在宿主進程中,擁有宿主進程權限。它提供策略、證據和盡力而爲的文件快照,但不承諾對任意 shell 副作用、網絡操作、數據庫或未包含在檢查點中的文件做原子回滾。
如果用於生產環境,建議:
- 審查插件源碼;
- 固定插件版本或 commit;
- 如需要,將
.dsh-safe-workflow/放在敏感倉庫之外; - 保持 DSH 正常的沙箱和審批層啓用。
參考¶
- 目錄頁:https://www.skillhub.cn/plugins/cnwutianhao/dsh-safe-workflow
- GitHub:https://github.com/cnwutianhao/dsh-safe-workflow