VibeRevert

com.viberevert由 viberevert.com 發布v0.7.1-beta.4更新於 Oct 24, 2026

Local MCP server for AI coding safety: risk checks, sessions, checkpoints, and fix prompts.

已驗證STDIO僅桌面開發者工具安全與監控

概覽

AI 產生的概覽

本機 MCP 伺服器兼命令列工具,在 AI 編碼工作階段前為 Git 專案建立檢查點,以確定性規則標記高風險變更,並可在事後還原檔案。

可以做什麼
在工作階段開始前為工作區、已暫存變更與未追蹤檔案建立檢查點,並記錄工作階段期間變更的檔案。以可檢視的確定性規則標記涉及驗證、付款、資料庫、密鑰、相依套件或基礎設施的高風險編輯,而不是交由另一個模型判斷。把檢查結果整理成可直接交給代理的修正提示詞。預覽並執行整段工作階段的回復,或只回復選定的路徑、風險等級或特定發現,每次執行前先儲存緊急檢查點。可透過選用的 pre-commit 鉤子拒絕超過設定風險門檻的提交。
適用情境
適合讓編碼代理在真實儲存庫中工作、又希望為未提交的變更保留復原途徑的情況,尤其是涉及付款、遷移或部署檔案時。也適合需要依規則產生風險提示、且只想撤銷工作階段中出錯部分的情況。
執行需求
透過 npm 套件 viberevert 全域安裝,以本機程序執行。需要 Node.js 22+ 與 Git 儲存庫,並以 viberevert init 做一次性初始化。不需 VibeRevert 帳號或託管服務,未宣告 API 金鑰或環境變數。支援 Linux、macOS 與 Windows。
安裝前請注意
回復會寫入本機專案檔案;預設只預覽,加上 --apply 才會執行還原,執行前會儲存緊急檢查點。它無法撤銷部署、資料庫寫入、第三方 API 呼叫、付款或已寄出的郵件。0.8.0 之前的工作階段無法選擇性回復,選擇性還原若中斷會失敗關閉。選用的 pre-commit 鉤子會拒絕提交。它是安全網,不能取代測試或程式碼審查。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 VibeRevert,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[VibeRevert logo]

VibeRevert

Protect the project you're actually working on.

Record · Check · Fix · Restore.

VibeRevert is the project-integrity layer for AI coding. It records the real working state before an agent starts, flags risky changes with deterministic rules, and lets you remove the agent work you don't want without giving up the rest.

An agent changed 80 files. 75 are useful. Remove the 5 you don't.

No AI judges the AI: risk findings are reproducible, explainable, and based on rules you can inspect.

The working state you already had is part of the project. Staged work, unstaged edits and pre-existing untracked files are recorded before the session starts and preserved through recovery. You don't have to package your work into commits before letting an agent help with it.

Keep using your coding agent. VibeRevert works alongside Claude Code, Cursor, and other coding-agent workflows. Git worktrees give an agent an isolated checkout; VibeRevert protects and selectively recovers the working state an agent actually changes. They solve different problems and can be used together.

AI broke your project? Undo the session, not your week. Whole-session rollback is still one command.

[npm beta] [CI] [Node 22+] [Apache-2.0]

See it work

[How VibeRevert protects an AI coding session: capture the project's starting file state, record the AI session, flag risky changes across payments, database, and infrastructure, preview the rollback, and restore the project files to their pre-session state — external effects are out of scope]

The actual CLI, condensed from a real beta payment run — check flags it, and rollback previews what it will change before you --apply:

text
$ viberevert checkrisk: 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

Proof, not promises

3 real AI coding sessions. 3 exact project-file restorations. Payments, database migrations, and deployment infrastructure — all with pre-existing uncommitted work preserved. Read the beta report →

Quickstart

Works inside a Git repository and requires Node.js 22+. VibeRevert keeps its records on your machine and requires no VibeRevert account or hosted service.

bash
npm install -g viberevert@beta
bash
viberevert init                # one-time setup in your projectviberevert run <your-agent>    # records the session and saves your files' starting stateviberevert check               # see what changed and what looks riskyviberevert rollback <session>  # preview putting your files back; add --apply to restore

Restoring only part of a session works the same way, with a selector:

bash
viberevert rollback <session> --only 'app/api/**'          # preview just that partviberevert rollback <session> --only 'app/api/**' --apply  # restore just that part

What it protects you from

You let an AI agent work across your project, and it touched more than you expected — maybe payment code, a database migration, a deploy file — while your own half-finished work was sitting right there uncommitted. VibeRevert captures your project's starting file state first, so a session you don't like doesn't cost you your afternoon.

What VibeRevert does

Around each AI coding session, VibeRevert:

  • Checkpoints your project first — working tree, staged changes, and untracked files, including work you haven't committed.
  • Records the session and the project files that changed while it ran.
  • Flags risky edits — changes touching auth, payments, databases, secrets, dependencies, or infrastructure (risk taxonomy).
  • Writes an agent-ready fix prompt from those findings, to paste into your next iteration.
  • Restores your files to the checkpoint when you need it.

It warns you; it does not silently block your work. An optional pre-commit hook can reject a commit above your configured risk threshold — opt-in, tunable, and bypassable like any local Git hook.

Rules decide. Agents fix.

VibeRevert does not ask another language model whether your agent's changes look risky. Its checks are deterministic: the same inputs and configuration produce the same findings, with an inspectable reason for every flag.

When something needs attention, VibeRevert can turn those findings into an agent-ready fix prompt. The rules decide what to flag; you decide what happens next.

Roll back all of it, or only the part that went wrong

viberevert rollback restores your local project files — tracked, staged, and untracked, including uncommitted work — to how they were when the session started. It previews by default; --apply writes the change, and every apply first saves an emergency checkpoint you can recover from.

Since 0.8.0 you can also restore part of a session. Say the agent's payments change was wrong but its test additions were fine: put back only the payments work and keep everything else.

text
$ viberevert rollback <session> --only 'app/api/**'    # preview — nothing changed yet[RESTORED]  app/api/checkout/route.ts[RESTORED]  app/api/webhooks/stripe/route.tsEligibility: eligible
$ viberevert rollback <session> --only 'app/api/**' --apply

Four ways to choose, and any one of them switches rollback into selective mode:

SelectorPicks
--only <glob>changes matching a path pattern
--except <glob>everything but those, subtracted last
--risk <level>changes a finding rated at or above that level touches
--finding <id>the changes one specific finding applies to

Positive selectors combine by intersection, so --only 'payments/**' --risk critical means critical changes inside payments/, not payments plus every unrelated critical file. Path selectors follow a renamed file, so a file moved out of payments/ still matches. Nothing is restored unless everything you selected can be: if any selected path drifted since the session ended, the whole operation refuses rather than half-applying, and --force does not override that. If a selective apply is interrupted, the next one fails closed and points you at the emergency checkpoint rather than layering a second partial restore on top.

Two current limitations worth knowing before you rely on it:

  • Sessions ended before 0.8.0 cannot be selectively rolled back. They have no record of what they contributed and it cannot be reconstructed. Whole-session rollback still works on them, unchanged. See MIGRATIONS.md.
  • --finding needs the full finding id, as printed by viberevert check --since <session> --json. Short prefixes are not accepted yet.

It does not reverse effects outside your project files. Deployments, database writes, third-party API calls, payments, and sent emails need their own recovery. Rollback is state-based rather than atomic, and it's a safety net around AI sessions, not a replacement for tests or review. Read what rollback can and can't restore before you rely on it.

One recovery layer across your coding agents

Keep using the coding tools you prefer. VibeRevert can wrap command-line agent sessions (viberevert run <your-agent>) and integrates with tools such as Claude Code and Cursor through its installers.

Built-in checkpoints live inside the agent's workflow. VibeRevert stays with the project.

It captures your project's starting state — including uncommitted work — then records the session, flags risky changes, previews the rollback, and keeps that recovery path outside the agent itself.

Use Claude Code today, Cursor tomorrow, or wrap another terminal agent: the safety layer stays with your project.

Wire it into your tools

VibeRevert installs non-destructively and can be removed cleanly. It integrates with Claude Code and Cursor (MCP server and hooks); every install previews its changes and keeps a recovery journal. See getting started.

An experimental terminal bridge (--pty) can intercept commands inside an interactive agent shell; it's best-effort and documented as such in the PTY contract.

Platforms

Linux, macOS, and Windows, on Node.js 22+. CI runs the suite across all three on Node 22 and 24; see compatibility for exactly what each platform is tested to do.

Learn more

Support VibeRevert

VibeRevert is Apache-2.0 open source. Sponsoring funds continued cross-platform testing, security work, rollback and recovery testing, and helping pay for independent review. Sponsorship does not influence risk findings or release decisions. → Sponsor VibeRevert · what your support funds

License

Apache-2.0. See NOTICE and the license audit.

來源:README.md,提交 ef0bfe5

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.7.1-beta.4最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分