YeqingTang/dsh-session-flow

YeqingTang/dsh-session-flow

跨会话档案柜:总览工作台、折叠时间线、子代理血缘、全文检索、双模式摘要、ZIP 导出、实时跟踪。会话流标签页嵌入原生会话页:轮次悬浮条、详情并入右栏(实时模式,切换会话可钉住原会话直播)、会话重命名(对齐官方即时同步)、结论摘要行、健康监控与常驻头部胶囊(空闲 / 活跃 / 工具执行 / 疑似卡死四态)。dsh v0.1.2+ 与官方轮次导航融合:官方预览卡内嵌矢量图标信息段(耗时 / 工具调用 / 错误 / 思考 + 工具分布懒加载),右键唤起会话流工作台;经典钢琴键悬浮条默认开启并存,点击未载入轮次委托官方引擎自动加载跳转;可设置隐藏官方导航只留钢琴键。设置弹窗独立分节,10 项行为参数可调。

会话与消息deepseek-harnessdshplugin

dsh-session-flow — DSH 会话回顾与归档插件

中文 | English

把 DSH 会话的原始消息流重构成「可折叠的信息流 + 会话级汇总」:每个会话变成一张档案卡,跨工作区回顾、检索、导出。官方会话视图(Trajectory / Chat)长于正在发生的微观检查,本插件补足事后回顾 / 归档 / 洞察这一层。

界面一览

总览工作台会话流标签页
总览工作台会话流标签页
会话卡片墙:标题、状态、结论摘要行、首个任务;hover ✎ 行内重命名原生会话页内嵌「会话流」标签:当前会话直接回顾
轮次悬浮条跨会话全文检索
轮次悬浮条跨会话全文检索
对话页左侧轮次导航:收拢短横条 ⇄ 展开条目卡,一键跳转任意轮次总览自由文本搜索触发全文模式:跨工作区召回,命中直达定位
详情并入右栏折叠详情页
详情并入右栏折叠详情页
详情并入官方右侧面板:主对话与会话流并行,拖拽调宽回合默认折叠,展开按真实时间序;右侧四标签导航

功能

能力说明
总览工作台会话卡片(状态/错误/耗时)+ 结论摘要行;排序、筛选、工作区 tabs
结构化搜索tool: file: err: 前缀 + 自由文本
折叠详情页回合折叠成「用户发言+结论」,展开按真实时间序;按需加载
四标签导航用户发言 / 工具 / 错误 / 检索,点击定位高亮
血缘树子代理派生关系树(离线档案 + 运行时实时双通道)
双模式摘要规则摘要(零开销实时组装)+ LLM 摘要(落盘复用、新对话提示重生成)
实时跟踪运行中会话 3 秒轮询,呼吸高亮 + 生成标志
ZIP 导出概览 + 时间线分卷 Markdown 报告
会话重命名与官方标题同一数据源(log-backed),双向实时同步,随时改名
健康监控活跃 / 工具执行中 / 静默中 / 疑似卡死四级分类;总览徽标 + 详情实时条
头部健康芯片会话页顶栏模式标识右侧,竖条收拢 ⇄ 悬浮展开状态卡,点击直达详情
会话流标签页原生会话页内嵌标签,与工作台互跳
轮次悬浮条对话页左侧轮次跳转(仅对话页显示)
跨会话全文检索内容级召回,命中直达会话流标签页定位
详情并入右栏与主对话双视角并行
缓存管理索引/时间线缓存查看与清理(不影响 DSH 数据)

安装

# 插件市场搜索 dsh-session-flow,或:
dsh plugin add dsh-session-flow
dsh plugin add github:YeqingTang/dsh-session-flow

安装后重启 DSH Web 服务并硬刷新浏览器(Ctrl+Shift+R),侧边栏出现「会话流」入口即成功。

环境要求:DSH Web GUI(最新稳定版);Node.js ≥ 22.19(内置 zstd 解码,零第三方依赖)。

使用

  • 总览:侧边栏「会话流」→ 全部会话卡片。搜索支持 tool: / file: / err: 前缀;自由文本 ≥2 字符自动追加跨会话全文检索结果。
  • 详情:点卡片进入。回合默认折叠,点回合头展开;右侧四标签导航定位;顶部可生成 LLM 摘要、导出 ZIP、并入右栏、查看血缘。
  • 原生会话页:会话顶部「会话流」标签直接回顾当前会话;对话页左侧轮次悬浮条跳转任意轮次;标题 hover ✎ 重命名(与官方标题实时同步)。
  • 健康状态:顶栏模式标识右侧的健康芯片(竖条:绿=活跃 / 黄=工具执行中 / 红=疑似卡死),悬浮展开看详情,点击直达会话流详情页;总览卡片与详情实时条同步显示徽标。
  • 实时:运行中会话点「实时」,3 秒自动刷新。

外部依赖与运行条件

  • 运行环境:DSH Web GUI(0.1.2-rc.1 ~ 0.2.1-rc.2,逐版本兼容声明见 package.json 的 dsh.compatibility.dshReleases);Node.js ≥ 22.19(使用 Node 内置 zstd 解码,无第三方解码库)。
  • 运行依赖:仅 @deepseek-ai/schemastery(DSH 官方同源 schema 库;用于设置表单 schema 与 .volatile() 热更新)。
  • 无生命周期脚本:不声明 preinstall / install / postinstall / prepare,安装过程不执行任何脚本。
  • 以 Bundle Patch 方式挂载:cordis.patch.yml 只插入本插件自身条目,不禁用、替换或遮蔽任何官方组件。
  • 独立第三方项目,非 DeepSeek 官方组件;包名不使用 @deepseek-ai/* 命名空间。

权限与数据边界

访问范围用途边界
读 ~/.dsh/sessions/**解析会话存档(zstd/JSONL)生成索引与时间线只读,不修改、不删除会话文件
写 ~/.dsh/session-flow/**插件私有索引、时间线缓存、重命名映射只写此目录;缓存管理面板只清理这里
本机 POST /api/session-flow索引 / 详情 / 检索 / 导出 / 健康检查注册在 DSH 自带 webServer 上,沿用宿主登录鉴权;服务端不主动对外发起网络请求
读官方会话列表投影(sessions.list)列表标题、重命名同步只读;不修改官方状态
宿主 llm 服务(可选)LLM 摘要只经宿主已配置的模型调用,不引入额外供应商
  • 不收集遥测、不上报使用数据;ZIP 导出为本地文件。
  • 设置保存写入 DSH profile patch(~/.dsh/profiles/<profile>/cordis.patch.yml),与官方设置同一存储。

已知限制与风险

  • 会话存档是宿主实现细节:dsh 每次存档代际迁移(v1→v2→v3→v4)都可能改变读取口径。本插件按「代际号最大」自适应,并为 v4 的 isError 变化做了双口径兼容,但不保证未来全新格式零改动。
  • 索引为增量缓存:首次安装 / 升级后首次打开会全量扫描一次;数百 MB 的超大会话首扫较慢,不影响宿主数据。
  • **「详情并入右栏」**依赖官方右栏标签页体系(dsh ≥ 0.1.5)或旧 details 列(≤ 0.1.4);自定义外壳两者都没有时,按钮会禁用并提示原因。
  • LLM 摘要需要你已在 DSH 中配置可用模型;未配置时仅规则摘要可用。
  • DOM 级增强(轮次悬浮条 / 官方 rail 增强 / 健康芯片)通过 DOM 观察实现(官方未提供扩展槽位);宿主大版本若调整 DOM 结构可能静默失效,需随版本适配。
  • 不接管、不修改任何官方 UI 行为;与第三方皮肤 / 布局插件共存时,可能因布局差异需要额外适配。

致谢

本插件遵循 Apache-2.0 许可,使用第三方代码时保留其原始许可声明。

许可

Apache-2.0