DeepSeek Harness (DSH) 採用插件化架構,允許用戶通過配置文件擴展功能。在某些場景下,開發者需要 GPU 訪問權限以運行模型推理,但又必須嚴格限制對文件系統的寫入操作。dsh-full-with-approval 插件通過引入“全計算訪問 + 寫入審批”的混合模式,填補了這一空白。
插件簡介¶
由 zjuhbh 維護的 DSH 配置文件插件。它不修改 DSH 核心包,而是通過掛載層引入第四個權限預設 full-with-approval。其核心價值在於:在保持 danger-full-access 沙箱模式(支持 GPU、網絡、設備)的同時,對工作區外的寫入或對受保護文件的寫入增加了一次性審批機制。
核心功能¶
- 全計算訪問:激活該預設後,會話沙箱模式爲
danger-full-access,進程運行無限制,CUDA、GPU、設備及網絡訪問均不受阻。 - 寫入操作審批:當執行
write或edit操作時,如果目標是工作區外文件或工作區內受保護文件(默認爲.git/**、.env*),系統會通過交互式提示請求一次性審批。未通過或取消審批則操作失敗。 - Shell 修改審批:通過
bashGuard啓發式規則,檢測 shell 命令中是否有修改文件外部的證據(如重定向>,chmod,rm,python -o等)。僅包含讀取操作(如cat,ls)的命令可無提示執行。 - 非侵入式設計:插件通過
cordis.patch.yml掛載,不影響 DSH 核心代碼。
安裝與啓用¶
在 DSH profile 目錄下執行以下命令安裝:
dsh plugin --profile web add ./dsh-full-with-approval
安裝完成後,重啓或刷新 Web UI 以加載插件。也可以使用絕對路徑或 npm 包名進行安裝。
使用方法¶
- 激活預設:在命令行輸入
/permission full-with-approval,或在 Web UI 的權限選擇器中選擇“Full With Approval”。 - 執行操作:當嘗試寫入受保護文件或外部文件時,系統會彈出審批窗口。
- 切換預設:隨時可以切換回
workspace-write、danger-full-access或read-only預設,審批機制隨之生效。
配置項¶
通過覆蓋 cordis.patch.yml 中的配置,可以調整受保護路徑和審批規則:
- id: full-with-approval
config:
# POSIX 相對路徑的通配符匹配,或絕對路徑
protectedPaths:
- ".git/**"
- ".env*"
# 除了平臺臨時目錄外,絕對路徑的額外可寫根目錄(不會觸發審批)
extraWritableRoots: []
# 是否啓用 Shell 守衛層(默認 true)
bashGuard: true
# 強制觸發審批的額外子字符串
extraBashTokens: []
已知限制與注意事項¶
- 圖標缺失:Web UI 的圖標來自核心客戶端的值鍵表,插件新增的預設無法提供自定義圖標。
- 代碼執行不檢查:
run_code/ code-mode 執行不被檢查文件效應,僅檢查原生write/edit和 shell 命令。 - 路徑邊界判定:使用規範路徑進行比對,Windows 8.3 等符號鏈接別名可能導致邊界判定具有建議性,內核層面的沙箱限制仍是權威。
- Shell 限制機制:Shell 寫入受啓發式限制而非內核限制,命令可通過動態路徑構建、
cd後相對寫入等方式規避檢查。
該插件適用於需要在 DSH 環境中獲得 GPU 能力但又必須嚴格管控文件寫入權限的管理場景。使用前請務必檢查源碼與許可證。