dsh-session-fulltext-search: Full-text search of session history in the Web sidebar

前言

DeepSeek Harness(DSH)的 Web 界面自带侧栏搜索(放大镜)。在未启用内容检索后端时,该搜索通常只匹配会话标题与工作区名称,无法按消息正文里的词句找回某次对话。官方文档里已有基于 SQLite FTS5 的 @deepseek-ai/dsh-session-query-sqlite 能力,但默认配置为 openAt: never,即不自动打开全文索引。社区插件 dsh-session-fulltext-search 按后端文档建议的方式部署该能力,并针对中文检索补充子串回退,使侧栏能搜到用户消息与助手回复正文。下面介绍插件定位、能力与安装方式。

这是什么

dsh-session-fulltext-search 是 DSH 社区插件,维护者为 amd47802574,在 SkillHub 目录中归类为「记忆」。一句话定位:在 Web 侧栏启用对会话历史的全文搜索(SQLite FTS5),并对含 CJK 字符的查询使用子串扫描,避免 FTS5 unicode61 分词把连续中文当成单一 token 导致的漏检问题。

核心功能

经 README 说明,安装并重启 DSH 后可获得以下能力:

  1. 侧栏放大镜可跨工作区搜索消息正文(用户消息与助手回复),命中时展示内容片段。
  2. 对含中文等 CJK 的查询走子串匹配,例如搜「福州大学」可以命中「已保研至福州大学」这类正文,而不必整段中文与分词边界对齐。
  3. 非 CJK 查询仍使用 FTS5 分词逻辑(例如 pytho 不会匹配 python,与 FTS5 行为一致)。
  4. 索引在 $DSH_HOME 下持久化,随会话增长增量更新;插件将 session-query-sqlite 的 openAt 设为 first-search,在首次搜索时打开索引。

查询细节(来自文档 Notes):

  • 用引号包裹查询(如 "two words")可做短语检索;FTS5 操作符(OR、*)会被当作普通文本。
  • CJK 子串回退通过只读 SQLite 连接读取派生索引;索引缺失或重建中时,单次查询可能结果偏少。
  • 若你在 profile 的 cordis.patch.yml 中手动覆盖同层配置,后加载的 patch 仍优先于本插件。

当前 package 版本为 0.2.2,许可证 MIT。

安装与启用

向指定 profile(示例为 desktop)安装:

dsh plugin --profile desktop add github:amd47802574/dsh-session-fulltext-search

dsh plugin add 会把包登记进 dsh.profile.bundles(patch 层栈)。安装后需重启 DSH。

手动等价方式:在 <profile>/package.json 中加入依赖并在 dsh.profile.bundles 中追加 bundle 名,于 profile 目录执行 pnpm install 后重启。字段示例见仓库 README。

卸载:

dsh plugin --profile desktop remove dsh-session-fulltext-search

重启后侧栏恢复为仅标题级搜索。派生索引文件 $DSH_HOME/session-query-index.sqlite3 可自行删除;切勿将索引 path 指向会话持久化库本身。

典型用法

无需单独 CLI:重启 DSH 后,在 Web 侧栏使用放大镜输入关键词即可。

  1. 搜英文或按 FTS5 分词的短语:直接输入;需要精确多词短语时用引号包裹。
  2. 搜中文短语:直接输入正文中的连续字串,插件会对 CJK 查询走子串扫描。
  3. 若怀疑索引过旧或损坏:删除 $DSH_HOME/session-query-index.sqlite3 后再次搜索,触发重建(索引为派生数据)。

适用场景与注意

适合谁: 经常在多个工作区之间切换、需要按对话内容而非标题找回历史记录的 DSH 用户;尤其依赖中文关键词在消息正文里检索的场景。

运行与信任: 插件以当前 DSH 进程权限运行,会参与 Cordis patch 栈与索引路径配置。安装前建议在 GitHub 阅读 cordis.patch.yml 与 lib/index.js,确认行为与 MIT 许可证可接受。

生态说明: DSH 采用「一切皆插件」的扩展方式;SkillHub 等为社区目录站点,与 DeepSeek / 幻方无官方从属关系,本文仅作技术介绍。

结尾

dsh-session-fulltext-search 解决的是 Web 侧栏「只能搜标题、中文正文难命中」两类问题:打开 FTS5 会话索引,并为 CJK 查询补上子串回退。目录页与源码:

  • SkillHub:https://www.skillhub.cn/plugins/amd47802574/dsh-session-fulltext-search
  • GitHub:https://github.com/amd47802574/dsh-session-fulltext-search
羽毛球分组比赛记分
小程序二维码

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

Xiaoye