DSH Plugin MarketA community catalog for DeepSeek Harness plugins

dsh-reply-forge-v3

Verified Sessions & messages ★ 10 3.4.2

DSH 桌面端插件 v3:直接写活会话(message projection),改完立即被大模型采信,不用重启;也可显式只落盘(重启后生效)

What it is

DSH 桌面端插件 v3:直接写活会话(message projection),改完立即被大模型采信,不用重启;也可显式只落盘(重启后生效)

How to install

Run this in the DSH web profile, then refresh the page.

$ dsh plugin --profile web add dsh-reply-forge-v3@3.4.2

DSH versions accepted

Undeclared

Author and traction

kinggod899 · ★ 10 · Updated 2026-10-26

About this plugin

dsh-reply-forge v3

> [English](./README.en.md) · 简体中文

>

> 把 AI 说过的话改成你想让它说的,改完立即生效,不用重启。

> 思维链也能一起改。

DSH 桌面端(DeepSeek Harness)插件。会话里每条 AI 回复旁边多一个按钮,

点开就能改正文或思维链;改完写进去,这个会话之后的每一轮,模型都只认你改过的版本。

已收录 [awesome-dsh-plugin](https://github.com/awesome-dsh-plugin/awesome-dsh-plugin)(DSH 生态精选列表,PR #7845 已合并)。

和 v1 / v2 的区别

| | v1 | v2 | v3 |

|---|---|---|---|

| 改的是什么 | 页面显示 | 会话落盘文件 | 活会话对象 |

| 模型看得到吗 | 看不到 | 看得到 | 看得到 |

| 生效时机 | 立即(只对本机) | 要重启 DSH | 立即 |

| 能改思维链吗 | 不能 | 不能 | 能 |

| 实现 | localStorage 覆盖 | 改写 .jsonl.zstd | message projection |

v3 把 v2 的落盘改写包成了兜底分支:会话在内存里就直接写活会话(立即生效),

不在内存里才落盘。

前两代是独立仓库,与 v3 完全独立(独立插件 id / 前缀,可分别启用):

  • v2(dsh-reply-forge-v2,纯落盘改写):https://github.com/kinggod899/dsh-reply-forge-v2
  • v1(dsh-reply-forge,localStorage 覆盖):更早的第一代,仓库沿革见 v2 说明

> 三代可以分别启用,但不要同时启用——它们共用同一条消息操作条,同时开会挂出多条

> (安装脚本默认会把更早的两代从 bundles 摘掉,见下)。

怎么用(快速版)

1. 鼠标移到任意一条 AI 回复上,点「伪造」按钮;

2. 在编辑器里选目标(可选本会话任意可编辑块——包括页面上看不见、折叠着的思维链)、

选写入方式(默认「自动」);

3. 改文本,点写入伪造。写入前会弹一次确认(复述这次会怎么生效),写完成功立刻可见。

改过的块还能后悔:点编辑器里的「历史版本」,能看到这个块的完整版本链

(原稿 → 每一次改写),选中旧版「还原到此版」→ 内容填入编辑器 → 再点一次

「写入伪造」即可。思维链同样有这条链。

两个出口:仅本机渲染(Ctrl+Enter,只改这一页的样子、模型看不见、可逆)与

写入伪造(改「模型看到的对话」,在线写活会话立即生效 / 落盘重启后生效,不可逆)。

完整的界面说明、写入方式对照表、常见问题见 [使用说明.md](./使用说明.md)。

看效果

| 写入成功,下一轮立即生效 | 思维链 | 三种写入方式 |

|:---:|:---:|:---:|

| | | |

三张连起来是一个真实片段:把一句 AI 回复改成「因为我是吃白饭的大肥鱼。」写进去,

块上立刻亮绿色回执——「下一轮对话模型就看到改后的内容(不用重启),焦点已交还输入框」。

下一轮随口问一句「你去干嘛」,模型接的是「虽然是个吃白饭的」——它真的信了。

中间那张是思维链的编辑面板:目标下拉里的 seq=38 块0 就是页面上折叠着、看不见的那串

内心戏,和正文一样能改。右边那张是写入方式三选:自动(会话在内存里就直接写活会话、

不在才落盘,推荐)、仅在线(立即生效)、仅落盘(重载后生效)。

关掉插件会不会把会话弄坏

标记齐全就不会——这个「不会」有前提。

reply-forge/patch 是宿主不认识的事件类型,宿主持久化层的准入闸门

validateStoredEvents 规定:未知类型且信封没带 ignorable: true → 抛错、

整条日志拒读(会话打不开);投影层(插件在场时)对不认识的事件则直接跳过、

不报错,伪造退回原文。宿主自己的注释写明了这条路(known-event-types.js):

> The persisted SessionEvent.ignorable marker is the compatibility mechanism.

于是分三种情况:标记正确 + 冷启动(插件不在)→ 会话照常打开、伪造静默退回原文;

缺标记(早期写入或写盘损坏)→ 被闸门拒读,用修复工具补标记;**插件在 DSH

运行时被热卸载** → 宿主抛 `session message projection "reply-forge/patch" was

removed`(所以正常用法都要求重启 DSH,重启后干净重放,碰不到这条)。

v3 的 P0 工作就是把「标记正确」钉死:在线/落盘两条写路径进入宿主持久化前统一补

ignorable: true;每次真写前核验写句柄(WRITER_NOT_ROUTED 可安全回落盘、

APPEND_UNSAFE 一律拒绝,失败码表见 [PLAN.md](./PLAN.md));真宿主持久化闭环

测试 create → append → flush → 重读 → 闸门放行全过。

致谢与借鉴

[dsh-chat-thinking-editor](https://github.com/yumiao-dev/dsh-chat-thinking-editor)

Compare in this category

The five most-starred plugins in the same category.

PluginAuthor StarsVersionUpdated
dsh-purge kingcharleslzy-ai 6.3K 1.6.86 2026-11-08
dsh-unrestricted yexi-by 1.1K 0.2.8 2026-11-05
dsh-univer-office dream-num 707 0.4.0 2026-11-03
dsh-synapse liangmianya 697 0.5.7 2026-11-04
dsh-qqbot tencent-connect 570 0.5.5 2026-11-08