前言¶
DeepSeek Harness 使用追加日志存储对话。普通的“撤回”操作仅重置上下文,artifact 文件的状态并不会随之改变。dsh-retrace 将对话与其 artifact 版本绑定,确保每一次回溯都是合法的,不会破坏日志结构,也不会产生 token-meter 配对债务。
插件简介¶
- 名称: dsh-retrace
- 定位: DeepSeek Harness 客户端插件,支持 Web 和 Desktop 端
- 核心价值: 为对话提供 Recall(撤回)、Resend(重发)和 Regenerate(重新生成)功能,并提供 Artifact 版本管理与回滚能力
- 维护者: yamingmou
- 许可证: MIT
核心功能¶
该插件在对话界面提供了三种基础操作以及一套版本管理机制:
-
Recall (↩)
- 悬停在任意助手回复上,或用户消息下方的行上即可触发。
- 操作前会弹出确认框(这是一次破坏性操作,会移除该消息及其之后的所有内容)。
- 确认后,插件会先通过官方接口暂停当前运行的 Agent,等待(有超时限制)。
- 移除本轮对话(包括输入文本、助手回复、工具调用行)。
- 输入文本会回显到编辑器中,允许用户重新提问或编辑。
-
Resend (✎)
- 悬停在任意用户消息下方的行上即可触发。
- 主要含义是“从此处重新开始”:重置该消息及之后的所有内容,并在新时间线上继续对话。
- 如果范围过大导致无法原地重写,系统会提供备选方案(仅修改该条消息文本,保留后续内容)。
-
Regenerate (↻)
- 悬停在任意助手回复上即可触发。
- 隐藏该回复及之后的所有内容,并重新发送原始 Prompt,让 Agent 重新回答。
-
Checkpoints & Artifact Rollback
- 每次回溯都会记录为 Checkpoint,并在对话视图中提供 Checkpoints 标签页,以大纲形式展示嵌套的历史记录。
- 支持 Artifact Rollback,可选择仅回滚上下文、仅回滚 Artifact 或两者都回滚,并支持 Dry-run 预览。
- 支持从 Checkpoint 一键跳转回对话指定位置。
安装与启用¶
命令行安装¶
需要安装 DeepSeek Harness 的 dsh CLI。安装后必须重启 DSH 应用(当前运行的进程不支持热重载)。
dsh plugin --profile desktop add dsh-retrace
图形界面安装¶
如果没有命令行环境,可以安装社区插件市场插件,然后在设置中查找并安装:
dsh plugin --profile desktop add dshmarket
安装完成后,在 Settings -> Plugin Market 中找到 dsh-retrace 并点击安装。
典型用法¶
- 撤回与重新生成: 鼠标悬停在助手回复上,点击 ↩ 或 ↻。
- 重发: 鼠标悬停在用户消息上,点击 ✎。
注意事项¶
- 重启要求: 安装后必须重启 DSH 应用才能生效。
- 旧版本标记: 对于已经包含旧版本单段标记的会话,已知存在设计债务。在进行
/compact操作前,建议运行配套的check和fix --remove-markers清理这些标记,否则主机自身的预压缩自检会阻止压缩操作。 - 许可协议: 本插件采用 MIT 许可证。
结语¶
dsh-retrace 旨在为 DeepSeek Harness 提供生产级的对话版本控制能力。若需了解更多细节或查看源码,请访问其 GitHub 仓库。