前言¶
DeepSeek Harness(DSH)会话通常只绑定一个工作目录。目录内的 grep、glob 很快,但目录外几乎看不见。任务若依赖散落在其他盘符或项目外的合同、笔记、PDF,模型往往只能猜路径,或停下来请你另开窗口自己找——对话空转,查找又回到你手上。
本机全文检索插件 fishdivinity/dsh-local-search 把「找文件、读正文」拆成五个只读工具:文件名走 Everything 的 es.exe,文档正文走 Anytxt Searcher 的 JSON-RPC。查询走已有索引,毫秒级返回,不扫盘、不写盘、不重建索引。维护者为 fishdivinity,npm 包名 @fishdivinity/dsh-local-search,社区目录分类为「记忆」,许可证 MIT,当前 package 版本 0.4.0。
这是什么¶
一句话:在 Windows 上为 DSH 提供全盘文件名检索与 PDF / Word / Excel / PPT / EPUB 等格式的正文检索,全部只读,由模型调用工具完成查找与引用。
与「只在工作区里搜」相比,差别在于索引覆盖整机(在配置的搜索范围内),且非纯文本格式可通过 Anytxt 取正文,而不必你手动复制粘贴。
核心功能:五个工具¶
| 工具 | 引擎 | 用途 |
|---|---|---|
local_search_files |
Everything(es.exe) |
按文件名、路径、跨盘发现文件与文件夹 |
local_search_content |
Anytxt JSON-RPC | 在 PDF、DOCX、XLSX、PPTX、EPUB、RTF、TXT、MD 内搜正文 |
local_search_fragments |
Anytxt | 单文件内匹配附近的片段 |
local_search_read |
Anytxt | 单文件提取纯文本(有上限) |
local_search_status |
两者 | 检查各引擎是否可达 |
插件不捆绑 Everything、es.exe 或 Anytxt,需自行安装并授权;也不负责 OCR、删改文件或启动索引引擎以外的写操作。
README 中归纳的适用情形包括:检索只是完成主任务的一步;你知道大意但记不清关键词;答案要跨多文件对比;批量从多份文档抽字段;目标不是纯文本无法用 grep;回答需要带路径与摘录以便核对。
环境与依赖¶
- 操作系统:Windows。
- DSH:
>=0.2.1-0且<0.3.0(见 README 徽章与 Requirements)。 - Everything:需运行;另需下载
es.exe(voidtools 提供)。插件可自动探测 PATH 或常见安装目录,也可在配置里设置files.everything.esPath。 - Anytxt:需运行 GUI(
ATGUI.exe),JSON-RPC 服务在 GUI 进程内;仅索引服务不够。
安装与启用¶
安装命令必须写入当前会话实际使用的 profile:Desktop 应用用 desktop,dsh web 用 web。
dsh plugin --profile desktop add @fishdivinity/dsh-local-search # Desktop app
dsh plugin --profile web add @fishdivinity/dsh-local-search # dsh web
若要从源码安装而非 npm 包,将规格换为 github:fishdivinity/dsh-local-search(README Install 节原文)。
安装后重启 profile 或新开 session,模型工具列表中会出现上述五个 local_search_* 工具。
配置要点¶
在 DSH 侧边栏 Plugins → Official plugins 中的 Local Search 卡片进入插件页。保存后对下一次工具调用生效;离开页面前未保存的编辑会丢弃。Reset 会清除引擎与 limit 相关设置并由探测重新填充,搜索范围与启动检查开关保留。
页面按能力分区:File names、File contents 各自选择后端并展示对应字段;Search scopes、Limits、Startup 与后端无关。Anytxt 端点下方有 Test connection,可同时探测 Everything 与端点(无需先保存);es.exe 路径填错会提示文件缺失。保存前会对端点与 es.exe 路径做探测,失败时可选择是否仍保存(硬错误如无此路径则无法绕过)。
路径字段保存时会规范为 Windows 写法(盘符大写、反斜杠等);若路径存在,以磁盘实际拼写为准。
更细的 scopes、引擎选择、错误诊断与安全限制见 GitHub README 与 简体中文 README。
典型用法(模型侧)¶
文档未给出固定 CLI 示例,而是描述工作流:你在对话里提出需要某类文档或某段表述的任务;模型依次调用 local_search_status 确认引擎可用,用 local_search_files 或 local_search_content 查索引,再用 local_search_fragments / local_search_read 精读命中文件,最后带路径与摘录回答。例如「对比两份合同里的付款条款」「从多份会议纪要里归纳关于进度的决定」——搜索是手段,阅读与对比由模型完成。
适用场景与注意¶
适合:Windows 上已部署 Everything 与 Anytxt;希望 agent 在本机索引范围内自主找名、搜正文并引用来源;工作常涉及 PDF、Office、EPUB 等非仓库内纯文本文件。
务必注意:
- 插件以当前 DSH 进程权限运行,能检索到的范围受 Everything / Anytxt 索引与你在插件里配置的 search scopes 约束;安装前请阅读源码与 MIT 许可证,确认可接受其只读边界与已知限制(README 的 Known limitations、Security and limits)。
- 社区插件目录 skillhub.cn 为独立站点,与 DeepSeek / 幻方无官方从属关系;安装与配置以 GitHub 文档为准。
- GitHub 上该仓库公开 star 数为 2(与目录页一致),不代表功能完备度,仅作生态参考。
结尾¶
dsh-local-search 把「整机文件名 + 常见文档正文」收敛为五个只读工具,让 DSH 在索引上查盘而不是猜路径。需要安装命令、配置字段与限制说明时,可直接查阅仓库文档。