前言¶
在 DeepSeek Harness(DSH)裏,智能體常常要「規劃步驟、真跑命令、看退出碼、留證據」。如果這些都交給模型即興發揮,很容易出現命令沒跑卻聲稱通過、角色互相污染上下文、只讀複覈偷偷改文件等問題。社區插件 dsh-arch(維護者 dashi666666-zxp,分類:工作流)把兩件事寫進插件代碼:一是 arch_run 的「規劃 → 執行 → 校驗 → 回執」四層終端流水線;二是 arch_flow 的固定多角色陣型與 fail-closed 硬約束。當前版本爲 v0.9.0(以倉庫 package.json 爲準)。
下面按定位、工具能力、安裝與示例用法說明,便於你在本機 DSH 裏覈對行爲。
這是什麼¶
dsh-arch 是 DSH 的架構類插件:任務步驟落在系統終端裏執行(bash / cmd / PowerShell),不依賴第三方 npm 包(純 Node ESM)。arch_run 受理後,後續由插件自己的終端執行器推進,不經過模型續寫執行結果。
多角色場景用 arch_flow:順序固定的「拆分 → 路徑 → 對抗性複覈(只讀)→ 規劃 → 隔離 → 修改 → 工作 → 驗證方(≥2)」;默認 sessionPolicy: "spawn",由插件通過 subagents.startActivation 創建真實子會話,強隔離與陣型規則在代碼裏判定,違反則直接拒絕或 FAIL(fail-closed)。
- 目錄頁:https://www.skillhub.cn/plugins/dashi666666-zxp/dsh-arch
- 源碼:https://github.com/dashi666666-zxp/dsh-arch
- GitHub 星標:0(以倉庫頁面爲準)
SkillHub 是社區目錄站點,與 DeepSeek / 幻方無官方從屬關係;安裝前建議自行閱讀倉庫源碼與許可說明。
核心功能¶
四層流水線(arch_run)¶
插件把單次任務固定爲四層,且動作落在終端:
規劃層 plan 把任務拆成有序步驟(標題 / cwd / 期望)
↓
執行層 exec 每個步驟 = 一條系統終端命令,真起子進程
↓
校驗層 verify 退出碼 / 輸出正則(expect);allowFail 可降級爲警告
↓
回執層 receipt 回執落盤 + 每步完整終端日誌
運行狀態包括 done / warn / failed / stopped;單步還可 skipped。支持 background: true 立即返回運行 id;v0.6.0 起可通過 terminal(auto / pty / process)選擇是否走宿主 ctx.terminals 持久 PTY 會話。
工具一覽¶
| 工具 | 作用 |
|---|---|
arch_run |
提交計劃並在系統終端執行 |
arch_flow |
多角色固定陣型 + 終端執行 + 子會話隔離 |
arch_status |
查詢回執(可省略 id 列最近運行) |
arch_log |
讀取某步驟終端日誌尾部 |
arch_stop |
停止任務(需 id,或 all: true 全停) |
arch_flow:陣型與 GATE 邊界¶
陣型順序寫死,不可重排。硬約束包括但不限於:六個工作角色各一次、adversarial 必填、verifiers.length >= 2、依據文檔 sha256 不得撞車、對抗性複覈只讀監視 watch 目錄、驗證方加權分與獨立證據要求等。違例時往往一條終端命令都不跑,或整條流 FAIL。
v0.8.0 起文檔明確:GATE PASS 只證明陣型按規則跑完且證據形式合格,不證明被引文檔或結論本身正確;結論正確性由主會話(mainSession)另行覈驗。v0.9.0 起「內容級證據」覈對驗證方回執中的摘錄是否逐字出現在被引文檔中(≥12 字符,空白歸一),用於排除未讀就編造,但不證明摘錄能支撐結論。
每次陣型落盤 <home>/flows/<flowId>/gate.json(含隔離臺賬、終端檯賬、技能下發、守衛、驗證權重等);支持 v0.8.0 的 resumeFlowId 斷點續跑(已完成階段跳過、失敗階段重跑)。
其他已文檔化能力(節選)¶
- 每個角色可有獨立系統終端(默認
terminal: "plugin"),日誌進gate.terminals。 - 按任務與角色職責從 DSH 活體
skills服務關鍵詞下發技能(可skills.enabled: false關閉)。 console: true(v0.5.1)可在 Windows 上開可見 Terminal 窗口;缺wt.exe時失敗,不靜默退回隱藏模式。- v0.7.0:
maxParallel控制驗證方與對抗性複覈下級之間的併發上限(默認 3)。 - v0.9.0:
snapshotHashMaxBytes、只讀違規可還原、驗證方quotes內容級證據、attacks[]必填target與failure_mode。
安裝與啓用¶
SkillHub 給出的面向 DSH 的安裝提示如下(原文照錄,具體「先讀取」步驟以目錄頁完整文案爲準):
請安裝 DSH 插件 dashi666666-zxp/dsh-arch。先讀取..
建議在 Harness 中按上述指示安裝,並打開 目錄頁 與 GitHub README 覈對最新說明。插件以當前 DSH 進程權限在宿主機執行終端命令,安裝前應檢查源碼與許可。
典型用法¶
arch_run:構建並自檢¶
下面示例來自 README:多步計劃、超時、輸出期望與可選失敗步驟。
{
"title": "構建並自檢",
"cwd": "C:\\work\\proj",
"stopOnFail": true,
"background": false,
"plan": {
"steps": [
{ "name": "編譯", "cmd": "npm run build" },
{ "name": "測試", "cmd": "npm test",
"timeoutMs": 180000,
"expect": { "exitCode": 0, "match": "passed", "notMatch": "FAIL" } },
{ "name": "可選檢查", "cmd": "npm run lint", "allowFail": true }
]
}
}
單步必填 cmd(整句交給 shell);可選用 cwd、timeoutMs、expect(exitCode / match / notMatch)、allowFail。
arch_flow:提交多角色任務¶
調用時需指明 mainSession(主會話只覈驗)、watch 監視根、驗證閾值等;子會話由插件創建,調用方不得傳 session / receipt 冒充角色。節選字段示例如下(完整參數見 README):
{
"title": "把 XX 任務按陣型跑完",
"mainSession": "session-<主會話 id>",
"cwd": "C:\\work\\proj",
"watch": ["."],
"passThreshold": 0.6,
"maxParallel": 3,
"resumeFlowId": "flow-xxxx-yyyy",
"snapshotMaxFiles": 2000
}
跑完後用 arch_status 看裁決摘要,用 arch_log 查某步終端輸出;需要中斷時用 arch_stop 並帶上運行 id。
適用場景與注意¶
適合誰: 需要把「計劃步驟 + 真跑命令 + 可複查日誌」固化下來的 DSH 用戶;需要多角色分工(含只讀紅隊複覈與多方驗證),且希望規則由代碼強制執行、而不是僅靠 prompt 自律的團隊。
使用注意:
- 宿主需提供
subagents.startActivation,否則 spawn 口徑下 fail-closed,無法用聲明 id 冒充子會話。 - 對抗性複覈的「只讀還原」僅覆蓋
watch內文件;數據庫、網絡等外部副作用不可回滾。 - 監視快照有
snapshotMaxFiles(默認 2000)等上限,截斷會記 warning,未納入快照的路徑不參與只讀判定。 - GATE PASS 不等於業務結論正確;上線決策仍應在主會話結合終端日誌與實文件複覈。
- 星標與版本以 GitHub 爲準;插件迭代快,字段以對應版本 README 爲準。
結尾¶
dsh-arch 把 DSH 裏的重活拆成可重複的終端流水線與固定陣型,並把陣型、隔離、只讀、證據形式等約束下沉到插件代碼。若你正在編排複雜工作流,可從 arch_run 單流驗證起,再按需啓用 arch_flow 與斷點續跑。