DeepSeek Harness 插件:dsh-fs-deny-policy

前言

DeepSeek Harness (DSH) 的核心理念是“一切皆插件”。在構建智能體應用時,沙箱機制通常能限制寫入操作,但讀取權限往往保留。dsh-fs-deny-policy 插件填補了這一空白,它通過文件系統根目錄的拒絕列表,在模型發起讀取、搜索或 Shell 調用之前進行攔截,防止模型觸碰敏感目錄。

插件介紹

這是一個由 vladlearns 維護的 DSH 插件,旨在提供部署級的文件系統訪問控制。它不依賴複雜的沙箱配置,而是直接在工具執行前對路徑進行校驗。

核心功能

  1. 全類型攔截:在 tools/pre-execute 鉤子處攔截讀取、寫入、搜索和 Shell 工具調用。
  2. 根目錄拒絕列表:一旦工具調用的路徑解析結果落在被拒絕的根目錄內,該調用將被阻斷。
  3. 前置告知:插件會將拒絕列表作爲系統提示的一部分發送給模型,使其在調用前就知曉限制,避免無效對話。

安裝與啓用

安裝前需確保環境滿足 Node.js 22.19 或更高版本,並已安裝 dsh CLI。

使用 npm 包安裝:

npx @deepseek-ai/dsh plugin --profile main add dsh-fs-deny-policy

如需從 GitHub 安裝以使用特定版本:

npx @deepseek-ai/dsh plugin --profile main add github:vladlearns/dsh-fs-deny-policy

注意:添加或移除插件需要重啓 DSH 進程。

配置方法

配置文件位於 ~/.dsh/profiles/YOUR_PROFILE/cordis.patch.yml。以下示例將禁止訪問 SSH 目錄和許可證文件:

- id: fs-deny-policy
  config:
    deniedRoots:
      - C:/Users/you/.ssh
      - C:/Users/you/Desktop/license-dongle

注意:
- 路徑必須爲絕對路徑。相對路徑或重複條目會在加載時報錯。
- 插件安裝後再編輯此配置文件,修改會實時生效。
- 若只需禁止寫入而允許讀取,可設置 fenceReads: false(寫入側始終開啓)。

驗證配置

安裝並配置完成後,使用以下命令驗證配置是否正確寫入:

npx @deepseek-ai/dsh --profile main --dump-config

適用場景與注意事項

  • 適用場景:需要保護特定敏感目錄(如 SSH 密鑰、許可證文件、生產配置)不被模型讀取或修改的場景。
  • 安全性:該插件以當前 DSH 進程的權限運行,安裝前應檢查源碼與許可證。
  • 侷限性:Shell 檢查僅讀取命令文本,不實際執行 Shell,因此間接路徑(如 $VAR、$(...)、重定向符)可能繞過攔截。
  • 防禦縱深:建議將其與沙箱配合使用以獲得硬 guarantee,而非替代它。

總結

通過在工具執行前建立文件系統圍欄,該插件爲智能體提供了額外的安全層。更多配置細節可參考插件目錄與源碼倉庫。

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

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

小夜