dsh-undo

DSH PLUGIN记忆与知识

仓库 LingLambda/dsh-undo · npm dsh-undo

记忆与知识 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

为 DeepSeek Harness 提供上下文撤销/重做功能,可回滚模型上下文至上一个完成步骤并恢复,同时还原工具修改的工作区文件。

验证等级 L5 L5 · 运行验证通过
GitHub 星标 4 复刻 1 · 未关闭 issue 0
最近更新 2026-08-15 创建于 2026-08-13
README 4.6 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add [email protected]
兼容 DSH 版本0.2.0-rc.2 等 13 个版本版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖@deepseek-ai/cordis@^4.0.1-rc.1、@deepseek-ai/dsh-agent@^0.1.0-rc.6 等 7 个需要同时安装的同级依赖
npm 包名dsh-undo可用 npm view 查看包信息

能做什么

4 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-undo:DeepSeek Harness 的上下文撤销与重做插件

  • 撤销/重做上下文
  • 按用户回合回滚
  • 还原工作区文件
  • 支持多级撤销

适用场景

记忆

上游标签

dsh-plugin

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度稳定按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-10-08): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
L5 · 运行已测 ✓ 通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询

风险详情

  • 审查结论 通过
  • 结论说明 vet 静态分析未发现可疑行为,判定为干净(clean)。
  • 风险计数 严重 0 / 高 0 / 中 0
  • 风险详情 未发现严重或警告级问题。

仓库档案

记忆与知识
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方LingLambda仓库 dsh-undo · 默认分支 master
分类记忆与知识memory
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言TypeScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue4 / 1 / 0收录时的数值,非实时
创建 / 更新2026-08-13 · 2026-08-15最后推送 2026-08-15
本站收录2026-08-15首次进入本站目录的时间

README 全文

4.6 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-undo

English | 中文

> [!WARNING]
> 超前预览:本版本无法在任何当前已发布的 DeepSeek Harness 版本中使用。 它依赖尚未发布的 Harness 持久化 surface/rewind / surface/restore 事件和 conversation.chat.user-actions WebUI slot。现在安装后,/undo 会安全拒绝并提示升级。本包当前仅用于预览和协调未来集成;在配套 Harness 正式发布前,不应视为可用于生产环境。请查看

面向 DeepSeek Harness(dsh)的持久化多级撤销/重做插件。它按真实用户轮次回退模型上下文,并恢复该轮工具修改的工作树文件。

命令只在本地处理,绝不发送给模型:

  • /undo 撤销当前可见的最后一条真实用户消息及其后的全部 surface 消息。
  • /undo 从指定的可见用户消息开始撤销,同时移除其后的所有轮次。
  • /redo 恢复最近一次仍有效的撤销。连续 undo/redo 按 LIFO 顺序执行。

WebUI Client 会在已完成的真实用户消息气泡上添加撤销按钮。按钮调用 /undo;Host 负责验证该消息当前是否仍是合法的回退目标。

工作原理

Harness 会话日志保持只追加。undo 为当前 surface 的精确连续后缀追加专用 surface/rewind 控制事件;redo 为最新 active rewind 追加 surface/restore。原消息节点、消息 ID、工具调用关联和日志事件均不改变。进程重启后,Session replay 会重建相同的可见 surface 与 redo 栈。

每次顶层工具执行前后,插件使用 ~/.dsh/dsh-undo/snapshots/ 下按会话隔离的隐藏 Git 目录记录工作树。它不会创建 commit、切换 branch,也不会修改仓库自己的 Git index。undo 只恢复所选用户轮次中工具实际触及的文件;redo 恢复 undo 前的工作树。patch 和 redo 元数据按会话保存,因此文件 redo 可跨 Host 重启继续使用。

工作树跟踪包含 tracked 文件和不超过 2 MiB 的未跟踪文件。仓库忽略的文件和更大的未跟踪文件保持不变。小型两阶段 journal 会在重启后依据持久化的 active-rewind 栈对账未完成的文件操作。若会话不在 Git 工作区内,上下文 undo/redo 仍然可用,命令会提示无法恢复文件。

顶层工具返回的后台任务会关联到对应用户轮次。undo 会请求停止被移除轮次启动的任务。redo 只恢复上下文和文件,不能重新启动已终止的进程。

要求

插件要求 Harness 提供:

  • 持久化的 surface/rewind 和 surface/restore Session 事件。
  • 用于 WebUI 消息按钮的 conversation.chat.user-actions Client slot。

旧版 Harness 会安全拒绝:/undo 会提示升级,而不会写入伪造的 assistant 替换消息或复制 transcript 事件。

限制

  • 文件恢复只覆盖检测到的 Git 工作区,绝不会恢复该目录之外的文件。
  • 网络请求、数据库写入、远程 API 调用、已退出进程及其他外部副作用无法撤销。
  • 经嵌套工具派发或子 Agent 启动的后台任务可能无法关联到根用户轮次。
  • undo 会向已记录的顶层后台任务发送停止请求,但不会无限等待进程退出。
  • 新的普通 surface 输出会按 Harness surface 语义使当前 redo 历史失效。

安装

本包是 dsh 组合包。package.json 通过 dsh.bundle 指向 cordis.patch.yml 以启用 Host 插件,同时导出 WebUI Client bundle。

从 npm 安装:

dsh plugin --profile demo add dsh-undo

从 git 安装(prepare 脚本会在安装时构建 lib/;需先在 profile 的 pnpm-workspace.yaml 中授权构建):

dsh plugin --profile demo add github:LingLambda/dsh-undo#

针对 Harness 源码检出做本地开发时,可通过 overlay 加载 Host 源码:

pnpm dsh web --patch ./cordis.patch.yml --patch /absolute/path/to/dsh-undo/overlay.yml
- insert:
- id: undo
name: /absolute/path/to/dsh-undo/src/index.ts

用法

/undo
/undo 42
/redo

使用 /undo 撤销最近用户轮次;点击较早用户消息上的按钮可从该处回退;使用 /redo 恢复最近一次撤销。

开发

corepack yarn install
corepack yarn typecheck
corepack yarn test
corepack yarn build

License

MIT

常见问题

8 问
答案由本站依据条目字段整理,不引用上游原文
dsh-undo 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add [email protected]` 即可。对应的 npm 包名是 `dsh-undo`。

dsh-undo 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-undo 安全吗?

低风险。vet 静态分析未发现可疑行为,判定为干净(clean)。

dsh-undo 支持哪些 DSH 版本?

上游记录的兼容版本包括 0.2.0-rc.2、0.2.0-rc.1、0.1.7-rc.2、0.1.7-rc.1、0.1.7-alpha.2、0.1.6-alpha.2、0.1.6-alpha.1、0.1.5-rc.2。版本较多,只列出前 8 个。

dsh-undo 需要什么运行环境?

需要同时安装 @deepseek-ai/cordis@^4.0.1-rc.1、@deepseek-ai/dsh-agent@^0.1.0-rc.6、@deepseek-ai/dsh-commands@^0.1.0-rc.6、@deepseek-ai/dsh-llm@^0.1.0-rc.6、@deepseek-ai/dsh-session@>=0.1.0-rc.7 <0.2.0。环境不满足时安装会失败,建议先确认本机版本。

dsh-undo 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-undo 有哪些功能?

撤销/重做上下文、按用户回合回滚、还原工作区文件、支持多级撤销。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

同名或近似条目

3 条
不同作者的仓库分开列,请确认你要装的是哪一个
记忆与知识
按星标排序,可作替代方案

ruflo

ruflo

L3 · 安装规范通过 7.4 万 星

OpenViking

OpenViking

面向 DeepSeek Harness 的 OpenViking 记忆与上下文插件:pre-step 自动召回与画像注入、会话捕获、`vik

L3 · 安装规范通过 3.9 万 星

WeKnora

WeKnora

把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己

L4 · 沙盒安装通过 3.3 万 星

distilly

distilly

Distilly — Distill how they think into reusable Skills for any Agent o

L4 · 沙盒安装通过 2.5 万 星

EverOS

EverOS

L4 · 沙盒安装通过 1.3 万 星

MemOS

MemOS

L4 · 沙盒安装通过 1.2 万 星

LingLambda 的其它插件

1 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-10-08。