tree-chat:在 DSH 里用对话树管理分支上下文

前言

在 DeepSeek Harness(DSH)里做长对话时,常见做法是顺着一条线性聊天记录往下走。一旦想从某个历史问题另开思路、对比几种方案,或者删掉中间几轮又希望后续回复仍基于「接好」的上下文,往往要在原生会话列表里来回切换,或手动新开聊天再复制要点。上下文路径和可见记录容易脱节。

tree-chat 是社区维护的 DSH 标准插件,在右侧栏用纵向对话树把「从哪一轮继续」「当前模型实际吃哪条路径」画出来,并支持分支、裁剪与可选的项目目录同步。下面介绍它的定位、能力与安装用法;事实以 GitHub 仓库 README 为准。

这是什么

tree-chat(维护者 DevourerM)是基于 DeepSeek Harness 构造的可视化树状上下文管理系统,在 SkillHub 等社区目录中归类为「记忆」类插件。它采用标准 dsh.bundle + dsh.client 格式,使用宿主原生右侧栏、字体与深浅色主题,无需改宿主安装文件。

插件当前版本 1.2.1,README 写明已在 DeepSeek Harness 0.2.0-rc.2 / 0.2.1-rc.2 与 Windows 上验证;其他系统与宿主版本尚未完成验证,不保证可用。通过 DSH 界面安装时不需要手动跑 Node、npm 或构建;发行包已含运行文件。

核心功能

对话树与上下文

  • 默认以纵向树展示对话:用户输入为主,权限提示、自动续跑等内部轮次可折叠,完整模型上下文仍保留。
  • 从任意历史节点创建持久分支,使用 DSH 原生输入框;首轮完成后内容填回同一节点,后续沿该枝生长。
  • 单击选中、双击定位到原生聊天对应消息;可拖动节点、缩放平移、搜索,并用「整理节点」按当前左右顺序规整布局(支持撤销、重做)。
  • 删除中间轮次时可选「保留后续」,插件自动接好路径并生成合适的原生上下文会话,不改写原始聊天文件;「删除整枝」则移除所选节点及其后代在树中的位置。

命名集合

相连节点可合并为命名集合,折叠为带名称与数量的卡片;展开、拆分、重新合并均不压缩成摘要,不改变上下文路径。集合相关结构编辑可撤销;删除集合只影响树与后续上下文,不物理删除原生聊天文件。

分支与权限

新建或切回分支时继承当前 DSH 权限设置(含自定义沙箱与审批组合)。权限仍由 DSH 原生服务写入与执行;无法启用宿主要求的审查集成时切换会失败并提示,不会悄悄降级。

项目同步

可选把树、集合、完整对话及附件写入项目目录下的 .tree-chat/(含 tree.json、conversation.md、sessions/*.jsonl、附件等),便于随 Git 迁移后在 DSH 中「读取为新对话」继续。同步开关与目录保存在本机 DSH 配置中,插件不会替你执行 git commit / push。直接手改同步目录内由插件管理的文件会触发校验保护。

数据与边界

原始 DSH 消息不被插件修改或物理删除;同树非当前会话会由原生归档收纳(置顶会话例外)。树元数据默认位于 $DSH_HOME/plugins/conversation-tree/graphs(Windows 上为 %USERPROFILE%\.dsh\plugins\conversation-tree\graphs)。插件自身不新增外部服务请求,聊天仍走 DSH 配置的模型与工具。

安装与启用

在 DSH 左侧打开 插件 → 添加插件,在 包名或地址 中粘贴发行包地址(推荐固定版本 .tgz,不要求本机安装 Git):

https://github.com/DevourerM/tree-chat/releases/download/v1.2.1/tree-chat-1.2.1.tgz

确认插件名为 tree-chat 后点击 安装,完成后 立即启用;宿主提示重启时按提示操作。打开普通聊天,点击页头树形 tree-chat 按钮即可显示右侧对话树。

也可使用带标签的 Git 地址:

git+https://github.com/DevourerM/tree-chat.git#v1.2.1

README 提醒:插件尚未发布到 npm,请勿只填写 tree-chat,以免解析到其他同名包。

网络受限时,可从 Releases 下载 tree-chat-1.2.1.tgz,在同一输入框填写 Host 电脑上的本机绝对路径(例如 C:\Downloads\tree-chat-1.2.1.tgz),不要选 GitHub 自动生成的 Source code ZIP。

更新前请查看新 Release 的宿主兼容性说明,通过 DSH 更新或重新安装流程填写新版本地址,避免同时启用多个副本。卸载不删除原生聊天与树数据;自动归档的会话仍可从 DSH 归档列表恢复。

典型用法

从某一轮深入讨论

  1. 在右侧树中选中要继续的节点。
  2. 点击卡片 +、顶部 新建分支,或节点菜单中的同名操作。
  3. 树上出现 新分支 节点,原生输入框切换到该分支;发送消息后,该轮在同一节点原位填入,后续聊天沿此枝生长。

未填写的空分支不会超时消失,刷新与重启后仍保留;双击空分支可继续填写。

裁剪中间轮次并保留后续

原路径为 起点 → 1 → 2 → 3 → 4 时,选中节点 2,打开 … → 删除节点… → 保留后续,得到 起点 → 1 → 3 → 4,后续聊天基于新路径。

合并与整理

框选相连节点(或 Shift 选路径),点击顶部 合并为集合 并命名;需要时用 拆分集合、取消集合 或 删除集合 调整结构。顶部 整理节点 在保留关系的前提下统一间距与层级。

快捷键(画布聚焦时)

快捷键 效果
Shift + Enter 从选中节点创建分支
Enter 定位选中节点
Ctrl / ⌘ + Z 撤销树编辑
Ctrl / ⌘ + Shift + Z 重做树编辑

完成新一轮聊天后,旧的树编辑撤销历史会清空,避免覆盖后来生长的节点。

项目内恢复对话

  1. 在 DSH 中打开对应项目的普通对话,点击 项目同步,选择目录后点 读取。
  2. 在「项目中的对话树」中选择记录,点击 读取为新对话。
  3. 验证通过后在新对话中继续;若要继续写入同一项目记录,再点 开启同步。

适用场景与注意

适合需要在 DSH 里长期推演、多方案分叉、又希望看清「当前回复用的是哪条上下文路径」的开发者或智能体使用者。同一棵树在左侧默认只保留当前会话可见,其他枝通过归档收纳,适合把探索性分支收在树里而不挤满会话列表。

安装与使用前请注意:

  • 插件在 当前 DSH 进程权限 下运行,安装前应自行查看 源码 与 MIT 许可证,并只从上述官方 Release 或可信路径安装。
  • 宿主升级后 API 或界面语义变化可能需要插件适配;以 README 中的 兼容性记录 与 Release 说明为准。
  • 同树生成进行中时,部分上下文结构操作需等待结束;项目同步有会话数、单文件与总量上限(见 README「项目同步与 Git 迁移」一节)。

社区插件目录(如 SkillHub 上的 tree-chat 页)由生态站点维护,与 DeepSeek / 幻方无官方从属关系;「一切皆插件」是 DSH 的产品思路,本文不将其描述为官方应用商店条目。

结尾

tree-chat 把 DSH 线性聊天收成可分支、可裁剪、可折叠集合的树状视图,并在需要时把完整记录落到 .tree-chat/ 随项目迁移。若你已在 0.2.0-rc.2 / 0.2.1-rc.2 环境的 Windows 上使用 DSH,可按上文地址安装 1.2.1 试用。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜