mbj733/dsh-edit-resend
mbj733★ 2TypeScript最后同步: 2026-08-14
DeepSeek Harness (DSH) plugin: edit sent messages and resend (stop an in-flight reply, edit, resend), plus branch-based edit / reroll / retry and a version timeline.
README 摘要
dsh-edit-resend DeepSeek Harness (DSH) 插件:在消息已发送之后 原位编辑并重新发送 ——包括 停止正在进行的回复、编辑、重新发送 ,以及重生成 / 重试任意回合。 单对话模式 :修改后旧版本自动归档、标题不变,侧边栏始终只保留一个对话。 与上游 dsh-message-edit 的关键区别:本插件的 版本元数据存在会话日志之外 ( DSH HOME/storages/dsh-edit-resend/versions.json ),从不往会话日志写自定义事件类型,因此不会触发宿主重启后的 SessionFormatUnsupportedError ,会话始终可恢复。 功能 - 停止并编辑重发 :回复进行中,标题栏出现「■ 停止」;停止后,最后一条消息仍可编辑,点「编辑」→ 修改 →「重新发送」,从该消息开始重新生成。 不会产生重复消息 ,旧版本自动归档。 - 编辑已落定消息 :编辑用户文本、助手思考(reasoning)与助手回复(response)。 - 重生成 :用原输入重新生成最后一条已落定回复。 - 重试任意回合 :在 Timeline 中选任意历史回合重跑。 - 级联策略 : truncate (默认,截断后续)/ preserve (保留后续用户输入依次重跑)。 - 单对话模式 :每次编辑 / 重生成 / 重试都会归档旧版本并沿用原标题,侧边栏只保留一个对话;「编辑与重发」标签页可查看当前版本与消息。 安装 安装后重启 dsh( dsh web )即生效。 构建 生成 index.mjs (Host 插件)与 client.js (Browser 插件)。 架构 - Host 半 ( src/host.ts ,注入 sessions / agents / sessionQuery / workspaceRegistry / webServer ):通过 ctx.agents.create({ seed, meta }) 事务缝从目标回合之前分支; parentSession 落在会话头建立谱系,版本效果元数据落在插件私有 JSON 存储。 - Client 半 ( src/client/ ,注入 slots / conversation / connection / sessions ):注册 conversation.view (「编辑与重发」标签页)与 conversation.session.header.actions (停止 / 重生成),并用 MutationObserver 把「编辑 / 重试」按钮注入到消息操作行。 - HTTP 接口 : GET /edit-resend?sessionId= (时间线投影)、 POST /edit-resend ( edit / reroll / retry …
在 GitHub 查看完整 README →