dsh-conversation-tree:不可变分支与消息级树状浏览

前言

DeepSeek Harness (DSH) 的插件生态允许扩展核心功能。在调试或与智能体交互时,开发者通常需要在对话的特定节点修改历史上下文,而不是重新开始。dsh-conversation-tree 专注于提供 ChatGPT 风格的消息级分支控制,通过内联编辑、重生成和树状浏览,让会话管理更加精细。

功能概述

这是一个 DSH Web 插件,由 Unintendedz 维护,开源协议为 MIT。它为 DSH 提供了不可变对话分支、内联分支切换以及全树浏览能力。

核心能力

  1. 等待消息处理:在回复运行时,接受的用户消息旁边会出现原生复制按钮。在此按钮旁可以点击「编辑等待消息」或「撤回消息」。编辑会保留附件,保存后更新队列中的输入。
  2. 重生成:在选定的回复前创建子会话,并按原始顺序重放从该回合开始的所有用户消息(包括后续的引导指令和附件)。运行时上下文会被排除。
  3. 编辑提示:将原始用户消息气泡变为紧凑的内联编辑器,预填文本和模型选择器。保存时会保留非文本附件,仅替换第一条用户消息,保留后续引导消息不变,并在新子会话中继续。
  4. 编辑回复:将原始助手消息变为内联编辑器。保存时会复制通过选定的回复,并在子会话中替换最后的回复,不调用模型。
  5. 内联切换:任何分支的用户消息或助手回复旁会显示 ‹ 2 / 5 › 这样的计数器。
  6. 消息树:共享的历史只出现一次,而编辑后的提示、重生成或编辑的回复会在确切的消息处分叉。点击任意消息路径可打开其会话。
  7. 逻辑对话:插件创建的分支会折叠到侧边栏的一行中。切换插件分支会改变该行打开的版本,而 DSH 原生的「Fork Session」会创建独立的侧边栏会话。
  8. 实时继续:从任何分支发送后续消息会立即更新当前聊天;完成一个普通回合不需要刷新页面。

安装与启用

插件要求 DSH 版本 0.1.5-rc.1。

dsh plugin --profile web add github:Unintendedz/dsh-conversation-tree#v0.8.0

安装后,重启 DSH Web 服务。

使用方法

在一个已完成的对话中,编辑操作会出现在消息下方。选择一个操作会替换该确切消息为预填充的内联编辑器和模型选择器。重生成操作保留在助手回复下方。拥有多个版本的消息在原生创建分支操作后会获得内联分支计数器。Tree 标签页可用于浏览完整消息树。

注意事项

  1. 版本兼容:版本 0.8.0 支持 DSH 0.1.5-rc.1 的 V3 会话格式和原生持久化句柄。若使用 DSH 0.1.2-rc.1,请保持插件版本 0.6.0。
  2. 旧版本分支:v0.4.3 或更早版本创建的分支没有来源标记。更新后,这些旧分支会显示为单独的侧边栏会话;新创建的分支会正常折叠。
  3. 本地草稿:未保存的草稿仅保存在当前编辑器中,页面刷新后丢失。
  4. 冷导航:冷导航会打开和关闭读取句柄,但不会激活会话。
  5. 错误处理:未知或格式错误的外部事件会被拒绝。没有服务接口的主机会报告模型选择错误。

总结

该插件通过在消息级别提供分支能力,辅助开发者更灵活地调试和迭代 DeepSeek Harness 会话。更多细节可在 GitHub 仓库 查看。

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

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

小夜