DeepSeek Harness 插件:dsh-session-tree-extension —— 追加式多分支对话树

在 DeepSeek-Harness (DSH) 中进行智能体开发时,对话历史通常以线性列表呈现。一旦继续对话,对过往路径的追溯或修改就会变得困难。dsh-session-tree-extension 插件提供了追加式、多分支的对话树结构,允许在任意历史节点分叉、克隆对话,并以合并的 WebUI 图表浏览整个血缘关系。

该插件由 robiteame 维护,旨在为 DSH 添加对话树功能。它采用追加式设计,所有节点均为不可变状态,分支和跳转仅移动光标,不修改旧分支。

核心功能

插件提供以下核心能力:

  • 追加式、多分支对话树:所有历史记录以节点形式存储,不可变。
  • 从任意历史节点分叉:在历史记录的任意位置创建新分支。
  • 克隆对话:将当前对话复制到新的独立会话中。
  • WebUI 浏览:通过合并的图表浏览完整的血缘关系。
  • 三个命令:/tree、/fork、/clone。

安装与启用

使用以下命令安装插件:

dsh plugin --profile <profile> add @robiteame/dsh-session-tree

安装完成后,重启对应的 Profile。配置层会增加三个组件(pi-agent-session-tree、tool-session-tree、ui-session-tree),分别提供域服务、命令和浏览器面板。可以通过以下命令验证安装:

dsh --profile <profile> --dump-config

典型用法

插件定义了三个命令,用于管理对话树:

  • /tree:打开右侧面板,显示当前会话血缘的合并图表。在该视图中,祖先节点、分叉点和克隆节点以 git 风格的视图展示,包含用户消息、助手回复、工具调用等连接节点。点击节点可绑定,点击其他会话节点可跳转至该会话。
  • /fork:从任意历史节点分叉。分叉后的新分支会出现在图表中,并在源会话的行下方显示为可折叠的内联菜单。原对话保持不变。
  • /clone:将当前对话复制到一个独立的新会话中。源对话保持只读,克隆的会话可以独立继续。

适用场景与注意事项

该插件要求以下环境:

  • DeepSeek-Harness 0.1.5-rc.2 或兼容的 0.1.5 构建。
  • Cordis ^4.0.2。

插件在运行时会检测分支选择 API。根据环境不同,支持三种模式:

  1. Native mode:在带有特定补丁的 DSH 检出中,直接使用原生 API 进行跳转和分叉。
  2. Stock mode:在标准 DSH 中,通过官方追加 API 模拟切换,并在本地存储分支状态。
  3. Projection mode:如果连模拟模式都不可用,仅移动面板和投影,不修改历史。

无论哪种模式,插件都不会修改 Harness 的核心文件。许可证为 MIT。

总结

dsh-session-tree-extension 为 DSH 提供了可视化的对话树管理能力,适合需要频繁调试历史分支或进行对话迭代的开发场景。通过不可变节点和清晰的命令接口,它简化了多分支对话的管理流程。

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

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

小夜