前言¶
在 DeepSeek Harness(dsh)里长期对话后,常见问题是:只记得改过某个路径、某次提问的关键词,却要在会话列表里逐个打开、用浏览器查找慢慢翻。宿主自带界面偏重继续对话,对「跨会话、按结构缩小范围、点到具体轮次」的检索支持有限。下面介绍社区插件 dsh-chat-search:在右侧栏检索当前会话,或在左栏打开整页全局检索;按段落与文件名匹配,结果按「会话 → 问题 → 段落」展开,并支持日期与轮次筛选,点击即可跳转并高亮命中词。插件由 yhaix 维护,分类属「记忆」;当前资料版本 1.1.1,目标 DSH ≥ 0.2.0-rc.1,许可证 MIT。
这是什么¶
dsh-chat-search 是 DSH 的对话检索插件:只通过宿主的 sessionQuery 读取本地会话日志,不对外发网络请求。它提供两个入口——右侧栏面板(当前对话)与左栏整页(全部会话);索引用户正文、附件相关文件名,以及工具调用路径、apply_patch 文件头等,文件名单独成行。维护者说明插件依赖少量未公开的 DOM 锚点与客户端服务,DSH 升级后可能需跟进;安装与使用前宜自行查看 GitHub 仓库 源码与许可证。社区目录页:skillhub.cn/plugins/yhaix/dsh-chat-search(独立站点,与 DeepSeek / 幻方无官方从属关系)。
核心功能¶
两个入口与结果结构¶
- 会话内检索:点会话标题栏放大镜,或
Ctrl/Cmd+F,在右侧栏按轮次分组,显示角色、段落序号与命中次数。 - 全局检索:左栏「全局搜索」,主内容区整页展示;结果树为「会话 → 问题 → 段落」三层,并可在 5 档范围间切换:会话+问题+段落(默认)、会话+问题、仅会话标题、仅问题、仅段落。
文件名与筛选¶
- 文件名是一等公民:正文忘了文件名还记得时,可单独搜到路径与附件名。
- 筛选窗口:默认日期范围为最近 14 天(按该轮用户消息时间);默认每会话最近 30 轮。任一端留空表示该维不限;配置写入本地,重启后沿用。改动筛选会立刻重跑当前检索,无需重新输入关键词。
- 全局检索对每个会话分别裁剪;会话内只作用于当前会话。结果里的「第 N 轮」为会话内真实序号,跳转不因筛选错位。
跳转、快捷键与界面¶
- 点击结果:打开会话、补齐缺失历史、定位到对应轮次;命中词用浏览器原生查找式高亮,滚动时跟随。
- 快捷键:
Ctrl/Cmd+F打开面板;回车跳第一条;↑/↓ 在结果间移动。 - 中英双语跟随宿主语言;明暗主题自适应。
隐私与本地数据¶
插件仅在 <DSH_PROFILE_DIR>/plugin-data/conversation-search/ 下写入 recent.json(最近 8 条查询)与 filters.json(筛选窗口)。Host 接口要求浏览器凭据,无凭据返回 401。
安装与启用¶
推荐在应用内安装:DSH → 插件 → 添加插件,搜索 dsh-chat-search 后安装。
CLI 安装命令(须与官方 README 一致):
dsh plugin add dsh-chat-search
指定 profile 时(桌面端常为 desktop,dsh web 常为 web):
dsh plugin --profile desktop add dsh-chat-search
本地开发可从源码 link(需本机已有插件目录):
dsh plugin add link:<本目录路径>
安装后应完全退出并重新打开 DSH:Host 半只在进程启动时加载插件,仅刷新页面不够(桌面正式版通常也无「刷新页面」菜单)。
典型用法¶
- 在当前会话中按
Ctrl/Cmd+F或点放大镜,输入关键词查看按轮次分组的结果。 - 点击一条结果,对话滚到对应段落并高亮命中词。
- 在筛选行收窄窗口,例如日期
10-27 ~ 11-09与「最近 30 轮」。 - 需要跨会话时,打开左栏「全局搜索」,在三层结果树中展开到目标段落。
筛选语义速查:
| 维度 | 默认 | 为空时的含义 |
|---|---|---|
| 日期范围 | 最近 14 天(含今天) | 任一端留空 = 该端不限 |
| 对话轮次 | 最近 30 轮 | 留空或 0 = 不限 |
适用场景与注意¶
适合谁:会话多、轮次长,需要按文件名或片段找回某次讨论;希望用日期与最近 N 轮缩小范围,而不是搜完全部再肉眼过滤的 DSH 用户。
权限与信任:插件以当前 dsh 进程权限运行,能读取 sessionQuery 可见的全部本地会话;安装前应阅读源码与 MIT 许可证,确认符合你的环境要求。
兼容性与限制(摘自 README):
- 使用官方
slots/sidebar/shortcuts/webServer/sessionQuery/uiWorkspace,以及data-chat-node-key、data-chat-flow等 DOM 锚点。 - 索引约 30 秒 TTL 从
sessionQuery重建;语料上限约 400 会话 / 800 万字符;单次响应最多 30 会话 × 12 问题 × 8 段落。 - 无正则模式、无「包含注入上下文」开关、不对外提供 HTTP 检索接口;会话特别多时首次检索可能有一次明显等待,之后走缓存。
- 排查:DevTools 中执行
__dshChatSearchDebug = true,查看[dsh-chat-search]前缀日志。
结尾¶
dsh-chat-search 把 DSH 本地对话当成可检索语料:结构化结果树、文件名索引、日期与轮次窗口,以及跳转高亮,适合把「记得一点线索」变成「点到那一轮」。进一步了解与安装: