dsh-search-index: DeepSeek Harness 侧边栏会话检索增强

前言

DeepSeek Harness (DSH) 在处理长对话历史时,往往面临内容检索困难的问题。官方侧边栏缺少一个强大的全局搜索入口,仅能依赖有限的上下文记忆。dsh-search-index 插件通过在侧边栏底部新增“搜索”按钮,为 DSH Web 客户端提供了一套独立的会话检索方案。

该插件不依赖官方的全文索引,而是维护自己的 SQLite 数据库。它解决了从海量历史记录中快速定位标题或特定内容的需求,支持按用户、回复或工具调用进行筛选,能够显著提升在多会话场景下的查找效率。

核心功能

该插件主要解决“搜什么”和“怎么搜”的问题,核心能力如下:

  • 标题 ↔ 内容双模式切换
    一个入口两种搜法。在面板中可以直接切换“标题搜索”与“内容搜索”。标题模式按会话标题或工作目录子串过滤;内容模式则深入检索消息正文。

  • 内容按会话聚合展示
    内容搜索结果不再逐条堆砌消息,而是按会话聚合。每个结果行显示会话标题、最相关的命中片段以及类型标签,点击即可直接打开该会话并定位到上下文。

  • 内容类型筛选
    内容模式顶部提供筛选 Chip:全部、用户、回复、工具。开启“工具”筛选后,可以直接检索工具调用的参数与返回值(tool/call 与 tool/result)。

  • 结果排序
    同一行右侧可切换“相关度”与“时间”。时间排序基于会话最后活动时间倒序,最近活跃的会话排在前面,偏好设置会保留在本地。

  • 独立索引与三点机制
    插件维护独立的 SQLite 索引文件(index.building.sqlite),与官方索引互不影响。

    1. 独立索引:拥有自己的存储目录,支持快照导入导出。
    2. 归档清理:读取官方归档集合(global.archivedSessionIds),自动将已归档的会话排除在索引之外。
    3. 安全重建:支持非破坏性的“影子索引”构建,在重建过程中保持原有索引服务不中断。
  • 唤出键与平台化提示
    侧边栏入口与面板底部均显示快捷键提示。macOS 渲染 ⌘K,Windows/Linux 渲染 Ctrl K。关闭键同样根据平台适配(macOS esc / 其他 Esc),确保操作符合直觉。

安装

通过 dsh plugin 命令直接从 GitHub 安装即可,无需本地构建。

# 安装插件
dsh plugin --profile web add github:drscrewdriver/dsh-search-index#master

# 重启 DSH Web 以加载插件
dsh web

注意:GitHub 直装需要网络能连通 github.com,若受限请配置代理或镜像加速。

使用方式

安装并重启后,插件会在侧边栏底部新增一个“搜索”按钮。

  1. 唤起面板:点击侧边栏底部的“搜索”按钮,或按下系统对应的快捷键(如 Ctrl K)。
  2. 切换模式:在面板中点击切换“标题”或“内容”模式。
  3. 筛选结果:在内容模式下,点击顶部的筛选 Chip(如“工具”)。
  4. 查看结果:搜索结果按会话聚合展示,点击任意结果行即可跳转打开对应会话。

在设置页面(设置 → 插件)中,会出现“搜索索引”卡片。这里可以管理独立索引的同步频率、保留份数、快照导出以及查看已排除的归档会话数量。

注意事项

  • 职责边界:本插件仅负责搜索与索引。会话历史的查看与清理(原“归档会话”面板)已迁移至 dsh-session-steward(会话管家)的“病案室”页签。本插件只读归档集合,不写入它。
  • 索引独立性:索引文件存储在本插件自己的目录下,不会影响官方的 session-query-sqlite 索引。
  • 隐私与配置:所有配置仅存于 DSH 的 settings 命名空间与浏览器浮层状态中,不会上传会话内容以外的数据。
  • 兼容版本:支持 DSH 0.1.1-rc.2 与 0.1.2-rc.1。无需修改 DSH 源码即可运行。

结语

dsh-search-index 为 DSH 用户提供了在侧边栏直接检索历史记录的能力。通过独立索引和聚合展示,它解决了长对话中内容查找碎片化的问题。如果你正在寻找一个能增强 DeepSeek Harness 搜索体验的插件,可以从这里开始。

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

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

小夜