← 返回列表
未验证
DSH 会话撤回插件:在当前会话内原地撤销最后 n 轮对话,不 fork、不新建会话 | Undo the last…
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/17 · 已提供中文文档
DSH 会话撤回插件:在当前会话内原地撤销最后 n 轮对话,不 fork、不新建会话 | Undo the last n turns in-place in the current DSH session
综合分
27.2
GitHub 分
27.2
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add wang-xudong/dsh-plugin-undo该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
信任档位:仅索引本站尚未对其实装验证,仅收录元数据
- 是什么
- dsh 原生插件 · chat
- 装得上吗
- 本站尚未做安装检查
- 安全吗
- 本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
- 还在维护吗
- 更新放缓:最近一次提交在 40 天前
档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →
数据截至 2026/9/21(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-llm用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
由 DeepSeek 最新模型翻译生成dsh-plugin-undo
DeepSeek Harness 的对话撤销:在当前会话内撤销最近 n 轮对话——不新建会话,不修改项目文件。
为什么需要这个插件
大多数对话回退插件使用 sessions.fork 将历史前缀复制到一个新会话中(原会话被保留或归档)。本插件则在当前会话的界面上原地撤销,因此:
- 不 fork,不新建会话——会话 id 保持不变
- 侧边栏中不会出现“原会话 + 新会话”的重复项
- 你可以在同一会话中继续聊天,模型上下文恰好就是保留的历史记录
功能
- /undo 或 /undo 1——撤销最近一轮已完成的对话
- /undo 3——撤销最近 3 轮已完成的对话
- /undo all——撤销当前模型可见的所有轮次
撤销后:
- 模型可见的历史记录被替换为保留的轮次;被撤销的轮次从模型上下文中移除
- 原始会话日志保持仅追加,绝不重写
- Web UI 将被撤销的轮次折叠为紧凑的标题栏
- 当前会话继续,不 fork,不新建会话
效果
被撤销的轮次在聊天视图中折叠显示为:
↩ 第 N 轮已撤销 · 点击展开
点击标题栏可原地展开或折叠该轮次。/undo 命令卡片本身会被隐藏;折叠的标题栏是唯一可见的撤销反馈。
工作原理
1. 宿主从 turn/start / turn/end 推导出当前模型可见的轮次
2. 它取最近 n 轮,并在其界面范围上追加 surfaceOp: { op: 'replace', start, end }
3. 检查点是一条位于任何轮次边界之外的空助手消息;消息推导会跳过空的助手内容,因此模型只能看到保留的历史记录——没有撤销标记,没有轮次编号
4. 客户端部分读取成功的 /undo 命令节点,并用 DOM/CSS 折叠被撤销的轮次
安装
dsh plugin --profile add file:/path/to/dsh-plugin-undo
重启该 profile:
dsh --profile
无需额外配置。
用法
在会话输入框中输入:
/undo
/undo 1
/undo 3
/undo all
该命令要求会话处于空闲状态。如果 UI 提示正忙,请先停止正在运行的轮次。
构建与打包
发布的入口点位于 lib/;源码位于 src/。构建并创建可分发的 tarball:
npm run build
npm pack
这会生成 dsh-plugin-undo-.tgz,也可以直接安装:
dsh plugin --profile add file:/path/to/dsh-plugin-undo-.tgz
项目结构
dsh-plugin-undo/
├── README.md
├── README_zh.md
├── cordis.patch.yml
├── package.json
├── scripts/
│ └── build.mjs
├── src/ # source
│ ├── index.js # host: /undo command and surface replacement
│ └── client.js # web: folds undone turns, hides the command card
└── lib/ # build output (generated by npm run build)
许可证
MIT
限制
- 只有连续的末尾轮次才能被撤销;不支持选择中间任意一条消息
- 只有模型可见的对话历史会被回退;项目文件绝不会被改动
- 运行 /undo 时,会话必须处于空闲状态