dsh-chat-search:在 DSH 里全文检索对话并一键跳转

前言

用 DeepSeek Harness(DSH)跑长会话时,往往要靠回忆「第几个 workspace、哪条会话标题」才能找回某句原话。DSH Web 自带的 Ctrl+K 只匹配会话标题,消息正文不在检索范围内。当你只记得代码片段、报错关键词或某次回复里的措辞时,标题搜索很难命中。

下面介绍社区插件 dsh-chat-search(维护者 XvBenny):对本机已存储的会话消息做全文子串匹配,在侧栏展示结果,点击即可打开对应会话并定位到那条消息。数据在本地只读处理,不上传消息正文。

这是什么

dsh-chat-search 是 DSH 的 Web 端插件(package.json 中版本 0.2.2,许可证 MIT)。它在所有 workspace 与 session(含已归档)的消息正文中做大小写不敏感的字面子串匹配,与内置标题搜索互补;结果按会话分组,可高亮关键词并显示 workspace 名称,点击命中项会打开会话并滚动/闪烁到对应消息行。

核心功能

资料中已说明的能力如下:

  1. 跨 workspace、跨会话全文检索,已归档会话同样纳入搜索范围。
  2. 结果按会话分组,展示关键词高亮与 workspace 名称。
  3. 点击命中项:打开该会话并定位到匹配消息;归档会话会先取消归档再打开(DSH UI 服务没有「在原位打开归档」的动作)。
  4. 匹配方式:字面量子串,不支持正则;只检索 user/assistant 消息正文,不包含 reasoning、tool calls、tool results。
  5. 本地只读:消息体不离开本机。

实现上,消息正文不在 projection cache,而位于各会话目录下的 session.v4.jsonl.zstd 日志(路径形如 $DSH_HOME/sessions/<workspace>/<sessionId>/)。宿主侧解压 zstd 帧并对 user/message、assistant/message 文本做匹配;浏览器侧注册 sidebar.panellist 槽位,通过 harness UI 服务(uiWorkspace.openSession,归档时配合 unarchiveSession)打开会话,再用聊天 DOM 锚点滚动到对应行。

安装与启用

插件以当前 DSH 进程权限访问本机会话目录。安装前建议在 GitHub 查看源码与 MIT 许可证;以下命令来自官方 README。

从 GitHub 安装(desktop profile):

dsh plugin --profile desktop add github:XvBenny/dsh-chat-search

大陆网络可选用 Gitee 镜像:

dsh plugin --profile desktop add https://gitee.com/vrgu/dsh-chat-search.git

若已有本地 checkout,也可指向目录:

dsh plugin --profile desktop add ./dsh-chat-search

安装完成后重启 DSH。

典型用法

  1. 在 DSH Web GUI 任意处按 Ctrl+F(macOS 为 Cmd+F),或点击右侧边栏 对话搜索 / Chat Search 面板的放大镜图标。
  2. 输入关键词后按 Enter。
  3. 在结果列表中点击任意命中项,跳转到该消息。

适用场景与注意

适合:需要在大量历史对话里按正文关键词回溯;标题记不清但记得回复里出现过某段文字或错误信息。

限制(README 已写明):

  • 仅搜索 user/assistant 正文,不含推理链与工具调用/结果。
  • 字面量子串匹配,无模糊搜索、无语义检索、无正则。
  • 从归档结果打开会话时会取消归档,该会话会离开归档列表。

社区插件目录见 SkillHub 插件页;DSH 生态强调「一切皆插件」,该目录为社区站点,与 DeepSeek / 幻方无官方从属关系。

结尾

内置 Ctrl+K 解决「按标题找会话」;dsh-chat-search 解决「按正文找某句话」。二者搭配,更适合长期维护多 workspace 对话资产的开发者。

  • 目录页:https://www.skillhub.cn/plugins/XvBenny/dsh-chat-search
  • 源码与说明:https://github.com/XvBenny/dsh-chat-search
羽毛球分组比赛记分
小程序二维码

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

Xiaoye