前言¶
用 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 名称,点击命中项会打开会话并滚动/闪烁到对应消息行。
核心功能¶
资料中已说明的能力如下:
- 跨 workspace、跨会话全文检索,已归档会话同样纳入搜索范围。
- 结果按会话分组,展示关键词高亮与 workspace 名称。
- 点击命中项:打开该会话并定位到匹配消息;归档会话会先取消归档再打开(DSH UI 服务没有「在原位打开归档」的动作)。
- 匹配方式:字面量子串,不支持正则;只检索 user/assistant 消息正文,不包含 reasoning、tool calls、tool results。
- 本地只读:消息体不离开本机。
实现上,消息正文不在 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。
典型用法¶
- 在 DSH Web GUI 任意处按
Ctrl+F(macOS 为Cmd+F),或点击右侧边栏 对话搜索 / Chat Search 面板的放大镜图标。 - 输入关键词后按 Enter。
- 在结果列表中点击任意命中项,跳转到该消息。
适用场景与注意¶
适合:需要在大量历史对话里按正文关键词回溯;标题记不清但记得回复里出现过某段文字或错误信息。
限制(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