DSH 会话信息流重设计插件:跨会话档案柜,折叠时间线、血缘树、检索、双模式摘要、ZIP 导出、实时跟踪。重新设计 DSH 会话信息流:跨会话归档,带折叠时间线、血缘树、检索、摘要、ZIP 导出和实时跟踪。
37.9/100
综合分
4
GitHub 星标
469
npm 周下载
—/5
用户评分
数据截至 2026/10/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-session-flownpm 源 · dsh-session-flow 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · ui
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 16 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-session-flow @ 1.5.0
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/31 07:31:31
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 46 处,展示前 31 条)
- 读取本地文件lib/host.js:249
const disk = JSON.parse(readFileSync(cacheFile, 'utf8')) - 读取本地文件lib/host.js:273
if (!existsSync(dir)) mkdirSync(dir, { recursive: true }) - 写入本地文件lib/host.js:273
if (!existsSync(dir)) mkdirSync(dir, { recursive: true }) - 写入本地文件lib/host.js:274
writeFile(cacheFile, JSON.stringify({ - 读取本地文件lib/host.js:295
files = readdirSync(td) - 读取本地文件lib/host.js:300
try { st = statSync(p) } catch { return null } - 删除本地文件lib/host.js:312
try { rmSync(f.p); removed += f.size } catch {} - 读取本地文件lib/host.js:840
try { st = statSync(found.file) } catch { st = null } - 读取本地文件lib/host.js:895
try { st = statSync(found.file) } catch { st = null } - 删除本地文件lib/host.js:1403
rmSync(p) - 发起网络请求lib/client.js:3
`);window.__ModuleLoader__.load({id:"dsh-session-flow",factory:je=>{var nt={exports:{}},Pn=nt.exports;let st=je("react"),{useState:S,useEffect:P,useMe - 读取本地文件lib/archive.js:186
const buffer = readFileSync(file) - 读取本地文件lib/archive.js:191
return readFileSync(file, 'utf8') - 读取本地文件lib/archive.js:371
try { entries = readdirSync(sessionDir, { withFileTypes: true }) } catch { return null } - 读取本地文件lib/archive.js:399
if (!existsSync(root)) return [] - 读取本地文件lib/archive.js:401
for (const name of readdirSync(root)) { - 读取本地文件lib/archive.js:404
try { st = statSync(dir) } catch { continue } - 读取本地文件lib/index-store.js:38
const raw = JSON.parse(readFileSync(workspaceIndexFile(home, wsName), 'utf8')) - 读取本地文件lib/index-store.js:48
if (!existsSync(dir)) mkdirSync(dir, { recursive: true }) - 写入本地文件lib/index-store.js:48
if (!existsSync(dir)) mkdirSync(dir, { recursive: true }) - 写入本地文件lib/index-store.js:51
writeFileSync(tmp, JSON.stringify(index, null, 2)) - 写入本地文件lib/index-store.js:52
renameSync(tmp, file) - 读取本地文件lib/index-store.js:124
if (!existsSync(root)) return null - 读取本地文件lib/index-store.js:125
for (const wsName of readdirSync(root)) { - 读取本地文件lib/index-store.js:127
try { if (!statSync(wsDir).isDirectory()) continue } catch { continue } - 读取本地文件lib/renames.js:26
if (!existsSync(renamesFile(home))) return renames - 读取本地文件lib/renames.js:27
const raw = JSON.parse(readFileSync(renamesFile(home), 'utf8')) - 读取本地文件lib/renames.js:45
if (!existsSync(dir)) mkdirSync(dir, { recursive: true }) - 写入本地文件lib/renames.js:45
if (!existsSync(dir)) mkdirSync(dir, { recursive: true }) - 写入本地文件lib/renames.js:48
writeFileSync(tmp, JSON.stringify({ version: RENAMES_VERSION, items: Object.fromEntries(renames) }, null, 2)) - 写入本地文件lib/renames.js:49
renameSync(tmp, file)
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-runtime给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
界面预览
6 张 · 点击查看大图功能亮点
- 跨会话档案柜
- 折叠时间线
- 检索与ZIP导出
最近更新
在 GitHub 查看全部 →v1.5.02026-10-18
P1-A 系列:会话变更清单 + 文件反查 + 差异级变更视图(用户验收通过)。
· 新增
· 会话变更清单:详情页新增折叠区——按文件生命周期语义分组「新建文件 / 编辑文件 / 执行命令」,各带回合号(点击展开并定位该回合)
· 差异级变更视图:清单条目可展开 diff 卡——卡内固定文件头(路径 + 新建/覆盖/编辑徽标 + 回合号);edit 行级红删绿增(公共首尾各留 2 行上下文);write 显示「新建/覆盖 · N 行」
· 命令成败标记:执行命令按 tool 结果标红失败项(✗ + 划线)
· 文件↔会话反查:总览新增「文件反查」——输入路径片段列出编辑过匹配路径的会话(按时间倒序、点击直达详情);多会话且时间窗重叠亮 ⚠ 强标记(并行改动风险),先后改动显示弱标记 ×N
· 侧边栏入口对齐官方 panelRow 规范(min-height 36 / radius-md / label-primary / interactive-bg-hover / 图标 18px;挂载进官方 panelList 导航容器)
· 变更
· 索引格式升级(INDEX_VERSION 6→9):changes(写入/修改/命令清单,含 failed / isNew)+ editedFiles 反查索引;升级后首开自动全量重扫一次
· 时间线磁盘缓存带格式版本(新增派生字段立即生效,不再按 mtime 命中旧缓存)
验证:全套 24 脚本绿;真机验收通过(变更清单/反查/侧栏对齐/冲突标记)。
v1.4.92026-10-18
修复 DSH STORE 目录里 dshReleases 全 unknown 的根因,并修正运行时兼容声明的解析方式。
· 修复
· dshReleases 全 unknown 的根因:商店扫描器会把每个声明的 release 再按 engines.dsh / @deepseek-ai/dsh-* peer 范围复核;此前 dsh peer 范围是 "*",商店的 parseDshRange 不支持 (仅 >= =0.1.2-rc.1 <0.3.0" 并把 dsh- peer 改为同一范围,商店将保留逐版本 dshReleases 的真实状态
· 运行时兼容判定改由 engines.dsh 单独决定(dsh 官方语义:有 engines.dsh 时忽略 dsh-* peer),对 0.1.2-rc.1 ~ 0.2.1-rc.2 行为不变
代码无功能改动;验证:设置模型 / 客户端 factory 回归通过。
v1.4.82026-10-18
纯文档版本:README 补齐 DSH STORE 提交自检所需的合规信息(中/英双份)。
· 文档
· 外部依赖与运行条件:运行环境与逐版本兼容声明位置、Node ≥ 22.19(内置 zstd)、唯一运行依赖 @deepseek-ai/schemastery、无生命周期脚本、Bundle Patch 只插入自身、第三方项目与命名空间声明
· 权限与数据边界:读 ~/.dsh/sessions 只读 / 只写插件私有目录 / 本机路由走宿主鉴权且不对外发请求 / 只读官方会话投影 / 可选宿主 llm 服务;不收集遥测,ZIP 本地导出,设置写入 profile patch
· 已知限制与风险:存档代际演进、首扫性能、并入右栏的版本依赖、LLM 摘要前置条件、DOM 级增强随宿主 DOM 变化的适配风险、与官方 UI 的边界
代码无改动(v1.4.7 功能不变)。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。
README
由 DeepSeek 最新模型翻译生成dsh-session-flow — DSH 会话回顾与归档插件
把 DSH 会话的原始消息流重构成「可折叠的信息流 + 会话级汇总」:每个会话变成一张档案卡,跨工作区回顾、检索、导出。官方会话视图(Trajectory / Chat)擅长正在发生的微观检查,本插件补足事后回顾 / 归档 / 洞察这一层。
界面一览
| 总览工作台 | 会话流标签页 |
| 总览工作台 | 会话流标签页 |
| 会话卡片墙:标题、状态、结论摘要行、首个任务;hover ✎ 行内重命名 | 原生会话页内嵌「会话流」标签:当前会话直接回顾 |
| 轮次悬浮条 | 跨会话全文检索 |
| 轮次悬浮条 | 跨会话全文检索 |
| 对话页左侧轮次导航:收拢短横条 ⇄ 展开条目卡,一键跳转任意轮次 | 总览自由文本搜索触发全文模式:跨工作区召回,命中直达定位 |
| 详情并入右栏 | 折叠详情页 |
| 详情并入右栏 | 折叠详情页 |
| 详情并入官方右侧面板:主对话与会话流并行,拖拽调宽 | 回合默认折叠,展开按真实时间序;右侧四标签导航 |
功能
| 能力 | 说明 |
| 总览工作台 | 会话卡片(状态/错误/耗时)+ 结论摘要行;排序、筛选、工作区 tabs |
| 结构化搜索 | tool: file: err: 前缀 + 自由文本 |
展开完整文档(README 剩余 1 节)
dsh-session-flow — DSH 会话回顾与归档插件 把 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 行为;与第三方皮肤 / 布局插件共存时,可能因布局差异需要额外适配。 致谢 - DeepSeek Harness (dsh) —— 运行基础。 - @deepseek-ai/dsh-session-persistence-jsonl —— zstd 多帧扫描算法(lib/archive.js 借鉴,MIT 许可)。 - dsh-web-ui(@linxin666 全家桶) —— 侧边栏入口与面板挂载模式参照,未复制代码。 - dsh-webui-market-plugin —— 插件市场机制与分发渠道。 本插件遵循 Apache-2.0 许可,使用第三方代码时保留其原始许可声明。 许可 Apache-2.0
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
YeqingTang/dsh-session-flow
DSH 会话信息流重设计插件:跨会话档案柜,折叠时间线、血缘树、检索、双模式摘要、ZIP 导出、实时跟踪。重新设计 DSH 会话信息流:跨会话归档,带折叠时间线、血缘树、检索、摘要、ZIP 导出和实时跟踪。
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,350已汉化DSH
71.5
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,506已汉化DSH
71.1
AI 矢量设计工具ZSeven-W/openpencil
全球首个 AI 原生开源矢量设计工具。
★ 7,027已汉化DSH
71.1
这是你的仓库?认领条目