关于 VibeRevert
VibeRevert 是面向 AI 编码会话的本地项目安全服务。它会记录现有工作状态、按可检查的规则标记风险,并支持整场或按文件恢复。
主要功能
- 01为已跟踪、暂存和未跟踪工作创建检查点
- 02记录会话期间的变更
- 03按确定性规则标记高风险编辑
- 04生成可供 Agent 使用的修复提示词
- 05预览并选择性应用回滚
适用场景
- 01在 Agent 会话前保留未提交工作
- 02检查支付或基础设施相关变更
- 03恢复指定文件并保留有用编辑
MCP 相关
VibeRevert 为 Claude Code 和 Cursor 提供 MCP 服务集成,向连接的编码 Agent 提供项目安全检查与恢复能力。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
VibeRevert
保护你实际正在处理的项目。
记录 · 检查 · 修复 · 恢复。
VibeRevert 是 AI 编码的项目完整性保护层。它会在 Agent 开始工作前记录项目的实际状态,根据确定性规则标记风险更改,并让你移除不想保留的 Agent 工作,同时保留其余内容。
Agent 更改了 80 个文件。75 个有用。移除你不想要的 5 个。
**不让 AI 评判 AI:**风险发现可重复、可解释,并且基于你可以检查的规则。
**你已有的工作状态也是项目的一部分。**暂存的工作、未暂存的编辑以及事先存在的未跟踪文件,都会在会话开始前记录下来,并在恢复过程中保留。让 Agent 帮忙之前,你不必先把工作打包成提交。
**继续使用你的编码 Agent。**VibeRevert 可与 Claude Code、Cursor 及其他编码 Agent 工作流协同使用。Git worktree 可为 Agent 提供隔离的检出目录;VibeRevert 则保护并有选择地恢复 Agent 实际更改的工作状态。它们解决的是不同问题,可以一起使用。
*AI 弄坏了你的项目?撤销整个会话,而不是搭上一周的工作。*整个会话仍然可以通过一条命令回滚。
查看实际效果
以下是实际 CLI 的精简示例,取自一次真实的测试版支付操作——check 会标记风险,rollback 会在你使用 --apply 前预览将要更改的内容:
$ viberevert check
risk: CRITICAL · payments
app/api/checkout/route.ts payments (critical)
app/api/webhooks/stripe/route.ts payments (critical)
$ viberevert rollback <session> # preview — nothing changed yet
package.json tracked_restored
app/page.tsx tracked_restored
app/api/checkout/route.ts untracked_deleted
app/api/webhooks/stripe/route.ts untracked_deleted
lib/stripe.ts untracked_deleted
.gitignore README.md (your uncommitted work) skipped_unchanged
用事实说话
**3 次真实 AI 编码会话。3 次精确的项目文件恢复。**涵盖支付、数据库迁移和部署基础设施,并且都保留了事先存在的未提交工作。阅读测试版报告 →
快速入门
可在 Git 仓库中使用,并且需要 Node.js 22 或更高版本。VibeRevert 会将记录保存在你的设备上,无需 VibeRevert 账号或托管服务。
npm install -g viberevert@beta
viberevert init # one-time setup in your project
viberevert run <your-agent> # records the session and saves your files' starting state
viberevert check # see what changed and what looks risky
viberevert rollback <session> # preview putting your files back; add --apply to restore
以相同方式恢复会话中的部分内容,只需使用选择器:
viberevert rollback <session> --only 'app/api/**' # preview just that part
viberevert rollback <session> --only 'app/api/**' --apply # restore just that part
它能保护你免受哪些问题影响
你让 AI Agent 在整个项目中工作,它却改动了超出预期的内容——可能是支付代码、数据库迁移文件或部署文件;而你自己尚未完成的工作也还没提交,就在那里。VibeRevert 会先捕获项目开始时的文件状态,因此,不满意的会话不会让你损失整个下午的工作。
VibeRevert 的功能
在每次 AI 编码会话前后,VibeRevert 会:
- 先为项目创建检查点 — 包括工作树、暂存的更改和未跟踪文件,也包括尚未提交的工作。
- 记录会话及其运行期间发生更改的项目文件。
- 标记高风险编辑 — 涉及身份验证、支付、数据库、机密、依赖项或基础设施的更改(风险分类)。
- 根据这些发现编写可供 Agent 使用的修复提示词,供你粘贴到下一轮迭代中。
- 在需要时将你的文件恢复到检查点状态。
它会发出警告,不会悄悄阻止你的工作。你可以选择启用提交前钩子,在风险超过所配置阈值时拒绝提交 — 是否启用由你决定,可以调整,也可以像任何本地 Git 钩子一样绕过。
规则做出判断,Agent 负责修复。
VibeRevert 不会询问另一个大模型,判断你的 Agent 所做的更改是否有风险。它的检查是确定性的:相同的输入和配置会产生相同的发现,而且每个标记都有可检查的原因。
需要处理问题时,VibeRevert 可以根据这些发现生成可供 Agent 使用的修复提示词。由规则决定标记什么;由你决定下一步怎么做。
回滚全部内容,或只回滚出错的部分
viberevert rollback 会将本地项目文件 — 包括已跟踪、已暂存和未跟踪的文件,以及未提交的工作 — 恢复到会话开始时的状态。默认情况下会先预览;使用 --apply 才会写入更改,而且每次应用前都会先保存一个可供恢复的紧急检查点。
从 0.8.0 开始,你还可以只恢复会话的部分内容。例如,Agent 对支付功能的更改有误,但添加的测试没问题:只还原支付相关更改,保留其他所有内容。
$ viberevert rollback <session> --only 'app/api/**' # preview — nothing changed yet
[RESTORED] app/api/checkout/route.ts
[RESTORED] app/api/webhooks/stripe/route.ts
Eligibility: eligible
$ viberevert rollback <session> --only 'app/api/**' --apply
有 4 种选择方式,使用其中任意一种都会将回滚切换为选择性模式:
| 选择器 | 选取内容 |
|---|---|
--only <glob> | 匹配路径模式的更改 |
--except <glob> | 除这些内容外的所有内容,最后排除 |
--risk <level> | 涉及评级等于或高于该级别的发现的更改 |
--finding <id> | 某个特定发现所涉及的更改 |
多个正向选择器按交集组合,因此 --only 'payments/**' --risk critical 表示 payments/ 中的严重风险更改,而不是 payments 目录中的更改加上所有无关的严重风险文件。路径选择器会跟随重命名的文件,因此即使文件已移出 payments/,仍会匹配。只有在所选内容全部可恢复时,才会恢复任何内容:如果所选路径中有任何一条自会话结束后发生了偏移,整个操作都会拒绝执行,而不是只应用一部分;--force 也无法绕过此限制。如果选择性应用中断,下一次应用会安全地拒绝执行,并引导你使用紧急检查点,而不会在已有的部分恢复上再叠加第二次部分恢复。
依赖此功能前,需要了解以下两项当前限制:
- 0.8.0 之前结束的会话无法选择性回滚。 这些会话没有记录自身贡献的更改,无法重建。整场会话回滚仍然适用,且不受影响。请参阅 MIGRATIONS.md。
--finding需要完整的发现 ID,如viberevert check --since <session> --json打印的那样。目前不接受短前缀。
它不会撤销项目文件以外的影响。部署、数据库写入、第三方 API 调用、支付和已发送的电子邮件都需要各自的恢复方式。回滚基于状态,而非原子操作;它是围绕 AI 会话的安全网,不能替代测试或审查。依赖此功能前,请阅读回滚可以和不可以恢复的内容。
为你的编码 Agent 提供统一的恢复层
继续使用你偏好的编码工具。VibeRevert 可以包装命令行 Agent 会话(viberevert run <your-agent>),并通过安装程序集成 Claude Code 和 Cursor 等工具。
内置检查点位于 Agent 的工作流中。VibeRevert 始终跟随项目。
它会捕获项目的初始状态(包括未提交的工作),然后记录会话、标记高风险更改、预览回滚,并将恢复路径保留在 Agent 本身之外。
今天使用 Claude Code,明天使用 Cursor,或者包装另一个终端 Agent:安全层始终跟随项目。
将其接入你的工具
VibeRevert 以非破坏性方式安装,也可以彻底移除。它集成 Claude Code 和 Cursor(MCP 服务和钩子);每次安装都会预览更改并保留恢复日志。请参阅入门指南。
实验性终端桥接(--pty)可以在交互式 Agent Shell 中拦截命令;该功能尽力而为,相关说明见 PTY 合约。
平台
支持 Linux、macOS 和 Windows,要求 Node.js 22+。CI 会在 Node 22 和 24 上针对这三个平台运行测试套件;有关各平台的具体测试内容,请参阅兼容性。
了解更多
支持 VibeRevert
VibeRevert 是基于 Apache-2.0 许可的开源项目。赞助资金将用于持续开展跨平台测试、安全工作、回滚与恢复测试,以及支付独立审查费用。赞助不会影响风险评估结果或发布决策。 → 赞助 VibeRevert · 你的支持将用于哪些方面
许可证
Apache-2.0。请参阅 NOTICE 和许可证审计。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。