前言¶
在 DeepSeek Harness(DSH)這類“一切皆插件”的智能體環境中,單個插件能安裝,只說明它進入了運行時;多個插件能否圍繞同一目標協同修改、驗證、生效和恢復,是另一個問題。
dsh-loom(Loom / 織機)是面向 DeepSeek Harness 的 second-validator 插件。它提供一條可驗證的演進控制面:Actor 專注當前任務,Builder 在隔離環境中實現和測試,Verifier/Gate 負責裁決候選是否能整體生效。
這是什麼¶
dsh-loom 由 ZTCNO0NE 維護,許可證爲 MIT。它被描述爲一個靜默的外部教練,可以從使用歷史中編織 agent 的 tools、skills、config,甚至 model,並提供 deterministic verification 與 cold-apply。
已覈實的能力包括:
- Actor 自然語言 Plan/Execute 與持久任務卡(Verified)
- Config/新 Skill 隔離實現與獨立裁決(Verified)
- Builder 只讀方向診斷(Verified)
- 自然語言插件委託(v1.3.0 Preview)
- 最多三個插件聯合源碼演進(v1.3.0 Preview)
- 確定性插件生命週期(v1.3.0 Preview)
- package-aware 原子激活/恢復(v1.3.0 Preview)
- 通用插件安裝、更新、移除與恢復(v1.3 Preview · Verified E2E)
- 多插件源碼協同與原子 Profile 激活(v1.3 Preview · Verified E2E)
版本邊界需要注意:v1.3.0 Preview 已發佈自然語言插件委託、最多三個插件聯合源碼演進、確定性插件生命週期與 package-aware 原子激活/恢復。首發插件事務只在可識別的 DSH 源碼 checkout 中啓用真實 cold Loader;普通全局 CLI 安裝繼續提供 v1.2 Config/Skill 能力,但不會假裝插件事務 ready。複雜 Loop 更換仍是 Research。
核心機制¶
dsh-loom 把演進過程拆成幾類職責,避免 Builder 自己實現、自己驗收、自己放行。
1、Actor 負責當前任務上下文:解析目標、提出候選、解釋風險,並保留可查詢的任務卡狀態。
2、Builder 負責隔離實現與測試。它可以探索和實現,但不能選擇 live 目標、擴展事務範圍或放行自己。
3、Verifier 讀取凍結候選,不接受 Builder 臨時改寫的驗收規則。
4、Gate 是唯一安裝與恢復權限持有者。
在這些邊界內,dsh-loom、DSH、憑據、Verifier/Gate 始終不屬於普通演進目標。它明確不做:
- 自動 npm publish
- 無來源修改
- Builder 自批
- 自改 Loom/Verifier/Gate
- 用單 patch Gate 假裝組合原子
安裝與啓用¶
前提:DeepSeek Harness 已能運行;Node ^22.19 或 >=24;Python >=3.10。
1、先配置憑據。可以在 DSH Settings/Models 或 $DSH_HOME/.credentials.yaml 配置 DEEPSEEK_API_KEY。Builder 默認複用這份憑據,不需要把 key 發進對話。
2、安裝 dsh-loom 1.3.0:
pnpm dsh plugin --profile web add dsh-loom@1.3.0
3、檢查 DSH 配置中是否出現 Loom 相關校驗入口:
pnpm dsh web --dump-config
輸出中應包含 meta-validate。
4、安裝隔離實現 runtime。
Windows PowerShell:
$env:DSH_META_VALIDATE_ROOT = "$env:USERPROFILE\.dsh\meta-validate"
$runtimeRoot = Join-Path $env:USERPROFILE ".dsh\meta-validate\runtime\mini-swe-agent-2.4.6"
powershell -ExecutionPolicy Bypass `
-File "$env:USERPROFILE\.dsh\profiles\web\node_modules\dsh-loom\bin\setup-windows.ps1" `
--runtime-root $runtimeRoot
node "$env:USERPROFILE\.dsh\profiles\web\node_modules\dsh-loom\bin\dsh-loom.mjs" start --profile web --runtime-root $runtimeRoot
macOS / Linux:
export DSH_META_VALIDATE_ROOT="$HOME/.dsh/meta-validate"
runtime_root="$HOME/.dsh/meta-validate/runtime/mini-swe-agent-2.4.6"
sh "$HOME/.dsh/profiles/web/node_modules/dsh-loom/bin/setup-unix.sh" \
--runtime-root "$runtime_root"
node "$HOME/.dsh/profiles/web/node_modules/dsh-loom/bin/dsh-loom.mjs" \
start --profile web --runtime-root "$runtime_root"
5、保持 Web 進程運行,打開:
http://localhost:3080
典型用法¶
下面是一些來自已覈實示例的自然語言請求,可用於觀察 Plan、隔離實現、裁決和恢復鏈路。
單插件或 Config/Skill 類請求:
給我加一個發佈前檢查配置的技能,先展示計劃,不要直接安裝。
確認執行後,流程爲:後臺隔離實現 → Verifier/Gate 裁決 → 返回已生效或未生效。
查詢演進狀態:
演進進度怎麼樣?
查看當前插件:
列出當前插件
多插件協同演進示例:
把 dsh-cost 的統計增加模型維度,先給計劃
讓 cost 與 notify 聯動,組合驗收後再整體生效
恢復上一插件組合
多插件任務還需要宿主預先配置獨立 integrationCommand。Actor 不會讓 Builder 自己發明驗收。
適用場景與注意¶
適合:
- 需要讓 DSH 中的 Config、新 Skill 變更保持可計劃、可驗證、可查詢的開發者;
- 需要讓多個插件圍繞同一目標進行聯合源碼演進、組合驗收、原子激活和恢復的團隊;
- 希望把 Builder、Verifier、Gate 的職責分開,避免實現者自行放行的 DSH 插件開發者。
注意:
- dsh-loom 以當前 dsh 進程權限運行,安裝前應檢查源碼、依賴與 MIT 許可證;
DEEPSEEK_API_KEY應放在 DSH 憑據配置或$DSH_HOME/.credentials.yaml中,不要寫進對話;- v1.3.0 Preview 的插件事務能力依賴 DSH 源碼 checkout 與
dsh-loom start路徑; - 普通全局 CLI 安裝只提供 v1.2 Config/Skill 能力,不意味着完整插件事務 ready;
- 多插件任務需要宿主配置
integrationCommand; - 複雜 Loop 更換仍是 Research,不能把 Preview 能力外推到任意複雜重構必然成功;
- 不要依賴它自動執行 npm publish,也不應允許 Builder 自批或自改 Loom/Verifier/Gate。
鏈接¶
倉庫:https://github.com/ZTCNO0NE/dsh-loom
許可證:MIT