dsh-turn-rewind
消息锚定的工程文件回退:还原点 + 变更台账,安全撤销 agent 造成的改动
99 BSD-3-Clause 作者 Anionex 更新于
安装
dsh plugin --profile web add @anionex/dsh-turn-rewind 界面预览 1
dsh-turn-rewind
agent 改坏了工作区?不用靠 git 硬回退——把每一次改动锚定到具体消息,审阅差异、选择性还原,一键回到”发送这条消息之前”。
解决什么问题
让 agent 大规模改代码后想”后悔”,常见的做法是 git reset / stash,但硬回退容易误伤未提交的好改动,而且说不清到底改了什么。一个 diff 按钮只能展示”当前”的变化,不拥有持久的还原生命周期,也回答不了”这条消息之前文件是什么样”。
这个插件以消息为锚点:在 Web 界面里,每条用户消息下方多出一个图标式 Rewind 动作,点击后按路径预览文件差异,选择”还原文件并重启会话”(回到该消息之前并把它重新放回输入框)或”仅还原文件”(保留当前会话)。底层由持久还原引擎 Change Ledger(ctx.changeLedger 服务)兜住完整生命周期:还原点、救援点、哈希校验、失败回滚与启动对账。
核心功能
- 消息锚定的还原点:每条用户消息附带 Rewind 动作,可回到”发送这条消息之前”的文件状态
- 两种还原模式:还原文件并重启会话(默认)/ 仅还原文件(保留当前会话)
- 路径级差异预览:审阅完整或选择性还原计划,先读后写、预览不改文件
- 严格安全契约:绝不自动 commit / stash / reset / 切分支 / 改 Git index,每一步还原都始于用户按下最终按钮加 DSH 人工审批
- 救援点与校验:还原前自动救援点、还原后哈希校验、失败回滚
- 过期计划与崩溃对账:审阅与执行间若有相关变更则计划失效;启动时对中断的还原日志做对账
- 可复用的公共服务:其他插件可注入
ctx.changeLedger服务,调用同一套还原生命周期
快速上手
安装后重启对应的 DSH profile,每条用户消息下方会出现图标式 Rewind 动作;点击后预览受影响文件,选择”还原文件并重启”或”仅还原文件”并确认即可。还原点数量、单文件大小、计划有效期等可配置(如 maxRestorePoints、maxFileBytes、planTtlMs)。
适合谁
- 让 agent 大规模改代码、想安全”后悔”的开发者
- 对工作区变更可追溯、可选择性恢复有要求的团队
标签 开发工具
内容根据项目 README 整理 · 版权归原作者所有
报告问题 / 申请下架