DSH 会话消息级全文检索浏览器:FTS5 trigram 索引按消息检索(用户/助手/系统注入/工具四类,可按类型筛选),fork/续接会话结果自动去重,只读上下文预览自动滚动定位焦点消息,一键跳转真实会话;支持增量/全量重建索引与健康检查;界面中英双语跟随 Host locale 服务。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:Zn-Dk/dsh-session-explorer
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
English | 中文
DSH Web 插件:会话消息级全文检索浏览器。检索具体到某一条消息(用户/助手/工具/系统注入四类),只读预览上下文,一键跳转真实会话。
功能
- 消息级全文检索 — 检索某一条具体消息:用户 / 助手 / 系统注入正文高权重,工具名、参数、错误摘要低权重。FTS5 trigram 索引支持任意子串,中文无需分词;短查询(<3 字符)自动降级为 LIKE 子串匹配。
- 四类消息 — 用户(user)/ 助手(assistant)/ 系统注入(steering,含 plugin 注入、skill-catalog、skill-invocation、compaction 摘要等)/ 工具(tool,可检索工具名、参数与错误摘要)。
- fork/续接会话自动去重 — DSH fork/续接会话共享父历史,同一条消息会在多个会话各存一份;搜索结果按 (seq, kind, 正文) 分组去重,优先保留标题非空、更新更晚的会话。
- 只读预览 — 命中消息 + 前后上下文窗口,焦点消息自动滚动定位到可视区中央,可一键在真实会话中打开。
- 会话浏览器入口 — 侧栏工具区入口按钮 + conversation 列内覆盖面板(不遮挡全局);面板左上角「返回会话」按钮关闭并回到会话。
- 可搜索会话总览 —— 使用 CSS Grid 卡片展示元数据、首条/最近消息摘要,支持主代理/子代理筛选、文本搜索与排序。点击卡片后原位展开消息摘要详情,不依赖原始会话锚点跳转。
- 国际化(i18n) — 中英双语全覆盖(面板/对话框/搜索/预览),语言跟随 DSH Host locale 服务(设置页 General 切换即时生效),无手动设置项。
- 重建索引(增量/全量 + 健康检查) — 增量模式用 engine revision token 快速 diff(O(1) 跳过未变会话)+ 内容指纹重刷变化会话 + 清理幽灵会话;全量模式清库逐会话重建。打开重建对话框时自动执行索引库健康检查(integrity + 关键表可读性)并推荐模式。
- 索引状态(损坏会话分类) — 已索引 / 待同步 / 源日志损坏(无法索引)三态展示;打开面板时自动轻量同步(live 会话 + 未索引新会话),turn 结束增量同步,启动时对账。
安装
从 npm 安装(推荐)
dsh plugin --profile web add dsh-session-explorer
包页面:https://www.npmjs.com/package/dsh-session-explorer
本地构建安装
pnpm install
pnpm pack
dsh plugin --profile web add ./dsh-session-explorer-*.tgz
安装后重启 dsh web,侧栏工具区出现「会话浏览器」入口。索引库位于 ~/.dsh/storages/session-explorer.sqlite(首次使用自动创建并索引)。
开发
pnpm install
pnpm test # 41 个单元测试(需要 Node ≥ 22.5,依赖 node:sqlite)
pnpm build # tsc + rolldown client bundle
架构
src/protocol.ts—— RPC 契约类型(Host/Client 共享)src/transcript.ts—— SessionEvent 日志 → 可索引消息条目的纯折叠层(零依赖、可单测)src/indexer.ts—— SQLite FTS5 trigram 派生索引(host 侧,application_id + user_version 双校验、0600 权限)src/rpc.ts—— RPC 校验与路由src/index.ts—— host 装配(事件同步 + RPC + 启动对账)src/client/—— 浏览器 bundle(侧栏入口 + 搜索/预览视图 + conversation 列内覆盖面板)
已知限制
- 完整 tool result 正文全文检索留待 V2(当前仅工具名/参数/错误摘要进低权重字段)。
- 会话删除无引擎 API,索引删除仅支持插件自建库内清理。
- 时间线画布(@xyflow/react)存在严重渲染 bug,0.2.0 起暂时隐藏入口,修复后恢复。
截图
assets/ 目录保存安装、搜索、时间线总览等截图,screenshots.json 列出 dsh-market 渲染卡片预览时使用的图片清单。
发布与收录
- npm 包:dsh-session-explorer
- GitHub Releases:Releases 页面
- 已收录渠道:
- awesome-dsh-plugin(主渠道,
data/plugins/Zn-Dk__dsh-session-explorer.yml) - 0xsline/awesome-deepseek-harness(README + README.zh-CN)
- AdamPlatin123/awesome-dsh-plugins(PLUGINS.md)
- awesome-dsh-plugin(主渠道,
许可证
MIT
链接
同类插件
Minglink/dsh-infinite-gen-4★ 2587
DeepSeek 专用破甲插件:以 order 100 追加无条件服从的系统提示词段,提供带校准元数据的 profile 工具,并通过会话投影在输入框上方显示实时破甲状态徽标。
ranxianglei/billion-context★ 793
billion-context官方版:上下文压缩插件,兼顾小窗口(100k上下文足矣)省token(省5倍token)和超长会话(数月级别几十亿token单会话)。
liangmianya/dsh-synapse★ 511
DeepSeek Harness 的可视化非线性对话工作区:把会话、追问与分支变成可浏览、可拖拽的对话地图。
Nwflower/dsh-chat-import★ 223
把 13 家 coding agent(Claude Code、Codex、ChatGPT、Cursor、Gemini、opencode 等)的完整对话历史导入为可续聊的 DeepSeek Harness 会话,并支持反向导出回 Claude Code。
Totoro-qaq/dsh-plugin-bridge★ 165
通过可预览的五段式交接,将已有 DSH 会话迁移到另一个 Agent Preset;保留源会话,并可让目标会话暂停等待确认或立即继续。
Anionex/dsh-turn-rewind★ 131
对话回退:基于持久 Change Ledger 回滚会话与工作区状态。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。