dsh-frecency:DeepSeek Harness 的常驻索引与 frecency 文件搜索插件

前言

DeepSeek Harness(DSH)的设计理念强调通过插件扩展功能。在开发长期运行的智能体会话时,内置的 grep 和 glob 工具存在性能瓶颈:它们每次调用都会生成新的进程并从头扫描,导致重复搜索效率低下。dsh-frecency 是一个插件,它覆盖了这些内置工具,通过常驻索引和 frecency 排序来加速文件搜索。

插件简介

dsh-frecency 是 DeepSeek Harness 的一个插件,用于提供常驻索引和 frecency 文件搜索功能。它由 ZK-Andy 维护,采用 MIT 许可证。该插件的核心作用是接管 grep 和 glob,在保持工具名称和 schema 不变的前提下,提升文件搜索的响应速度。

核心能力

该插件提供以下功能:

  1. 同名工具覆盖:grep 和 glob 保持原有的名称和 schema。模型无需修改提示词即可直接使用。
  2. 常驻索引(grep):利用内存中的索引进行内容搜索,避免每次调用都启动 rg 进程,从而提升性能。
  3. Frecency 排序:文件列表根据访问频率和修改时间进行排序,最近频繁打开或修改的文件会排在前面。
  4. 内置语义对等的 glob:glob 工具执行与内置工具相同的 rg --files 命令(包含隐藏文件和忽略文件,排除 VCS 元数据)。若 rg 不可用,则降级使用常驻索引。
  5. 带标注的 grep 输出:搜索结果包含 isDefinition(引擎分类的定义行)和 gitStatus(文件状态)信息。
  6. Git 感知索引:引擎跟踪每个文件的工作树状态,并在结果中体现为 gitStatus。
  7. 优雅降级:如果原生引擎无法加载,插件会退出,内置的 rg 工具继续正常工作。

安装与启用

通过以下命令安装插件:

dsh plugin --profile <profile> add dsh-frecency

安装后需要重启 DSH 并启动会话。此时 grep 和 glob 保留其名称和 schema,模型切换无需任何提示词调整。若需恢复使用内置工具,可通过配置 enabled: false 或移除插件来实现。

依赖与兼容性

  • Node.js 版本:需要 Node.js >= 22。
  • DSH 版本:已针对 DSH 0.1.2-alpha.3 至 0.2.1-alpha.1 进行构建和测试。
  • 依赖包:插件依赖于当前运行安装中的宿主包,包括 @deepseek-ai/dsh-tools、@deepseek-ai/dsh-tool-fs-search、@deepseek-ai/dsh-output-retention 和 @deepseek-ai/schemastery。

注意事项

  • 插件在每个智能体的创建阶段注册到各自的层中,这与主平面的注册机制不同。
  • 作为一个社区插件,它位于 SkillHub 目录中,与 DeepSeek 或幻方无官方从属关系。

链接

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

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

小夜