前言¶
DeepSeek Harness(DSH)的会话日志是 append-only 的事件流。一旦提示词或模型回答有误,错误信息会留在上下文中污染后续每一轮对话。官方目前只有摘要式的压缩功能(/compact),缺少“修改刚才那句话然后重来”的机制。dsh-edit-turn 插件补上了这一块:它允许在原位置直接编辑消息,并在底层使用官方的 surface-replace 契约完成替换,保存时不会调用模型。
这是什么¶
dsh-edit-turn 是 DeepSeek Harness 的插件,由 DDDMUC 维护。它实现了对会话中任意消息的原地编辑:修改提示词会直接替换该条消息,修改模型回答则会替换回答内容并回退重放后续轮次。该插件不修改原始字节日志,而是通过追加替换事件来实现。
核心功能¶
- 原地编辑消息:支持编辑用户消息(直接替换)和模型回复(替换后重放后续轮次)。
- 官方契约:使用官方的
surface-replace契约进行替换,保存时不触发模型调用。 - 附件编辑:支持编辑带附件的消息(0.2.19+),保留未修改的附件块。
- 重跑集成:与姊妹插件
dsh-rerun-turn配合,编辑器内提供“重跑”按钮,用于重新生成该轮对话。 - 界面与交互:支持中英双语 UI,皮肤友好的不透明面板,支持键盘快捷键(Enter 保存、Esc 取消)。
安装与启用¶
安装前需确保环境满足依赖要求:Node.js >= 22,并已安装依赖 @deepseek-ai/schemastery 以及特定版本的 dsh-settings 和 dsh-tools。
dsh plugin --profile web add dsh-edit-turn
安装后重启对应 profile 的 DSH 进程即可生效。
典型用法¶
- 编辑用户消息:把鼠标移到你想改的用户消息上,点击右侧的编辑图标(铅笔),修改文本后保存。只有这一条消息被替换,下面的回复与后续对话原样保留。
- 编辑模型回复:悬停模型回复,点击编辑图标,修改文本后保存。这条回答被替换,它后面的轮次会先回退、再逐事件重放回原位。
- 重跑对话:安装
dsh-rerun-turn后,在编辑器中点击“重跑”按钮,先保存修改,再用改后的内容重新生成这一轮对话。
注意事项与适用场景¶
- 版本依赖:需要安装
dsh-rerun-turn才能使用重跑功能。 - 功能限制:模型回答中的工具调用与思考过程无法保留(仅保留文本),因为工具调用的结果已不再成立。
- 权限要求:插件以当前 DSH 进程的权限运行,安装前应检查源码与许可证。
- 配置项:保存默认为“一次点击即执行”,可通过配置开启二次确认。
总结¶
dsh-edit-turn 提供了 DSH 原生缺乏的“就地编辑”能力。它通过官方的 surface-replace 机制,在不调用模型的情况下修改会话历史,配合 dsh-rerun-turn 实现完整的“改写-重跑”工作流,适合需要精细化调试 Prompt 或修正模型回复的开发者。
- 插件目录:https://www.skillhub.cn/plugins/DDDMUC/dsh-edit-turn
- GitHub 仓库:https://github.com/DDDMUC/dsh-edit-turn