dsh-wsl-search:WSL 沙箱化搜索工具

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 环境下进行文件分析的智能体或工具链。完整配置与源码见下方链接。

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

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

小夜