插件目录 / Knowledge / dsh-session-tree
dsh-session-tree
已验证 · 实测可装 ZhengQingJing
功能简介
DSH 类似 Git 的不可变会话分支
可用 — 实测通过,早期项目
DSH 类似 Git 的不可变会话分支 实测能干净安装、正常启动。早期项目,但功能可用。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
dsh-session-tree
dsh-session-tree 为 DeepSeek Harness(DSH)补充一个轻量、只读的会话谱系视图:查看当前对话的原生 fork 树,并在父会话、兄弟分支和子会话之间跳转。
[!IMPORTANT]
非官方社区插件。 本项目不隶属于 DeepSeek,也未经 DeepSeek 背书。DSH 与本插件仍处于预发布阶段,升级前请备份重要的 profile 和 Session 数据。
当前版本面向:
- DeepSeek Harness
0.1.0-rc.7。 - Node.js
^22.19.0 || >=24.0.0。
安装
npm 包已经预编译,不需要运行本地构建脚本,也不会为 profile 再安装一整套 DSH Client 依赖:
前置条件只有 dsh 和 pnpm 已在 PATH 中;dsh plugin 会把依赖操作转交给 profile 内的 pnpm。
dsh plugin --profile web add dsh-session-tree@next
dsh --profile web
安装后打开任意对话,页面会新增 版本树 / Branches 标签。如果刚安装或更新过插件,请重启 DSH 并重新加载浏览器页面。
可在启动前检查组合结果:
dsh --profile web --dump-config
输出中应包含一条 dsh-session-tree 配置行。
使用
- 在 Chat 中找到一个已完成的 assistant 回复。
- 使用回复操作区里 DSH 原生的 在新对话中分支 / Branch into a new conversation 按钮。
- 打开 版本树 / Branches 标签,新建的子 Session 会自动出现在当前会话家族中。
- 点击树中的节点即可切换到对应 Session。
分支创建由 DSH 自己完成;本插件不复制 fork 协议,也不维护另一份分支数据库。
核心边界
- 只读取 DSH 原生
SessionSummary.parentId谱系并执行客户端导航。 - 不追加 Session 事件,不修改 parent pointer,不创建 side store。
- 对缺失父节点、循环谱系和超大谱系进行有界、只读的降级展示。
- 卸载插件不会删除或改变任何原生 Session。
- 对话分支只改变后续模型上下文;它不会撤销文件修改、命令、Git 状态、进程、网络请求或其他工具副作用。
更新与卸载
更新预发布版本:
dsh plugin --profile web update dsh-session-tree@next
卸载:
dsh plugin --profile web remove dsh-session-tree
完成后重启 DSH。卸载只移除视图与配置层,现有分支仍是普通的 DSH Session。
已知限制
- 公开 Session summary 暂不包含解析后的 fork 边界,因此树边不能标注精确源
seq。 - 不提供命名 ref、HEAD、merge、rebase、cherry-pick、分支删除或文件系统快照。
- 当前 DSH 浏览器端插件 roster 在安装、更新或移除后仍需要重启。
- 树只展示当前客户端已经知道的 Session;尚未加载或已失联的 subagent 可能不可导航。
开发
pnpm install --frozen-lockfile --ignore-scripts
pnpm run verify
pnpm pack --dry-run
浏览器产物必须使用 DSH 的 lazy CommonJS factory 格式,并共享宿主的 React、Cordis 与 Client services。项目保留 bundle、循环谱系、深链和大型树门禁,避免为追求代码行数而削弱加载与故障安全。
维护者与贡献者
- 维护者:ZhengQingJing
- 贡献者:ZeXin Lin (@webDrag0n)
简要设计和安全不变量见 DSH_SESSION_TREE_DESIGN.md。
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-session-tree」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
Web profile:
dsh plugin --profile web add dsh-session-tree Headless(CLI)profile:
dsh plugin --profile headless add dsh-session-tree 包信息
npm:dsh-session-tree · 版本 — · 实测环境 dsh 0.1.0-rc.6
实测报告
端到端验证通过:dsh 0.1.0-rc.6 上 L1 安装 + L2 加载 + L3 运行问答。
使用场景
给 agent 一套记忆、知识库或检索层,让它不再跨会话丢上下文。
适合谁
跑长项目、想让 agent 记住决策、文档和偏好而不用每次重讲的人。
二次开发建议
记忆/检索后端是缝——插新存储、调蒸馏策略,或加引用与审计轨迹。