前言¶
在 DSH 裏運行智能體時,工具調用的審批很容易陷入兩個極端:每次調用都人工確認,或者放開權限減少打擾。前者影響效率,後者會放大誤操作風險。
下面介紹 dsh-tiered-approval。它是爲 DeepSeek Harness(DSH)寫的分級自動審查插件,用靜態規則、LLM 審查和人工確認三層裁決,替代“全確認”或“全放權”的簡單做法。
這是什麼¶
dsh-tiered-approval 是 Elaina-real 爲 DSH 寫的插件,採用 MIT 許可。它解決的是 DSH 工具調用審批問題:讓安全且可恢復的調用減少彈窗,讓不可逆操作被直接攔下,讓拿不準的調用交給人工確認。
它不是一個獨立的安全系統,而是 DSH 審批流程裏的一個安全決策起點。使用它時,仍需要結合自己的威脅模型調整規則。
核心機制¶
靜態規則安全網¶
靜態規則是第一層,特點是確定性強、不調用模型。插件內置危險命令安全網,也允許追加 deny / allow 正則規則。
對於遞歸刪除、格式化、強推 git、寫系統目錄、殺進程等不可逆操作,靜態規則命中後會直接拒絕,不彈窗,也不調模型。
這一層的目標是先把高風險動作攔下來,避免把明顯危險的調用交給後續審查。
LLM 審查員¶
靜態規則沒有裁決的調用會進入第二層:LLM 審查員。
審查員會對工具調用做判斷,結果是 allow、deny 或 ask。審查幀會包含最近一條用戶消息,用來輔助判斷調用是否與用戶意圖一致。
如果審查不可用,或審查員給出 ask,流程會進入人工兜底。
人工兜底與省事檔¶
人工兜底負責處理拿不準的調用,彈原生確認框讓用戶決定。
插件還提供兩個可配置項:
autoApproveAligned:審查結果爲allow,且用戶指令與該調用高度對齊時,免彈窗放行。alignDeny:靜態deny命中的不可逆操作,如果用戶明確點名要做,可降級爲人工確認,而不是直接硬拒。
審查強度會自動跟隨 Access 選擇器,包括 read-only、workspace-write、danger-full-access。
安裝與啓用¶
安裝命令如下:
dsh plugin --profile web add dsh-tiered-approval
裝完後需要在 cordis.patch.yml 中掛載插件,然後重啓 DSH。最小配置如下:
# ~/.dsh/profiles/<profile>/cordis.patch.yml
- insert:
- id: tiered-approval
name: 'dsh-tiered-approval'
驗證安裝時,運行:
dsh --profile web --dump-config
確認輸出中出現 dsh-tiered-approval 層。
典型用法¶
測試靜態安全網時,可以執行一次包含危險遞歸刪除的命令。示例命令如下:
Remove-Item ... -Recurse -Force
預期結果是:該調用被直接拒絕,且不彈人工確認框。
運行期間查看審查狀態,使用:
/auto-review status
可以看到決策計數和最近決策。
升級和移除命令如下:
dsh plugin --profile web add dsh-tiered-approval@latest
dsh plugin --profile web remove dsh-tiered-approval
配置要點¶
常用配置項包括:
deny:追加硬拒絕規則。allow:追加自動放行規則。answerer.allowModes:審批應答者允許自動批准的升權模式。answerer.allowJustifications:升權理由命中時允許自動批准的正則。answerer.denyJustifications:升權理由命中時自動拒絕的正則。autoApproveAligned:省事檔開關,審查allow且用戶指令高度對齊時免彈窗放行。alignDeny:靜態deny命中的不可逆操作在用戶明確點名時降級爲人工確認。
審查強度會跟隨 Access 選擇器變化。如果切到 Full access,預設會把審批策略設爲 never,此時審查員給出 ask 會變成確定性拒絕。若需要保留人工兜底,就不要切 Full access。
適用場景與注意¶
適合:希望減少逐次確認、但不想直接放開全部權限的 DSH 使用場景。尤其適合在 read-only、workspace-write、danger-full-access 之間需要更細粒度審批判斷的場景。
使用前注意:
- 這是純 vibe coding 產物,未經安全審計、與 DeepSeek 官方無關、不提供擔保。
- 插件代碼在
node_modules,HMR 不追蹤;修改代碼後必須重啓。 - 開啓審查時,工具完整參數和最近一條用戶消息會發給審查模型;審查幀可能包含敏感文本。
- 插件是安全決策起點,不是信任邊界。安裝前應閱讀
lib/index.js,按自己的威脅模型調整規則,並在真正在意的事情上保留人工兜底。 - Windows 的 pwsh 規則集已實測;POSIX 的 bash 規則集爲理論兼容,未實測。
鏈接¶
- 項目目錄頁:https://www.skillhub.cn/plugins/Elaina-real/dsh-tiered-approval
- GitHub:https://github.com/Elaina-real/dsh-tiered-approval
以上鍊接爲項目發佈地址和代碼倉庫地址,不代表 DeepSeek 官方推薦或官方應用商店。