DeepSeek Harness (DSH) 採用插件化架構,支持在 WSL 環境中運行。在進行文件搜索時,直接調用系統工具存在權限與安全風險。本文介紹 dsh-wsl-search 插件,它通過沙箱機制封裝了 ripgrep、fd 和 ast-grep,將搜索行爲限制在指定的目錄範圍內。
是什麼¶
dsh-wsl-search 是一個爲 DeepSeek Harness WSL 環境設計的插件。它提供了沙箱化的 ripgrep、fd 和 ast-grep 工具,默認將搜索範圍限制在 $HOME 和 ~/.dsh 目錄下。該插件由用戶 173787247 維護,遵循 MIT 許可證。
核心功能¶
插件主要提供以下能力:
- 工具可用性檢查:確認
rg/fd/ast-grep在當前環境是否可用。 - 內容搜索:支持基於內容的檢索,對行數和行長設有上限。
- 按文件名查找:使用
fd邏輯進行快速文件名匹配。 - 結構化模式搜索:支持使用
ast-grep進行代碼結構的模式匹配。
安裝與啓用¶
安裝前需確保環境滿足以下條件:
- DeepSeek Harness 版本 >= 0.1.2
- Node.js >= 18
- WSL 環境中已安裝 ripgrep 和 fd
執行以下步驟進行安裝:
# 1. 安裝系統依賴
sudo apt install ripgrep fd-find
# 2. 安裝插件
dsh plugin --profile web add github:173787247/dsh-wsl-search
配置與用法¶
插件通過 config 字段進行配置,主要控制搜索的行數限制、匹配數量上限以及允許搜索的根目錄。默認情況下 allowRoots 爲空,表示僅允許在 $HOME 和 ~/.dsh 下搜索。
config:
enabled: true
timeoutMs: 30000
maxMatches: 50
maxLineChars: 400
allowRoots: [] # 空數組 = 默認 HOME + ~/.dsh
要搜索項目目錄,需將絕對路徑添加進 allowRoots,但切勿添加根目錄 / 以防止權限失控。
插件提供的命令包括:
search_status:檢查工具可用性。search_rg:內容搜索。search_fd:按文件名查找。search_astgrep:結構化模式搜索。
適用場景與注意¶
該插件通過 allowRoots 機制限制搜索路徑,默認僅允許在 $HOME 和 ~/.dsh 下操作,這符合安全沙箱的原則。使用時需注意,插件在當前 dsh 進程的權限上下文中運行。在安裝前,建議檢查 GitHub 源碼與許可證(MIT)。
dsh-wsl-search 提供了安全、可控的文件搜索能力,適合需要在 WSL 環境下進行文件分析的智能體或工具鏈。完整配置與源碼見下方鏈接。