← 返回列表
未验证
Gemini 式的消息编辑与 Undo,适用于 DeepSeek Harness 的 Web GUI。
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/24 · 已提供中文文档
在 DeepSeek Harness 的 Web GUI 中编辑或撤销已发送的消息——从聊天视图和模型上下文中隐藏其后的所有内容。
综合分
27.7
GitHub 分
27.7
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add jackuh105/dsh-message-edit该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
信任档位:仅索引本站尚未对其实装验证,仅收录元数据
- 是什么
- dsh 原生插件 · chat
- 装得上吗
- 本站尚未做安装检查
- 安全吗
- 本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
- 还在维护吗
- 更新放缓:最近一次提交在 32 天前
档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →
数据截至 2026/9/23(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
由 DeepSeek 最新模型翻译生成dsh-message-edit
Gemini 式的消息编辑与 Undo,适用于 DeepSeek Harness 的 Web GUI。
对话中每则你送出的消息,悬停时会出现两个动作(在复制钮旁):
- ✎ 编辑:气泡原地变成可编辑文本框(预填原文,附「发送 / 取消」,Esc 取消)。按「发送」那一刻,该消息本身及其后所有内容自聊天画面与模型上下文隐藏,编辑后的新消息出现在原位置并获得回应——对话看起来就像你当初就是这样写的。
- ↺ Undo:立即移除该消息本身及其后所有内容,对话回到该消息发送前的状态;不触发模型回应、不预填文字、无确认框。
底层保证:
- Session 日志维持 append-only,原始事件永不删改;每次状态变更附带一笔可稽核记录。
- 已封印的隐藏区间跨页面重新整理与 DSH 进程重启持续生效。
- Agent 正在输出时操作,自动打断当前回合,半截输出一并吞入隐藏范围。
平台相容性:rc.1/rc.2 的客户端合约变更(同步 require 与 external 边、inject 守卫、attachment 组件导出移除)详见 docs/compatibility.md。
安装 / 卸载
安装(路径指向本专案目录)
dsh plugin --profile web add /path/to/dsh-message-edit
重启 DSH 并重新整理浏览器页面
卸载
dsh plugin --profile web remove dsh-message-edit
重启 DSH。日志中的稽核记录无害保留。
零 npm 依赖、零建置步骤;复制本目录到任何机器即可安装。
使用方式
1. 悬停任一你送出的消息(含回合中途插入的 steering 消息)。
2. 点 ✎ 原地修改文字,按「发送」;或点 ↺ 直接收回该消息及其后一切。
3. 含图片/附件的消息仅提供 ↺(v1 不支持编辑附件消息)。
4. 编辑发送失败时,文本框会保留并显示错误,可重试或取消;若编辑意图搁置超过几秒(如发送后重新整理页面),输入框右侧会出现 ✕ 让你取消该意图。
验证模型上下文确实截断
对某消息 ↺ 之后,问模型一个只有被移除内容才知道答案的问题——它应答不上来。
已知限制
- 轨迹(trajectory)检视不套用隐藏;审计请直接查看会话 JSONL 日志。
- 无复原入口:编辑/undo 生效后,UI 层级不可找回(日志底层保留原始事件)。
- 附件消息不可编辑(仅可 undo);图片带入新消息为未来方向。
- 排队中(未送达)的消息:undo/编辑隐藏其在日志中的事件,但 agent inbox 中已排队的副本仍可能于后续回合送达(与社群 dsh-rewind 相同语意)。
- 仅支持 Web GUI;CLI / headless 界面不提供等效操作。
稽核
会话 JSONL 日志中,本插件附加的事件皆为 hook/invoked 类型,payload 带 source: 'message-edit':
{ source: 'message-edit', phase: 'mark', targetSeq, preview } // 编辑意图
{ source: 'message-edit', phase: 'cancel', targetSeq } // 意图取消
{ source: 'message-edit', phase: 'undo', targetSeq } // 回退意图
{ source: 'message-edit', phase: 'commit', targetSeq, hiddenFrom, hiddenTo } // 区间封印
hiddenFrom–hiddenTo 即对模型与聊天视图隐藏的事件区间(含端点)。
架构
三模块切分(见 docs/PRD.md 与 docs/message-edit.md):
- lib/core.js — 纯状态机:意图规划(mark/cancel/undo/commit)、稽核事件折叠、重放重建、区间谓词;零依赖零 I/O,node --test "test/*/.test.js" 覆盖。
- lib/index.js — 主机半:HTTP API(/api/dsh-message-edit/{mark,undo,cancel,state})、deriveMessages() 遮罩、打断与封印时序(pre-step 瀑布 + agent/status 静止封印 + 重启重放对帐)。
- lib/client.js — 客户端半:priority -1 接管 user/steering 聊天节点渲染、内联编辑器、CSS 隐藏、经 sessions.scope(id).conversation.send() 程序化发送(不碰 composer 草稿)。
致谢
架构概念参考 XSJUSTC/dsh-rewind(MIT)、Anionex/dsh-turn-rewind、LingLambda/dsh-undo;代码全新撰写。
License
MIT