编辑或删除已发消息,并回滚后续对话与文件改动
30.8/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/29 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add xCube007/dsh-message-rewind该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件写入剪贴板(不计风险)
查看扫描证据(共 6 处,展示前 6 条)
- 写入剪贴板client.js:178
async function writeClipboard(text) { - 写入剪贴板client.js:180
if (navigator.clipboard?.writeText) { await navigator.clipboard.writeText(text); return true; } - 写入剪贴板client.js:604
void writeClipboard(parts.text).then((ok) => { - 读取本地文件client.test.js:10
const source = await readFile(new URL('./client.js', import.meta.url), 'utf8'); - 读取本地文件manifest.test.js:10
const pkg = JSON.parse(await readFile(new URL('./package.json', import.meta.url), 'utf8')); - 读取本地文件manifest.test.js:22
const client = await readFile(new URL('./client.js', import.meta.url), 'utf8');
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DSH 插件(DeepSeek Harness):编辑已发送的消息并回滚其后的轮次,可选恢复记录的文件改动。消息编辑与回滚插件。
README
由 DeepSeek 最新模型翻译生成dsh-message-rewind
给 DeepSeek Harness 的消息气泡加两个按钮:编辑和删除。
- 发错字了?改一下,直接从改后的内容重新开始,不用重开对话。
- 说话越界了?删掉这条,它之后的所有对话一起消失。
- 那一轮还改过文件?可以顺手把文件也还原到这条消息之前的样子。
A DSH plugin that adds edit and delete to your own message bubbles. Deleting truncates every following turn and can optionally roll the recorded file changes back.
它能做什么
| 你想要的 | 插件怎么帮你 |
| 改掉已发送的消息 | 点消息气泡下方的铅笔,改完点「保存并重发」,这条消息之后的内容会被截断,然后按你改后的内容重新开始 |
| 撤掉一条越界的消息 | 点垃圾桶,确认后这条消息连同它之后的所有对话一起删除 |
| 连文件一起还原 | 删除/编辑时,如果那一轮动过文件,弹窗会让你选「只回滚消息」还是「同时回滚消息和文件」 |
| 不打扰正在跑的任务 | 有未结束的轮次时直接拒绝操作,不会和正在执行的 turn 抢写 |
只有你自己发出的消息才有这两个按钮;「复制」按钮仍在,位置不变。
展开完整文档(README 剩余 1 节)
dsh-message-rewind
给 DeepSeek Harness 的消息气泡加两个按钮:编辑和删除。
- 发错字了?改一下,直接从改后的内容重新开始,不用重开对话。
- 说话越界了?删掉这条,它之后的所有对话一起消失。
- 那一轮还改过文件?可以顺手把文件也还原到这条消息之前的样子。
A DSH plugin that adds edit and delete to your own message bubbles. Deleting truncates every following turn and can optionally roll the recorded file changes back.
它能做什么
| 你想要的 | 插件怎么帮你 |
| 改掉已发送的消息 | 点消息气泡下方的铅笔,改完点「保存并重发」,这条消息之后的内容会被截断,然后按你改后的内容重新开始 |
| 撤掉一条越界的消息 | 点垃圾桶,确认后这条消息连同它之后的所有对话一起删除 |
| 连文件一起还原 | 删除/编辑时,如果那一轮动过文件,弹窗会让你选「只回滚消息」还是「同时回滚消息和文件」 |
| 不打扰正在跑的任务 | 有未结束的轮次时直接拒绝操作,不会和正在执行的 turn 抢写 |
只有你自己发出的消息才有这两个按钮;「复制」按钮仍在,位置不变。
界面
自己发出的消息,气泡下方会多出「编辑 / 删除 / 复制」三个按钮:
编辑弹窗打开时就会列出这条消息之后记录到的文件改动,并用「回滚范围」决定要不要连文件一起还原:
| 编辑弹窗 | 删除确认 |
快照失效、工作区不在 Git 仓库等限制也会直接标在弹窗里,不用等到操作失败才知道。
安装
需要能加载插件 bundle 的 DSH,Node.js ≥ 20。
从 npm 安装(推荐)
1. 在 profile 的 package.json(~/.dsh/profiles/<profile>/package.json)里加依赖:
{
"dependencies": {
"dsh-message-rewind": "^1.1.1"
}
}
2. 在同一个 profile 的 cordis.patch.yml 里挂上插件:
- insert:
- id: message-rewind
name: 'dsh-message-rewind'
3. 在该 profile 目录执行 pnpm install,然后重启 DSH(或在「设置 → 插件」里启用)。
从源码安装(想改代码时用)
git clone https://github.com/xCube007/dsh-message-rewind.git D:/Code/dsh-message-rewind
依赖写成链接形式,其余步骤相同:
"dsh-message-rewind": "link:D:/Code/dsh-message-rewind"
装好之后
DSH 启动日志里会出现 message-rewind 且状态为 active;刷新页面,你自己消息的气泡下方就会多出「编辑 / 删除 / 复制」三个按钮。
使用
1. 点铅笔 → 弹出编辑框,改完点「保存并重发」。
2. 点垃圾桶 → 点「删除」,删除这条消息及其后的全部对话。
3. 弹窗打开时就会读取这条消息之后记录到的文件改动,并列出来;有改动(或快照已失效)时,弹窗里会多出一个「回滚范围」:
- 只回滚消息(默认):文件保持现状;
- 同时回滚消息和文件:文件恢复成这条消息之前的内容;
- 选好范围后,点「保存并重发」或「删除」执行。
无论选哪个,弹窗里都会明确告诉你这次操作会丢掉哪些内容、以及文件回滚会不会被拒绝。
文件回滚:什么能回、什么回不了
能回:文本文件的新建、修改、删除——包括同一轮里「先新建再删掉」这类组合。
回不了时会直接报错,不会静默跳过:
| 情况 | 结果 |
| 二进制文件 | 无法回滚(只记录了文本 diff) |
| 工作区不在 Git 仓库内,且文件是被 shell 命令改的 | 无法记录,因而无法回滚;在该目录 git init 后可完整记录 |
| 会话重启或释放后,早先的快照已过期 | 提示「部分改动快照已不可用」,此时只能只回滚消息 |
| 文件在记录之后又被你(或别的工具)改过 | 回滚会被拒绝,不会覆盖掉你后来的改动 |
| 这个会话没有工作区 | 只能只回滚消息 |
常见问题
Q:回滚之后,侧边栏是不是会多出一条对话? 不会,始终只有一条同名对话。但底层会话 ID 会变:DSH 的会话日志是只追加的,没有「删掉中间一段」的接口,插件只能 fork 出一个截断后的分支,再把原会话移出侧边栏并删除其日志目录。所以如果你在别处引用过这个会话 ID,需要重新取一次。
Q:原会话的记录还能找回吗? 正常情况下会被删除。只有当日志目录被占用删不掉时,原会话会保留在归档里。
Q:为什么带附件的消息不能编辑? 附件是作为消息内容的一部分存下来的,编辑只支持纯文本消息。带附件的消息可以删除。
Q:点按钮提示「当前有未结束的轮次」? 先停止正在运行的任务再操作。另外,如果有排队中的消息,它们会随被删除的记录一起作废——弹窗里会提示。
Q:看不到按钮? 确认插件已在「设置 → 插件」里启用、并且刷新过一次页面;另外只有你自己发的消息才有这两个按钮。
卸载
从 profile 的 package.json 里删掉 dsh-message-rewind 依赖,并删掉 cordis.patch.yml 里对应的 insert 段,pnpm install 后重启 DSH。
反馈
遇到问题或想加功能,欢迎提 Issue。
开发
想改代码或自己发版,看 CONTRIBUTING.md。
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
xCube007/dsh-message-rewind
编辑或删除已发消息,并回滚后续对话与文件改动
相关插件 · 其他
模型破甲清洗HunYiSage/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,993已汉化DeepSeek 客户端
73
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,269已汉化DSH
70.8
这是你的仓库?认领条目