dsh-chat-search:在 DSH 里按段落和文件名检索对话

前言

在 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 半只在进程启动时加载插件,仅刷新页面不够(桌面正式版通常也无「刷新页面」菜单)。

典型用法

  1. 在当前会话中按 Ctrl/Cmd+F 或点放大镜,输入关键词查看按轮次分组的结果。
  2. 点击一条结果,对话滚到对应段落并高亮命中词。
  3. 在筛选行收窄窗口,例如日期 10-27 ~ 11-09 与「最近 30 轮」。
  4. 需要跨会话时,打开左栏「全局搜索」,在三层结果树中展开到目标段落。

筛选语义速查:

维度 默认 为空时的含义
日期范围 最近 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 本地对话当成可检索语料:结构化结果树、文件名索引、日期与轮次窗口,以及跳转高亮,适合把「记得一点线索」变成「点到那一轮」。进一步了解与安装:

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

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

Xiaoye