dsh-conversation-rollback:会话回滚与会话大纲轨道插件

前言

在 DeepSeek Harness (DSH) 的 Web UI 中,修改历史输入或回退到之前的对话状态往往需要手动操作或创建新会话。dsh-conversation-rollback 插件旨在解决这个问题,它为 DSH 提供了 Codex 风格的会话回滚、内联编辑输入并重新生成,以及右侧的会话大纲轨道。

核心功能

该插件主要提供以下三种能力:

1. 编辑输入
用户可以在用户消息气泡的操作行中点击 ✎ 图标。这会打开一个内联编辑器。保存后,主机端会截断会话日志,仅保留该回合之前的记录,并将编辑后的文本作为新消息推送到 Agent 收件箱,促使模型重新生成回答。原始回复及后续的所有回合将被删除。

2. 回滚到此
在助手回答的底部,有一个 ↩ 按钮。点击该按钮(通常需要二次确认)会删除当前回合之后的所有消息,并在此处继续对话。这是一种破坏性的操作,意味着原始回复和后续的所有消息将永久移除。

3. 会话大纲轨道
这是 v1.4.0 引入的新功能,将原本独立的 dsh-session-toc 插件合并至此。
* 展示形式:默认为右侧边缘 26px 宽的条带,每个用户发送的提示显示为一个勾选框。当前视口顶部的回合对应的勾选框会高亮显示(蓝色)。
* 展开交互:鼠标悬停、点击条带上的 ☰ 图标或使用 Ctrl/Cmd+Shift+O 快捷键均可展开。展开后显示包含回合编号、时间戳和“steer”标记的列表。
* 跳转:点击列表中的某一行或对应的勾选框,会自动滚动到该回合并高亮显示。
* 搜索:输入关键字可以筛选当前加载窗口的内容。如果没有匹配项,它会自动向后翻页加载历史记录(最多 40 页)直到找到匹配或历史结束。
* 生效范围:仅 user 和 steering 聊天节点会进入大纲轨道。空白输入、仅图片输入、工具调用行和注入的上下文会被排除。

安装

安装前请先确定 DSH 进程使用的 profile(是 web 还是 desktop)。

dsh plugin --profile <web|desktop> add github:sharedcare/dsh-conversation-rollback#<sha-or-tag>

建议指定具体的 commit 或 tag 以避免后续更新导致的代码变更。该命令会将插件添加到选定的 profile 中并自动注册。

典型用法

编辑并重新生成
在对话中,找到你发送的消息气泡,点击旁边的 ✎ 图标,修改文本后保存。系统将基于修改后的内容重新生成回答。

回滚对话
如果对当前的回答不满意,点击助手回答底部的 ↩ 按钮,将对话重置到该回答之前的状态,并继续后续的对话。

导航与跳转
在对话右侧的大纲轨道中,点击任意一行或勾选框,可以快速跳转到该回合并高亮显示。轨道支持搜索功能,方便在长对话中定位特定内容。

开关大纲轨道
前往 DSH 的 设置 -> 通用 -> 会话大纲,可以开启或关闭右侧的大纲轨道。

注意事项

  • 不可逆操作:回滚操作是破坏性的,原始回复及后续所有消息将被永久删除,无法撤销。
  • 图片编辑限制:目前不支持编辑包含图片的输入内容。
  • 操作限制:当会话正在运行、属于子代理会话,或存在未完成的回合时,相关操作按钮将不可用。
  • 大纲轨道范围:只有用户输入和引导消息(steering)会显示在大纲轨道中。
  • 环境要求:该插件需要 DSH 安装了 web profile(dsh web)或 desktop profile。

结语

dsh-conversation-rollback 通过提供精确的回滚和编辑能力,以及直观的大纲轨道,显著增强了 DSH Web UI 在会话管理方面的灵活性。对于需要反复调试提示词或管理长对话的开发者而言,这是一个实用的工具。

插件目录:https://www.skillhub.cn/plugins/sharedcare/dsh-conversation-rollback
GitHub 仓库:https://github.com/sharedcare/dsh-conversation-rollback

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

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

小夜