dsh-folder-search:在本地 Word/PDF/PPT/Excel 题库文件夹里按关键词检索

前言

用 DeepSeek Harness(DSH)整理试卷、组卷时,题库往往散落在本机多个 Word、PDF、PPT、Excel 目录里。把整份文件丢进模型上下文既贵又慢,也不方便回答「哪份卷、哪一页、哪一题」这类问题。常见做法是手工打开文件搜索,或自己写脚本抽文本再 grep,和对话式工作流是割裂的。

下面介绍社区插件 dsh-folder-search(包名 dsh-folder-search,当前版本 0.5.31):在 DSH 里增加「本地文件夹检索模式」,在指定文件夹内建索引、按关键词检索,只把命中片段和位置送进模型;需要时还可读完整题目、导出组卷 Word。插件由 七七(Voyager77Twt) 维护,MIT 许可,GitHub 仓库 Voyager77Twt/dsh-folder-search,社区目录页见 SkillHub。DSH 生态是「一切皆插件」;SkillHub 为独立社区站点,与 DeepSeek / 幻方无官方从属关系。

这是什么

dsh-folder-search 是 DSH 的联网工具类插件(目录分类:联网工具)。定位是:给新建会话增加「本地文件夹检索模式」,在本地 Word / PDF / PPT / Excel 等文件夹里按关键词找内容,回答哪些文件、哪些位置有命中;也可以把库里的题组成一套新卷(组卷为实验功能)。

兼容要求(来自 README):DSH >= 0.2.0-rc.2,Node >= 22.19。解析和检索在插件内部完成,只把命中片段和位置送进模型上下文,不把整份文件塞给模型。

核心功能

索引与格式支持

  1. 在设置里填写题库文件夹绝对路径后,插件自动建索引;可在「索引库状态」查看进度。
  2. 索引缓存默认目录为 %LOCALAPPDATA%\dsh-library-search(可在设置中改「索引库位置」;迁移时会复制旧索引并删除旧目录)。
  3. 支持抽取与检索的主要类型包括:.docx、.pdf、.pptx、.xlsx / .xls、.txt / .md / .csv 等;.doc / .ppt / .rtf 需 Windows + 本机 Office 转 PDF 后再全文索引。压缩包、图片、视频等仅索引文件名。

建库相关设置包括:建库并发数(默认 3,1–8)、单文件上限(默认 200 MB,超限跳过)。索引状态 HTTP 接口:/api/dsh-folder-search/index(GET 查进度,POST action=build 开始/继续)。

检索与四类结果

工具 library_search 做关键词检索,返回文件、位置、片段及四类统计:

类型 含义
直接命中(原词) 用户原词在文件中出现
自动扩展命中 内置或自定义词表扩展后命中
强关联命中 模型给出的强关联词命中
一般关联命中 模型补充的一般关联词;默认多作段落补充

输出顺序固定为:直接命中 → 自动扩展 → 强关联 → 一般关联。当直接命中与强关联均为 0 时,会启用零命中兜底(例如原词「空气除硫」未命中、标准词「脱硫」可命中),避免模型反复换词搜索。

设置项较多(原词/自动扩展/强关联/一般关联的输出文件数、每文件位置数、片段长度、自定义词表、匹配范围「同文件 / 同段页」等),均在 设置 → 本地搜索设置 中调整;README 有逐项说明与默认值。

其它工具

工具 用途
library_outline 目录、大题/题号位置
library_read 读完整题目(可用 question 限定)
library_export 组卷并导出 .docx
library_status 检查索引状态
library_index 批量建索引
library_index_export / library_index_import 导出/导入索引包 zip

安装与启用

SkillHub 目录页提供的安装方式为:让 DSH 安装插件 Voyager77Twt/dsh-folder-search(页面文案为「请安装 DSH 插件 Voyager77Twt/dsh-folder-search。先读取..」,由 Harness 读取后端安装计划后执行)。安装前请自行查看 GitHub 源码 与 MIT 许可证;插件以当前 DSH 进程权限访问本机路径与 Office,仅在你信任的环境使用。

启用与配置步骤(README 快速开始):

  1. 打开 设置 → 本地搜索设置;
  2. 在「数据库与索引库位置」填写题库文件夹的绝对路径;
  3. 保存后插件自动开始建索引,在「索引库状态」查看进度;
  4. 新建会话,模式选 「本地文件夹检索模式」;
  5. 直接提问。

设置页路径只需在第一次填写;之后新会话会从设置读取题库位置,不再先问。

典型用法

检索示例(README):

搜索“侯氏制碱法”相关的题目,给文件和位置。

自定义关联词表示例(设置项「自定义词表」,每行 关键词=关联词1,关联词2):

空气除硫=脱硫
沉淀溶解平衡=Ksp,溶度积

需要完整题干时,可在对话中让模型调用 library_read;组卷时调用 library_export,导出前请自行核对题目与答案(README 标明组卷为实验功能)。

适用场景与注意

适合谁:本机有大量 Word/PDF/PPT/Excel 试卷或题库目录、希望在 DSH 对话里按关键词定位文件与题位、并偶尔组卷导出的用户(README 描述侧重 exam questions 与 paper drafts)。

使用注意:

  • 索引未建完、扫描版 PDF 无文本、Word 页眉页脚/公式、PPT 备注、加密 Excel 等情况下,可能搜不全;损坏的 docx/pptx 会建库失败(README 列有本机样例题库中的失败样例)。
  • .doc / .ppt 转换依赖本机 Office,可能较慢;缓存上限 250 MB(仅统计 docs + manifest),到上限或文件改动但 mtime/大小未变时,需按 README 说明处理(如 refresh: "force")。
  • 强关联闸门与零命中兜底是启发式规则,不能保证模型总能给出正确专名;兜底时可能一次带出较多文件,建议为「强关联输出·最多文件数」和「最终输出文件数」设具体数字以控制 token。
  • 插件在本地读文件、写索引缓存,不涉及把整库上传到云端;仍须理解其会遍历你配置的题库路径。

结尾

dsh-folder-search 把「本地多格式题库 → 索引 → 关键词检索 → 片段进上下文 → 读题/组卷」接到 DSH 会话里,并细化了扩词、强关联与零命中兜底,减轻手工搜文件夹和整文件进模型的成本。

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

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

小夜