前言¶
在 DeepSeek Harness(dsh)里跑对话时,会话日志是只追加、深度冻结的;assistant/message 在 0.2.x 上也不能做 surface replacement。因此「直接改历史里那条回答」在宿主契约下做不到。若你仍希望把回答当文稿来管——看清计费归属、改一版正文而不丢对话脉络、在长对话里快速跳到某一轮——就需要在 Web 客户端侧补一层能力。
社区插件 dsh-revise-chan(npm 包名 dsh-revise-chan,中文名「修订酱」)由维护者 shellexy 发布,分类为客户端插件。它在不改动宿主只读历史的前提下,提供回答署名、从提问处 fork 并追加修订稿、以及对话区悬浮大纲三件事。
这是什么¶
一句话:dsh-revise-chan 让 dsh web 可以修改 AI 回答内容,并在对话区显示大纲悬浮栏。
- 目录页:skillhub.cn/plugins/shellexy/dsh-revise-chan
- 源码与说明:github.com/shellexy/dsh-revise-chan
- 当前 npm 版本(资料中的
package.json):0.2.4,许可证 MIT,要求 Node>=22.19
插件面向 dsh 0.2.x 的 session / surface / slot 契约(README 写明目标 0.2.0-rc.2),纯 JavaScript、无构建步骤、Browser 半仅 require('react')。
核心功能¶
下面三项均来自官方 README,行为以宿主 0.2.x 语义为准。
署名¶
每条助手回答下方的时间行末尾会补上 模型 | 提供方。取值优先来自该轮 turn-tail.tokenUsage.routes(真正被计费的路由);Chat 折叠没有这条时,回退到消息自带的 providerMetadata。
修订¶
复制按钮右侧增加铅笔图标。点开应用内对话框修改回答正文并保存后,流程不是改写原事件,而是:
- Host 半
revise-chan/plan在来源会话日志里定位该回答所属轮次的人类提问事件序号(仅source.kind === 'user'的user/message)。 - Browser 半在提问处
sessions.fork({ atSeq }),子会话继承到该提问为止(含标题),原回答不在分支里。 - Host 半
revise-chan/revise向子会话追加完整轮次:修订正文沿用原消息 id、provider、model,保留思考块与图片,丢弃工具调用;模型可见历史折叠为「…, 提问, 修订后的回答」。
被取代的旧会话会加上 ·<修改时间> 后缀并归档;新分支沿用原标题,你仍停留在「同一条对话」语境里。同轮次号沿用,避免与后续轮次撞号。
目录(悬浮大纲)¶
对话区右上角有悬浮「大纲」按钮。展开后是贴着对话列右侧的列表:每个已开始轮次一行(提问 1 行 + 回答 2 行预览;纯图片/纯命令轮次显示轮次号),当前轮高亮,点击可跳到该轮(未载入轮次会按 turnOutline 的 seq 先翻页)。面板高度占满对话栏至输入框上方,不占用侧栏列宽。点击面板与按钮外区域、Esc、关闭或再次点按钮可收起。
安装与启用¶
安装命令须使用 README 原文。Web profile 示例:
从 npm:
dsh plugin --profile web add dsh-revise-chan
从 GitHub:
dsh plugin --profile web add github:shellexy/dsh-revise-chan
本地路径(改完即用,无需构建):
git clone https://github.com/shellexy/dsh-revise-chan.git
dsh plugin --profile web add ./dsh-revise-chan
装完后重启正在运行的 dsh web(Host 半需重启才能加载 revise-chan Remote;Browser 半刷新页面即可)。
典型用法¶
- 在
dsh web中打开任意对话,查看助手回答下方是否出现模型 | 提供方署名。 - 需要改某一版回答时,点该条回答旁的铅笔,在对话框中编辑正文并保存;侧边或会话列表中会出现带时间戳后缀的归档会话,当前工作分支里是修订后的回答,标题不变。
- 长对话中点右上角「大纲」,在列表中选轮次跳转;未加载的历史会先翻页再滚动定位。
维护者在仓库 tools/ 提供可复跑验证(README「已验证到什么程度」):
bash tools/verify-all.sh # 离线:不需要模型,不联网
bash tools/verify-all.sh --e2e # 再启一次性 profile 走真实网关
适用场景与注意¶
适合谁:经常在 DSH Web 里校对模型输出、需要分支式「改稿」而非重开对话、或需要在多轮对话中快速导航的开发者。
边界(README「已知边界」):
- 修订会丢掉原轮次的工具调用链;思考块与图片保留。
- 压缩摘要已吞掉该轮时无法修订,宿主返回
message-not-found。 - 会话标题有 UTF-8 80 字节上限,插件会先裁标题再补时间戳后缀。
- 大纲按钮位置与高亮依赖宿主发布的
[data-conversation-scroll]/[data-chat-turn];宿主改名会导致按钮或跟随失效,大纲数据本身不受影响。
安全与信任:插件以当前 dsh 进程权限运行,会参与会话 fork、追加日志与 Remote 调用。安装前请阅读 源码 与 MIT 许可证,仅从 npm 或你信任的 Git 来源安装。SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-revise-chan 把「署名、修订分支、悬浮大纲」接到 DSH 0.2.x 的可行路径上:不篡改冻结历史,用 fork + 追加实现改稿,并在 Web 对话流里补导航。若要安装或看更新说明,可访问 SkillHub 目录页 与 GitHub 仓库。