DeepSeek Harness (DSH) 插件:zhourenke/dsh-tool-everything

在构建基于 DSH 的智能体或工具流时,模型往往受限于当前工作区,或需要手动执行外部命令来检索文件。这导致搜索效率低、语法门槛高。为解决这一问题,可以使用基于 voidtools Everything 引擎的文件搜索工具。

该插件为 DSH 模型提供了一个名为 everything_search 的工具,利用 Everything 的 NTFS 索引,在 Windows 上实现毫秒级的全盘文件检索。它支持完整的 Everything 搜索语法,并允许模型直接获取文件的元数据信息,无需开发者编写复杂的脚本。

前置条件

使用该插件前,需满足以下环境要求:

  1. 操作系统:仅支持 Windows 系统(基于 NTFS 卷)。
  2. 软件依赖:必须安装并运行 Everything 软件。
  3. 命令行工具:es.exe(Everything 的命令行客户端)必须在系统 PATH 环境变量中。

验证环境是否就绪:

es -h

若能返回帮助信息,则环境配置正确。

安装与启用

通过 DSH 的插件管理器安装:

dsh plugin --profile web add "github:zhourenke/dsh-tool-everything"

安装完成后,重启 DSH 进程,模型即可调用 everything_search 工具。

核心功能

该工具提供以下能力:

  • 全盘搜索:基于 Everything 索引,不局限于当前工作区,支持毫秒级搜索。
  • 全文检索:支持 content: 语法按文件内容搜索文件,但必须限定路径。
  • 元数据返回:支持返回文件大小、创建/修改/访问时间、扩展名、属性等信息。
  • 完整语法:支持 Everything 的通配符、布尔运算、正则表达式等语法。
  • 结果计数:自动补全 total 字段,返回匹配总数。
  • 快速查询:基于索引查找,非目录扫描,响应速度极快。

典型用法

模型在调用工具时,可以直接使用上述语法。以下是几种典型场景:

  1. 查找 D 盘下大小超过 1GB 的文件:
    query: size:>1gb, path: D:\

  2. 查找 C:\Projects 目录下包含 TODO 关键词的文本文件:
    query: content:TODO, path: C:\Projects

  3. 查找 2024 年 7 月修改过的所有 PDF 文件:
    query: *.pdf dm:2024-07-01..2024-07-31

注意事项与限制

使用时需注意以下几点:

  • 路径限定:使用 content: 全文搜索时,必须通过 path 参数明确限定搜索范围,否则会被拒绝或自动收窄。
  • 硬链接问题:硬链接文件可能无法被搜到(这是 Everything 实时索引的特性),需在 Everything 中执行 Force Rebuild。
  • 语法限制:正则模式不支持 (...) 分组;内联 path: 语法不支持含空格的路径。
  • 结果标识:搜索结果中,文件夹以 \ 结尾;无扩展名的文件返回扩展名空字符串。

总结

zhourenke/dsh-tool-everything 适合需要在本地 Windows 环境进行深度、快速文件检索的场景。它将 Everything 的强大索引能力封装为 DSH 工具,降低了模型调用文件系统的门槛。更多细节可参考插件目录或 GitHub 仓库。

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

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

小夜