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

Предназначен для

человеческих коммитов

агентских шагов на машинной скорости

Танцы со staging

требуются add / commit

одна команда захватывает всё

Безопасность отката

checkout может уничтожить несохранённую работу

автоматическая контрольная точка безопасности перед каждым восстановлением

«Попробовать другой подход»

тяжеловесное ветвление, легко запутаться

один вызов инструмента — агенты делают это сами

Интерфейс для агентов

нет

полноценный MCP-сервер + TypeScript API

Метаданные каждого шага

ручные заметки

структурированный JSON (task, attempt, model, 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]

То же, в виде unified-диффа с n строками контекста (по умолчанию 3)

avc timeline

Все контрольные точки во всех ветках

avc mcp

Запустить MCP-сервер stdio

Рефы принимают HEAD, имя ветки, полный идентификатор контрольной точки или любой уникальный префикс идентификатора.

avc diff -p выводит стандартные unified-диффы (--- a/path, +++ b/path, @@ фрагменты), поэтому вывод можно напрямую передавать в patch -p1 или git apply. Бинарные файлы обозначаются как Binary files … differ; файлы более 2 МБ / 50 000 строк перечисляются без содержимого, а изменения, слишком большие для точного построчного диффа, показываются как замена файла целиком.

Использование в качестве библиотеки

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
}

Полная типизация. Экспортируются AgentVCS, diffTrees, computePatch, formatPatch и все типы результатов.

Как это работает

Хранилище, адресуемое по содержимому, — хорошая идея 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] Гарантия безопасности. Каждый rollback и switch, прежде чем тронуть хотя бы один файл, сохраняет ваши несохранённые изменения в автоматическую контрольную точку безопасности. Откат обратим. В agentvc нет пути выполнения, который мог бы потерять вашу работу.

Дорожная карта

  • Построчные диффы в терминале (avc diff -p)

  • Слияние веток (сейчас fast-forward, далее 3-way)

  • Хуки автосохранения: по файловому наблюдателю или после каждого шага агента

  • Координация нескольких агентов — два агента, один репозиторий, отдельные ветки

  • Именованные вехи и теги сессий

  • Python SDK с паритетом по MCP

  • Опциональное шифрованное удалённое резервное копирование хранилища контрольных точек

Идеи и PR приветствуются — см. CONTRIBUTING.md.

Участие

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

Баг-репорты, запросы функций и пул-реквесты приветствуются. Пожалуйста, прочитайте CONTRIBUTING.md и наш Кодекс поведения. Проблемы безопасности: см. SECURITY.md.

Лицензия

MIT © Nintech Ltd

Создано и сопровождается Nintech

Инженеры, которые его разрабатывают, сами же его и эксплуатируют.

Прикладной ИИ · отказоустойчивая разработка ПО · управляемый хостинг — Великобритания и ЕС

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