前言¶
在 DeepSeek Harness Web 里调试提示词时,发错一条消息往往意味着整段对话要重来,或者手动复制粘贴、开新会话再补上下文。社区里也有撤回类插件,但不少实现会在确认阶段就改动 context,中途退出还可能留下缓存或会话状态不一致的问题。
DSH-EasyRewrite(dsh-easyrewrite)面向 DSH Web 客户端,用官方扩展点实现消息撤回与气泡原位重编辑。维护者为 Renzic-Stone,当前版本 2.3.0,MIT 许可证,GitHub 约 51 stars。下面介绍它的定位、能力与安装用法。
这是什么¶
DSH-EasyRewrite 是 DSH Web 的客户端插件,解决两类问题:
- 撤回(Recall):从某条用户消息起,截断该消息及其后的提问。
- 重编辑(Rewrite):单击自己的消息气泡,原位修改 Markdown 原文后重发。
插件声明兼容 DeepSeek Harness Web(rc.6+),通过 keyed 槽覆盖、官方 fork RPC 等扩展点工作,不修改 DSH 源码;卸载后不改动官方文件。
核心功能¶
撤回(Recall)¶
每条用户消息的官方复制键旁会出现撤回键。点击后弹出 DSH 风格确认胶囊(例如「撤回这条消息及其后 x 条提问?」),确认后文本回填到输入框,真正截断发生在按「发送」时——在此之前关闭 DSH,对话与模型 context 不变。
发送后执行「无痕替换」:原会话归档,同名新会话顶替到目标消息之前,修改后的文本自动发出。输入框内会显示「正在修改」条,可用 × 取消并恢复原草稿。覆盖 / 合并两种回填模式可选;单会话同时只允许一个待定撤回,草稿按会话持久化。
内联编辑(Rewrite)¶
单击自己的消息气泡进入原位编辑,保留原始 Markdown;Esc 取消,Ctrl+Enter 确定。编辑宽度有三档(紧凑 / 标准 / 扩展),也可自定义。确定后走与撤回相同的截断 → 归档 → 同名新会话 → 自动发送流程。
带图片的消息支持撤回键与气泡框编辑两条路径:确认后图片随修改文本一并发出;编辑中可删除、粘贴或拖入新图,也可切换模型与推理等级,刷新后编辑进度可恢复。
设置¶
在 设置 → 插件 → 插件配置 中,以官方同款可折叠卡片呈现,界面语言随 DSH 切换(中文 / English / 日本語)。选项即时生效,包括:气泡框编辑开关、关闭编辑时显示撤回键、撤回确认胶囊、撤回视觉模式、统计口径、回填冲突模式、编辑宽度等。
草稿自动备份¶
待定草稿超过 10 秒未处理时,自动备份到本地文件(之后每 5 秒刷新);确定或发送完成后删除备份。备份路径:
$DSH_HOME/dsh-easyrewrite/backups/<会话ID>.json
仅当本地没有待定状态时才从备份恢复,不会覆盖正在编辑的草稿。
版本翻页器¶
每次撤回或编辑重发后,该次问询最后回答的操作区会出现 ‹ X/N › 控件。点击或按键盘 ←/→ 可切换版本,后续上下文随版本变动;切换时视口锚定不跳位。全部归档后,仍可在设置 → 插件配置 → 「版本」组逐版本「恢复并打开」。
撤回快捷键(Beta)¶
设置内总开关默认关闭。开启后可录制组合键(至少一个修饰键)。触发条件:输入框未聚焦,且当前会话最近一条为用户消息——等效点击该消息的撤回键。
安装与启用¶
通过 npm 发布包安装(推荐):
dsh plugin --profile web add dsh-easyrewrite
也可从 GitHub 安装:
dsh plugin --profile web add github:Renzic-Stone/DSH-EasyRewrite
安装后重启 dsh web,在页面按 Ctrl+Shift+R 硬刷新。
撤回时机说明:DSH 的 fork 只能在闭合回合边界截断。若消息所在回合尚未结束,界面会提示「该消息所在回合尚未结束…」,需等回复完成后再撤回。
典型用法¶
撤回一条消息及其后的提问¶
- 找到要撤回的用户消息,点击复制键旁的撤回键。
- 在确认胶囊中点「确定」,检查输入框中的回填内容。
- 按「发送」完成截断;若改变主意,点输入框内「正在修改」条的 × 取消。
原位重编辑¶
- 单击自己的消息气泡,在气泡内直接改 Markdown。
- Ctrl+Enter 确定,或 Esc 取消。
- 确定后会自动截断并重发编辑后的文本。
查看调试日志¶
client 关键步骤会写入统一日志,便于排查问题:
$DSH_HOME/dsh-easyrewrite.log
格式为 JSON 行:{ t, level, tag, message, data }。日志仅记录本地行为,不上传数据。
适用场景与注意¶
适合谁
- 经常在 DSH Web 里迭代提示词、需要撤回或改发某条消息的开发者。
- 希望编辑带图片的用户消息,且需要版本切换回看不同改法的场景。
- 偏好「确认后再改 context」、不想中途误操作污染会话的用户。
使用前注意
- 插件以当前 DSH 进程权限运行;安装前建议查看 GitHub 仓库 源码与 MIT 许可证。
- 仅支持 DSH Web 客户端(
--profile web),不适用于其他 profile。 - 撤回快捷键默认关闭,避免与其他插件快捷键冲突;需要时在插件配置中开启并录制。
- SkillHub 目录页(DSH-EasyRewrite)是社区独立站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
DSH-EasyRewrite 把撤回与气泡重编辑嵌进 DSH Web 原有交互:复制键旁撤回、单击气泡编辑、惰性提交与无痕替换,尽量贴近「原生就该有」的体验。功能可按需开关,三语界面,纯扩展点实现,DSH 升级时维护者声明会主动适配。