在使用 DeepSeek Harness 时,如果你只需要修正对话历史中的某一次回复或工具调用,通常只能通过重启会话来解决。这会丢失后续的上下文。dsh-turn-delete 插件提供了精确删除单个轮次的能力。
是什么¶
这是一个 Memory 类插件,由 TiJun-Prime 维护。它允许删除已完成的顶层轮次,而不删除会话本身。被删除的轮次从后续模型上下文中移除,而会话 ID、标题、工作区关联、后续轮次以及原始 append-only 事件日志全部保留。
核心功能¶
- 显示删除按钮:已完成的顶层轮次(subagent 会话不显示)最后一条助手回复旁会出现一个垃圾桶按钮。
- 确认机制:删除前必须进行确认。
- 即时生效:删除成功后,该轮的行就地隐藏,不需要切换会话再切回来。
- 持久化:持久化墓碑(tombstone)机制确保刷新页面或重启 profile 后,被删轮次依然不出现。
- 安全范围:Session 的 system prompt 节点永远不会被算进删除区间。
- 幂等性:重复提交同一次删除是安全的。
- 错误处理:对于未完成的轮次或已被折叠进 compaction 摘要的轮次,插件会拒绝删除并说明原因。
安装与启用¶
从 GitHub 安装(需要本地已有对应凭据):
dsh plugin --profile web add github:TiJun-Prime/dsh-turn-delete
安装后重启 dsh web(桌面版需重启应用)或在插件面板中重新启用该插件。
典型用法¶
- 在对话界面中,找到已完成且显示垃圾桶图标的顶层轮次。
- 点击垃圾桶图标。
- 在弹出的确认框中确认删除。
如果升级内核后发现按钮消失,可在插件面板里重新启用本插件,或直接重启应用。
适用场景与注意¶
- 权限与安全:插件以 Harness 进程的权限运行。安装前应审阅源码。删除操作仅改变模型上下文,原始 append-only 事件日志会被保留用于审计和回放。
- 兼容性:支持 DeepSeek Harness 0.1.5-rc.2 和 0.2.0-rc.1。需要 Node.js 22.19 或更高版本。支持 Web profile 和基于 Web 的桌面套壳。
- 依赖维护:该插件保持了与 hanshenmesen/dsh-turn-delete 的兼容性。
结尾¶
这个插件解决了在保留会话结构的前提下调整对话上下文的痛点,适合需要精细化管理对话历史的开发者。更多细节请参考 GitHub 仓库 或 插件目录页。