原生运行于 DSH 的安全网:借助 Change Ledger 持久化恢复引擎,把工作区文件回退到任意历史用户消息——显式、人工确认、且不触碰 Git 历史。
DSH 适配
原生运行时
作者声明
安全审计
未审计
最后核验
2026-08-25
许可证
BSD-3-Clause
01它能帮你完成什么?
把 DeepSeek Harness 的工作区文件回退到某条用户消息发送前的精确状态
对 worktree 文件做一次经过校验的全部或选择性恢复,并可选择性地新建一个 Session,把所选消息的提示重新放回输入框
希望用人工确认的「安全网」来对抗 agent、自己或外部工具造成的不当改动的使用者
从失败或中断的回滚中恢复,并检视 Change Ledger 的救援点
一个可检视的救援点,以及通过公开 `ctx.changeLedger` 服务 API 执行的 plan/apply 恢复
需要持久、可审计的工作区变更恢复能力的运维者与其他 Cordis 插件
02如何接入 DeepSeek Harness?
前置条件
- 本地已 clone 插件仓库(安装步骤会构建 checkout 出来的插件)
- 已安装 Node.js 与 pnpm,用于执行 `pnpm install --frozen-lockfile` 与 `pnpm run check`
安装步骤
- 01
用 `pnpm install --frozen-lockfile` 然后 `pnpm run check` 构建 checkout 的插件
- 02
把它加入每个 DSH profile:`dsh plugin --profile web add @anionex/dsh-turn-rewind`(以及 `dsh plugin --profile headless add @anionex/dsh-turn-rewind`)
$ dsh plugin --profile web add @anionex/dsh-turn-rewind
- 03
修改 bundle 列表后重启对应的运行中的 profile
验证接入成功
- 确认 bundle 已注册:`dsh --profile web --dump-config | grep turn-rewind`
- 在 Web profile 中打开一条用户消息,在其时间戳与 Copy 控件之后查看是否有仅图标的 Rewind 操作
03DSH 适配与能力边界
以 DSH Profile Bundle(`dsh.bundle.patch`)形式分发,经 `cordis.patch.yml` 挂载且无需改动 DSH 核心;按 profile 启用:`dsh plugin --profile <名称> add @anionex/dsh-turn-rewind`。
Turn Rewind 用户操作
DSH Web 会话中选中的一条用户消息→受影响文件的预览,以及两种恢复选择——恢复文件并重启,或仅恢复文件
只有在你于 Rewind 对话框中按下最终确认按钮后,才会恢复所选的 worktree 文件Change Ledger 持久化恢复引擎
当前的 Git worktree,加上 agent、用户或外部的改动→内容寻址的还原点清单,以及精确到路径级别的漂移预览
救援点与恢复
一次中断或失败的恢复操作→一个可检视的救援点,以及通过公开 `ctx.changeLedger` 服务 API 执行的 plan/apply 恢复
在改动任何路径之前,先为当前工作树创建救援点配置
profile patch 层的覆盖项(storageDir、maxRestorePoints、maxFiles、maxFileBytes 等)→解析后的 Change Ledger 存储路径与保留 / 大小限制
两种恢复模式
「恢复并重启」或「仅恢复」→恢复后的项目文件,以及(可选的)一个把该消息文本重新放回输入框的新 Session
04适合谁?何时不该用?
适合
- 希望用人工确认的「安全网」来对抗 agent、自己或外部工具造成的不当改动的使用者
- 需要持久、可审计的工作区变更恢复能力的运维者与其他 Cordis 插件
不适合
- Turn Rewind 绝不触碰 Git 历史:index、branch、HEAD、stash 与提交都原封不动,因此恢复出来的内容只会以普通的未提交改动形式出现。
05兼容性、维护与安全提示
- Turn Rewind 绝不触碰 Git 历史:index、branch、HEAD、stash 与提交都原封不动,因此恢复出来的内容只会以普通的未提交改动形式出现。
- 若某个未受管理或被忽略的文件正好位于恢复要写入的位置,恢复会直接失败而不是删除该文件;稀疏检出、子模块 gitlink、被忽略文件、特殊文件以及非 Git 目录都会被拒绝。
- 没有任何恢复是自动发生的。每一次恢复都始于你在 Web 对话框中按下最终按钮,或是通过服务 API 的显式调用;对话框预览只会读取工作树,不会改动任何文件。
BSD-3-Clause · 活跃维护中(最新发布 v0.1.2,2026-08-23)
06常见问题
DSH Turn Rewind 是什么?它和 Change Ledger 有什么区别?
Turn Rewind 是每条消息下的用户侧 Web 操作;Change Ledger 是它底层的持久化恢复引擎(`ctx.changeLedger` 服务、磁盘格式与存储路径)。README 称 Turn Rewind 为「面向用户的功能、仓库与 Profile Bundle 名称」,而 Change Ledger 是「其底层的持久化恢复引擎」。
怎么把它装进 DeepSeek Harness?
clone 仓库后执行 `pnpm install --frozen-lockfile` 与 `pnpm run check`,再按 profile 加入:`dsh plugin --profile web add @anionex/dsh-turn-rewind`(以及 `headless` profile)。之后重启对应 profile,并用 `dsh --profile web --dump-config | grep turn-rewind` 确认。
它会改动我的 Git 历史或分支吗?
不会。安全契约写明「No Git control-plane mutation: the index, branch, HEAD, stash, and commits remain untouched.」Turn Rewind 只会在你确认后恢复 worktree 文件,因此恢复结果只是相对于当前 HEAD 的普通未提交改动。
如果恢复失败,或 DeepSeek Harness 在恢复中途崩溃会怎样?
在写入任何路径之前,它会先建立救援点与持久化的操作日志。若 DSH 在日志未终结时停止,下一次启动会将其标记为 interrupted,恢复则使用公开的 `ctx.changeLedger` API——`listRecovery` 找到救援点,`inspect` 检视,再由 `planRestore` / `applyRestore` 处理对应路径。
它能恢复哪些文件?哪些不在范围内?
v0.1 仅支持普通的 Git worktree:被跟踪文件(含当前缺失者)、未被忽略的未跟踪文件、符号链接、二进制文件与权限位。它会拒绝稀疏检出、子模块 gitlink、被忽略文件、特殊文件与非 Git 目录;若恢复路径上存在被忽略文件,恢复会失败而非删除它。
07相关的 DSH 工作流
archify
作者 tt-a1i
为编码智能体生成美观可验证的架构图、时序图与数据流图,输出自包含 HTML,支持动效与清晰导出。
openviking
作者 volcengine
为 AI 智能体打造的自进化上下文数据库,统一智能体记忆、知识 RAG 与技能。
nocobase
作者 nocobase
开源的 AI + 无代码应用搭建平台:AI 在久经生产验证的底层基础设施与所见即所得的无代码界面之上工作,帮你快速构建 CRM、ERP 等业务系统,兼顾速度与可靠性。
learn-harness-engineering
作者 walkinglabs
Harness 工程新手教程,从 0 到 1 系统学习智能体工作流框架。
08数据与来源
The package is a DSH Profile Bundle. `package.json` declares `dsh.bundle.patch`, and `cordis.patch.yml` mounts `@anionex…
Message-anchored project-file recovery for [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness), with an…
页面基于项目公开文档、仓库元数据和 DSH Plugins 的结构化解析生成;最后核验于 2026-08-25。发现错误?提交更正。
最佳 DeepSeek Harness 插件
从全目录挑出的 12 个值得优先安装的插件,覆盖各个分类。
