DeepSeek Harness 插件:dsh-full-with-approval

DeepSeek Harness (DSH) 採用插件化架構,允許用戶通過配置文件擴展功能。在某些場景下,開發者需要 GPU 訪問權限以運行模型推理,但又必須嚴格限制對文件系統的寫入操作。dsh-full-with-approval 插件通過引入“全計算訪問 + 寫入審批”的混合模式,填補了這一空白。

插件簡介

由 zjuhbh 維護的 DSH 配置文件插件。它不修改 DSH 核心包,而是通過掛載層引入第四個權限預設 full-with-approval。其核心價值在於:在保持 danger-full-access 沙箱模式(支持 GPU、網絡、設備)的同時,對工作區外的寫入或對受保護文件的寫入增加了一次性審批機制。

核心功能

  1. 全計算訪問:激活該預設後,會話沙箱模式爲 danger-full-access,進程運行無限制,CUDA、GPU、設備及網絡訪問均不受阻。
  2. 寫入操作審批:當執行 write 或 edit 操作時,如果目標是工作區外文件或工作區內受保護文件(默認爲 .git/**、.env*),系統會通過交互式提示請求一次性審批。未通過或取消審批則操作失敗。
  3. Shell 修改審批:通過 bashGuard 啓發式規則,檢測 shell 命令中是否有修改文件外部的證據(如重定向 >, chmod, rm, python -o 等)。僅包含讀取操作(如 cat, ls)的命令可無提示執行。
  4. 非侵入式設計:插件通過 cordis.patch.yml 掛載,不影響 DSH 核心代碼。

安裝與啓用

在 DSH profile 目錄下執行以下命令安裝:

dsh plugin --profile web add ./dsh-full-with-approval

安裝完成後,重啓或刷新 Web UI 以加載插件。也可以使用絕對路徑或 npm 包名進行安裝。

使用方法

  1. 激活預設:在命令行輸入 /permission full-with-approval,或在 Web UI 的權限選擇器中選擇“Full With Approval”。
  2. 執行操作:當嘗試寫入受保護文件或外部文件時,系統會彈出審批窗口。
  3. 切換預設:隨時可以切換回 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 能力但又必須嚴格管控文件寫入權限的管理場景。使用前請務必檢查源碼與許可證。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜