前言¶
在 DeepSeek Harness(DSH)中使用“在新对话中分支 / Branch into a new conversation”后,多个 Session 之间会形成父子与兄弟关系。原生按钮可以创建分支,但要在父会话、兄弟分支和子会话之间来回查看和切换,仍然需要一个新的谱系视图。
下面介绍 dsh-session-tree。它给 DSH 增加一个轻量、只读的会话谱系视图,用于查看当前对话的原生 fork 树,并在父会话、兄弟分支和子会话之间跳转。该视图不维护另一份分支数据库,分支创建仍由 DSH 原生完成。
插件定位¶
- 名称:
ZhengQingJing/dsh-session-tree - 维护者:
ZhengQingJing - 许可证:MIT
- 适配环境:DeepSeek Harness
0.1.0-rc.7,Node.js^22.19.0 || >=24.0.0 - 来源性质:非官方社区插件,不隶属于 DeepSeek,也未经 DeepSeek 背书
- 阶段说明:DSH 与本插件仍处于预发布阶段
社区插件目录是独立站点,不等同于官方应用商店。
核心功能¶
dsh-session-tree 提供以下能力:
- 安装后新增“版本树 / Branches”标签。
- 查看当前对话的原生 fork 树。
- 在父会话、兄弟分支和子会话之间跳转。
- 点击树中的节点即可切换到对应 Session。
- 只读取 DSH 原生
SessionSummary.parentId谱系,并执行客户端导航。
安装与启用¶
前置条件是 dsh 和 pnpm 已在 PATH 中;dsh plugin 会把依赖操作转交给 profile 内的 pnpm。
当前建议固定安装已验证版本。pnpm 11 默认对发布不足 24 小时的版本应用 minimumReleaseAge 保护;固定当前已验证版本可避免 @next 在这段时间内回退到旧版:
dsh plugin --profile web add dsh-session-tree@0.2.0-beta.1
安装完成后,如果刚安装或更新过插件,需要重启 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 状态、进程、网络请求或其他工具副作用。
- 不标注精确源
seq。 - 不提供命名 ref、HEAD、merge、rebase、cherry-pick、分支删除或文件系统快照。
- 当前 DSH 浏览器端插件 roster 在安装、更新或移除后仍需要重启。
- 树只展示当前客户端已经知道的 Session;尚未加载或已失联的 subagent 可能不可导航。
适用场景与注意¶
适合在 DSH web profile 中频繁创建分支、需要回到父会话或查看兄弟分支的开发者。
由于插件会随 DSH 加载,并以当前 dsh 进程权限运行,安装前应检查源码和许可证。本插件许可证为 MIT。DSH 与本插件仍处于预发布阶段,升级前请备份重要的 profile 和 Session 数据。
参考¶
- GitHub:https://github.com/ZhengQingJing/dsh-session-tree
- 插件目录页(来自插件线索):https://www.skillhub.cn/plugins/ZhengQingJing/dsh-session-tree