dsh-message-edit:DeepSeek Harness 的分支式消息编辑与版本时间线 DSH plugin
moeblack/dsh-message-edit
DSH plugin 分支式消息编辑、重掷、重试与版本时间线,基于事件溯源保留完整历史。
为 DeepSeek Harness 提供基于事件溯源的消息编辑、重掷、重试与版本时间线能力,让每次修改都生成新会话版本,原会话始终可回退。
dsh plugin --profile web add github:moeblack/dsh-message-edit- 分类
- 会话与消息
- 平台
- DSH-Plugin
- 作者
- moeblack
- 分发方式
- 插件
dsh-message-edit 核心特性
dsh-message-edit 仓库信息

dsh-message-edit 仓库简介
dsh-message-edit 是 DeepSeek Harness(DSH)的会话编辑插件(DSH plugin),由 Moeblack 维护,采用 TypeScript 编写,基于事件溯源为会话提供分支式消息编辑、重掷(reroll)、重试(retry)与版本时间线能力。它解决的是在 AI 会话中修改或重新生成消息时,历史记录被破坏或无法回退的问题:每次编辑或重生成都会从目标回合之前创建一个新会话版本,原会话始终保留并可随时切回。核心能力包括编辑用户文本、思考块与助手回复,从任意历史回合分支重试,以及通过级联策略(truncate 或 preserve)控制后续内容的处理方式。
dsh-message-edit 这个 DSH plugin 支持哪些核心编辑与重生成操作?
该插件支持三类核心操作:编辑已落定的用户文本、assistant.reasoning 思考块与 assistant.response 回复文本;从最后一条已落定助手回复所属回合之前分支,使用原用户输入重新生成;以及在 Timeline 中选择任意历史回合重新执行。级联策略中,truncate(默认)只重新执行目标输入并删除后续旧内容,preserve 则保留后续用户输入并在新分支中依次重新执行,助手输出与工具链全部重新生成。
dsh-message-edit 的版本时间线与撤销重做机制如何工作?
插件把完整回合作为效果原子,每次操作追加一个不可拆分的 message-edit/version 效果对,记录正向效果与恢复目标。会话标题栏的 ← 撤销当前原子效果,→ 重施加最新直接子效果;Timeline 标签页注册到 conversation.view(order: 15),展示完整已知分支树、操作时间、编辑前后内容与当前版本。撤销遵循 LIFO,各后继分支始终保留,可从父版本重新施加。
dsh-message-edit 如何与 DeepSeek Harness 的 Agent 和 Session 接线?
插件只使用 AgentRegistry.create() 公开的 seed + meta 事务缝,在来源 Agent 的 runMaintenance() 内从已闭合边界取得不可变 seed,用纯事件构造器加入版本效果对,再调用 ctx.agents.create()。Session 在 Agent 构造前一次性验证完整 seed,失败时由 AgentFactory 结构性逆撤销,外部观察者看不到半成品。发布后调用 ctx.sessions.flush() 建立耐久性屏障,Workspace 挂接与 child Agent 生命周期返回原子逆,操作失败时按相反顺序组合恢复。
dsh-message-edit 怎么安装?
安装命令如下,使用官方插件注册方式:
dsh plugin --profile web add github:moeblack/dsh-message-edit
本地开发时可用 -w link: 方式链接源码目录。构建基于 npm 发布的 @deepseek-ai/*@0.1.0-rc.6 类型,生成 index.mjs(Host 插件)与 client.js(Browser 插件)。
dsh-message-edit 的 UI 与数据模型有何特点?
UI 组件使用 CSS Modules 与 --dsw-* 语义 token,不引入 UI 库,产品文案为中文。数据模型在每个版本的非继承后缀中包含 message-edit/version 事件,会话头的 parentSession 构成版本树,Timeline 通过 ctx.sessionQuery.traceSession() 生成完整值级投影。旧版平面事件仍可读取并规范化为同一效果对。该插件最近更新于 2026-08,采用 MIT 协议,当前有 24 Stars 与 3 Forks。