drscrewdriver/dsh-switch-search

drscrewdriver★ 1TypeScript最后同步: 2026-08-20

在 GitHub 打开

给 DeepSeek Harness 侧边栏加一个会话内容检索——标题/内容一键切换,还能按用户/回复/工具筛选

README 摘要

给 DeepSeek Harness 侧边栏加一个会话内容检索——标题/内容一键切换,还能按用户/回复/工具筛选 中文 · English dsh-switch-search DSH web 侧边栏 会话搜索增强 :在侧边栏底部新增 "搜索" 入口,浮层面板一键在 标题搜索 ↔ 内容搜索 间切换;内容模式按 会话聚合 展示标题与命中片段,并按 用户 / 回复 / 工具 分类筛选。 无需修改 dsh 源码、无需提 PR: dsh plugin 命令组装 + bundle patch 装配的 cordis 客户端 + 插件宿主半。 它能做什么 - 标题 ↔ 内容双模式 :一个入口两种搜法——切到"标题"按会话标题/工作目录子串即时过滤;切到"内容"走 DSH 自带 FTS5 全文索引搜会话消息正文。 - 内容按会话聚合 :内容搜索结果每个会话一行(会话标题 + 最强命中片段 + 类型标签),点击即打开该会话,不刷屏逐条堆消息。 - 内容类型筛选 :内容模式顶部筛选 chip—— 全部 / 用户 / 回复 / 工具 ; 工具 放开 tool/call 与 tool/result 事件进结果,直接搜到工具调用参数与返回值。 - 索引可用性探测 :Host 侧 search-status 探测 sessionQuery 全文索引是否开启;未开启时内容模式给出一句具体配置指引,而非裸报错"内容搜索不可用"。 - 通用设置行 :设置 → 通用新增 "会话搜索" 行——启用开关 + 默认搜索模式(标题/内容),配置即写即生效。 - 点击直达 :搜索结果点击跳转打开对应会话,定位到命中内容所在上下文。 界面预览 侧边栏底部入口与浮层面板布局示意: 内容搜索的底层:DSH FTS5 派生索引 内容模式不自己建库,直接复用 DSH 本体的 SQLite FTS5 派生索引 ( session-query-sqlite ): 表 说明 persisted docs (FTS5) 持久化会话的全文文档( text 可搜, type/session id/seq/... 作过滤列) temp.live docs (FTS5) 当前进程存活会话的全文文档 persisted sessions / live sessions 会话头 + revision / fingerprint (增量重建依据) search state generation 计数,驱动分页游标失效 - 懒索引 : openAt: first-search 时首次搜索才建索引;每次搜索前 增量 reconcile (只重建有差异的会话),大语料首搜稍慢、之后很快。 - tool 内容能搜到 : extraction.ts 明确提取了 tool/call (工具名+参数)与 tool/result (结果文本)进索引——…

在 GitHub 查看完整 README →
搜索dedeepseek-harnessdshdsh-bundledsh-plugindsh-plugin-marketdsh-pluginsdsharpplustypescript

分类