Skip to main content
Glama


为什么选择 agentvc

Git 是为以人类节奏提交代码的人类而构建的。AI 代理正以机器速度改动你的工作区:每分钟几十个文件、走错的方向、半途而废的重构、你从未要求过的删除。等你意识到时,git stash 已经救不了你了。

agentvc 为每个代理会话都提供了一台时间机器。 它能在几毫秒内为整个工作区创建快照,将并行的尝试分叉到分支上,并瞬间恢复任意之前的状态——设计上零数据丢失

Related MCP server: statecli-mcp-server

功能特性

⏱ 即时检查点

用一条命令或一次工具调用为每个文件创建快照。内容寻址、去重、毫秒级完成。

↩ 无损回滚

每次恢复都会先自动保存当前状态。回滚本身也是可逆的。

⑃ 并行尝试

分叉会话,尝试方案 B,对比后保留胜出者。

🤖 原生 MCP

提供 8 个工具,让 Claude Code、Cursor 和 Codex 能够自行创建检查点并恢复。

🔍 真实差异

精确查看代理在任意两个时间点之间改动了什么——可通过 avc diff -p 细化到行。

🔒 本地且私有

所有数据都存放在 .avc/ 中。无守护进程、无云端、无遥测。

为什么不直接用 git 呢?

git

agentvc

设计目标

人类提交

机器速度的代理步骤

暂存操作

需要 add / commit

一条命令捕获一切

回滚安全性

checkout 可能销毁未提交的工作

每次恢复前自动创建安全检查点

“尝试另一种方案”

分支操作笨重,容易纠缠

一次工具调用——代理们自己完成

代理接口

一流的 MCP 服务器 + TypeScript API

逐步元数据

手动记录

结构化 JSON(taskattemptmodel、tokens)

agentvc 并不是要取代用于发布代码的 git。它位于代理循环的底层:廉价、可丢弃、可回退的历史记录,永远不会污染你的 git log

环境要求

Node.js 20 或更高版本。没有其他运行时依赖。

安装

npm install -g agentvc

或者无需安装直接运行:

npx agentvc init

快速开始

mkdir demo && cd demo
avc init                              # initialise .avc/

echo "v1" > app.txt
avc save -m "known good state"        # checkpoint everything

echo "v2" > app.txt                   # ...agent goes wrong...
avc status                            # see what changed
avc diff -p                           # see exactly which lines changed
avc rollback HEAD                     # instant undo — nothing lost

avc branch plan-b && avc switch plan-b   # fork a parallel attempt
avc save -m "trying redis instead"
avc timeline                          # every attempt, side by side

给你的代理一台时间机器

只需注册一次随附的 MCP 服务器,你的代理就能自行创建检查点并恢复。

Claude Code

claude mcp add agentvc -- avc mcp

Cursor · Codex · 任何 MCP 客户端 — 添加到 .mcp.json(或参见 examples/mcp-config.json):

{
  "mcpServers": {
    "agentvc": { "command": "avc", "args": ["mcp"] }
  }
}

如果服务器不应使用其工作目录,请设置 AVC_ROOT=/path/to/project

教它何时创建检查点

把下面这段放进你的 AGENTS.md / CLAUDE.md —— 它决定了一个趁手的工具和真正的安全网之间的差别:

## Session checkpoints (agentvc)

- Before any risky operation (refactors, deletions, dependency upgrades,
  schema changes), call `avc_save` with a short message.
- After reaching a working state, call `avc_save` again.
- If an approach fails twice, call `avc_rollback` to the last good checkpoint
  and try a different plan — optionally on a new branch via `avc_branch`.
- Never leave more than ~15 minutes of work uncheckpointed.

MCP 工具

工具

代理用它来做什么

avc_save

在冒险性工作之前或成功之后为工作区创建快照

avc_status

检查自上次检查点以来发生了什么变化

avc_log

查看当前分支上最近的检查点

avc_branch

分叉一个并行尝试而不丢失当前尝试

avc_switch

在尝试之间切换(会先自动保存未保存的工作)

avc_rollback

将所有文件恢复到已知良好的检查点

avc_diff

比较任意两个时间点,可选行级补丁(patch: true

avc_timeline

查看所有分支上的每一次尝试

CLI 参考

命令

说明

avc init

在当前目录初始化仓库

avc save [-m msg] [--meta json]

为整个工作区创建检查点

avc status

显示自上次检查点以来未保存的更改

avc log [-n N]

列出当前分支上的检查点

avc branch [name] [start]

创建或列出分支

avc switch <branch>

切换分支并恢复文件

avc rollback [ref]

将文件恢复到某个检查点(默认 HEAD

avc diff [from] [to]

比较引用,或将某个引用与工作区进行比较

avc diff -p [-U n] [from] [to]

同上,但以统一 diff 输出,带有 n 行上下文(默认 3)

avc timeline

所有分支上的每个检查点

avc mcp

启动 MCP stdio 服务器

Refs 接受 HEAD、分支名、完整检查点 ID 或任意唯一 ID 前缀。

avc diff -p 输出标准的统一 diff(--- a/path+++ b/path@@ hunks),因此 输出可以直接通过管道交给 patch -p1git apply。二进制文件会被报告为 Binary files … differ;超过 2 MB / 50,000 行的文件只列出而不显示内容, 而对于无法进行精确行级 diff 的大规模重写,则显示为整个文件替换。

作为库使用

import { AgentVCS, formatPatch } from "agentvc";

const avc = new AgentVCS(projectRoot);
await avc.ensureInit();

const cp = await avc.save({
  message: "before db migration",
  meta: { task: "upgrade-postgres", attempt: 2 },
});

const { clean, modified } = await avc.status();
if (!clean) console.log("agent touched:", modified);

await avc.branch("plan-b");
await avc.checkout("plan-b");

await avc.rollback(cp.id);   // instant, lossless

for (const p of await avc.diffPatch(cp.id, "work")) {
  console.log(formatPatch(p));   // unified diff per file, with hunks available on p.hunks
}

完全类型化。导出了 AgentVCSdiffTreescomputePatchformatPatch 以及所有结果类型。

工作原理

内容寻址存储——git 的好主意,却没有 git 的繁文缛节:

.avc/
├── objects/ab/c3ef…      blobs + trees, deduplicated by SHA-256
├── checkpoints/          parents, tree, message, structured meta
├── refs/heads/main       branch tips
└── index.json            id → summary, for fast prefix lookups
  • 无论跨多少个检查点和分支,相同的文件内容都只存储一次

  • 未更改的文件在恢复时绝不会被重写。

  • 你现有的 .gitignore 会得到尊重;.git/node_modules/ 会被跳过。

  • 删掉 .avc/,你的工作区不会受到任何影响。

[!IMPORTANT] 安全保证。 每次 rollbackswitch 都会在触碰任何文件之前,将你的未保存更改自动快照为一个 安全检查点。回滚是可逆的。agentvc 中没有任何代码路径会丢失你的工作。

路线图

  • 终端中的行级 diff(avc diff -p

  • 分支合并(当前为快进合并,下一步为三方合并)

  • 自动保存钩子:基于文件监视器,或每个代理回合之后

  • 多代理协调——两个代理、一个仓库、各自独立的分支

  • 命名里程碑和会话标签

  • 与 MCP 功能对等的 Python SDK

  • 检查点存储的可选加密远程备份

欢迎提出想法和 PR——参见 CONTRIBUTING.md

参与贡献

git clone https://github.com/nintechio/agentvc.git
cd agentvc && npm install
npm run typecheck && npm test && npm run build

欢迎提交 bug 报告、功能请求和拉取请求。请阅读 CONTRIBUTING.md 和我们的 行为准则。安全问题:请参见 SECURITY.md

许可证

MIT © Nintech Ltd

Nintech 构建并维护

构建它的工程师也负责运营它。

应用型 AI · 韧性软件工程 · 托管服务 — 英国与欧盟

nintech.io · GitHub · X · YouTube · admin@nintech.io

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides operational continuity for AI coding agents, preserving task state, decisions, checkpoints, and project context across sessions and model switches via MCP.
    1
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that provides on-demand safety for AI coding workflows, enabling inspection, review, checkpointing, and rollback of risky actions.
    21
    1
    MIT
  • F
    license
    B
    quality
    C
    maintenance
    MCP server for file checkpointing and undo, enabling AI agents to safely read, write, and edit files with full snapshot history and revert capabilities.
    10

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nintechio/agentvc'

If you have feedback or need assistance with the MCP directory API, please join our Discord server