Когда вы работаете с ИИ (Agnes Code, Claude, Cursor и т.п.), вся «память» разговора живёт только в чате. Если чат закрылся, модель сменилась, компьютер перезагрузился или вы переключились на другую машину — всё, что вы обсудили, потеряно. Вам приходится заново объяснять ИИ, где вы были, что решили и что дальше.
AllToOne — это протокол, который сохраняет «суть проекта» в нескольких маленьких текстовых файлах и в git. Эти файлы переезжают вместе с проектом (через git/GitHub), и любой ИИ на любой машине может за 5 секунд восстановить: что вы делали, что решили, что осталось.
Аналогия: это как памятка на столе (а не в голове собеседника). Даже если собеседник сменился — памятка осталась, новый человек её прочитал и продолжил.
Нужен ли вам AllToOne?
- Да, если вы работаете с ИИ-агентами на разных машинах или в разных чатах и хотите, чтобы контекст не терялся при смене.
- Да, если вы хотите переносить рабочий процесс между агентами (Agnes, Claude, Cursor, Qwen и т.д.) без потери решений.
- Нет, если вы работаете в одном чате, в одном окне, и не меняете ни модель, ни машину.
| Файл | Простыми словами |
|---|---|
AGENTS.md |
«Инструкция для ИИ»: как ему читать эти файлы, что делать при старте, что можно/нельзя. Читает любой ИИ-агент автоматически. |
handoff.md |
Главная памятка. Цель, что сделано, что решено, что осталось. Именно этот файл читает новый чат/машина. |
context/state.json |
Короткая сводка: текущая цель, список файлов, TODO, журнал событий. |
context/decisions-active.md |
«Почему мы так решили» — журнал ключевых решений (не более 5 активных, старые сворачиваются). |
context/open-questions.md |
«Что пока не решено» — список открытых вопросов. |
.gitignore |
Говорит git: .agnes/ — рабочая папка ИИ, в git не включать. |
README.md |
Этот файл. |
Правило одного коммита: state.json и handoff.md всегда коммитятся вместе (lockstep). Это гарантирует, что памятка и сводка всегда согласованы.
| Слой | Где | Кто переносит |
|---|---|---|
| Движок (bootstrap) | этот репо: AGENTS.md + пустой context/ + handoff.md + README |
git clone сюда (разовая настройка) |
| Память проекта | per-project: заполненный context/* + handoff.md + AGENTS.md |
пользователь (git clone проекта / копирование файлов) |
Память конкретного проекта не входит в этот репо. Bootstrap — переиспользуемый «двигатель»; проект переносится отдельно.
Ничего делать не нужно. ИИ (если он читает AGENTS.md) сам обновляет файлы при:
- принятии значимого решения,
- создании/изменении важного файла,
- смене плана/TODO,
- возникновении или закрытии вопроса.
Вы просто работаете. Файлы обновляются «тихо», без вашего участия.
Открываете новый чат в этой же папке. Говорите одно из ключевых слов:
Продолжаем. / Продолжи. / Далее.
Все три (и варианты «продолжай / продолжим / дальше») запускают восстановление.
Агент прочитал AGENTS.md при открытии папки и знает, что делать:
- Читает
handoff.md+state.json. - Проверяет: размеры в норме? версии совпадают? файлы существуют?
- Говорит вам 3–5 строк: «Цель: … / Решено: … / В работе: … / Дальше: … — идём?»
- Вы говорите «идём» — он продолжает ровно с того места, где вы остановились.
Если агент не подхватил (новый проект, не открыта папка) — скажите полнее:
«Прочитай
handoff.mdиcontext/state.jsonв этой папке, сделай health-check, предложи, с чего начать.»
Свои триггеры. Если «продолжаем / продолжи / далее» не нравятся — впишите свои в context/state.json:
"unpack_triggers": ["го", "вперёд", "подними нить"]С этого момента агент реагирует только на ваши фразы. Это тихая настройка (не требует подтверждения), lockstep-коммит.
Память не потеряна. Неважно, что чат умер или модель другая — всё в файлах.
- На новой машине клонируете проект:
git clone <ваш_проект>. - Открываете в ИИ-агенте и говорите ту же фразу из Ситуации 2.
ИИ читает AGENTS.md (инструкцию), handoff.md (памятку), восстанавливается и работает. Нужно только скопировать файлы — «настройка» не требуется.
- GitHub хранит проект с памятью:
AGENTS.md,context/,handoff.md,.gitignore, ваш код. - На другой машине:
git clone→ открыть в ИИ → фраза из Ситуации 2. - Все изменения в
context/коммитятся в ваш проект (lockstepctx: v{N}).
Всё зависит от того, есть ли в папке AGENTS.md:
- Есть
AGENTS.md(это уже инициализированный проект) → работает как Ситуация 2. - Нет
AGENTS.md(чистая/чужая папка) → агент ничего не делает сам. Ждёт вашей команды: «Создай AllToOne для этого проекта».
Файлы AGENTS.md на месте, но handoff.md/state.json повреждены или не согласованы. Агент ничего не выдумывает:
- Сообщает: «AllToOne-каркас есть, но L2-якорь сломан (health-check FAIL)».
- Предлагает: (а) восстановить из последнего рабочего git-коммита, (б) инициализировать заново.
- Начинает только после вашего выбора.
Открываете папку с проектом в агенте и говорите:
Создай AllToOne для этого проекта.
Агент одним ходом:
- Создаёт каркас:
AGENTS.md,context/,handoff.md,.gitignore. - Если в папке уже есть файлы — просматривает структуру (верхний уровень), заполняет «цель» и список важных файлов. Чужие решения НЕ подхватывает.
- Делает первый коммит
ctx: v1. - Сообщает: «AllToOne инициализирован (v1)» — и ждёт подтверждения.
AllToOne не ставится как программа — это схема из простых текстовых файлов, которая живёт в папке вашего проекта. Работает с любым ИИ-агентом, который умеет читать файлы: Agnes Code, Qwen Code, Open Code, Claude Code, Cursor и т.д.
allToOne-setup/
├─ AGENTS.md ← полный протокол (агент читает автоматически)
├─ README.md ← этот файл (для человека)
├─ LICENSE ← MIT
├─ .gitignore ← .agnes/ не в git
├─ context/ ← ПУСТОЙ scaffold (state.json, decisions, open-questions)
└─ handoff.md ← пустой шаблон пакета
git clone https://github.com/IgerOK/allToOne-setup
Агент, открывший папку, читает AGENTS.md и знает протокол. Это одноразовая «установка» — дальше вы переносите только проекты.
Откройте папку вашего проекта в агенте и скажите:
Создай AllToOne для этого проекта.
Агент:
- Скопирует
AGENTS.mdиз bootstrap в ваш проект - Создаст заполненный
context/+handoff.md+.gitignoreв папке проекта - Сделает первый коммит
ctx: v1
Память проекта живёт в папке проекта, не в bootstrap.
git clone allToOne-setup(разовая, если ещё не делали)git clone <ваш_проект>— там уже естьAGENTS.md+context/+handoff.md- Откройте в агенте → «Продолжаем» → агент восстанавливает и работает
В ~/.agnes/skills можно разместить skill, который автоматически собирает/разворачивает L2-пакет без явных команд. Не требуется, но удобнее.
| Агент | Читает AGENTS.md при открытии? |
Что делать |
|---|---|---|
| Agnes Code | Да (автоматически) | Ничего, просто говорите «Продолжаем» |
| Qwen Code, Open Code, Claude Code, Cursor | Зависит от настройки | Если агент не подхватил — скажите: «Прочитай AGENTS.md и handoff.md, восстанови контекст» |
Правило: если агент молчит — один раз напомните. Файлы везде одинаковые, протокол не зависит от конкретного ИИ.
В среде OpenCode есть готовый движок IgerOK/alltoone — тот же протокол AllToOne, но с детерминированным счётчиком контекста (плагин context-budget), командами /resume//handoff и Python-CLI. Он комплемментарен, не взаимозаменяем: AllToOne остаётся агент-независимым (plain-файлы, любая среда), alltoone — под OpenCode. В одном проекте — одна L2-правда (v64): кто первый применил, тот и формат; второй агент подхватывает, а не заводит второй.
AllToOne — это только файлы в вашей папке, никакой глобальной установки нет.
- (Рекомендуется) Сделать финальный коммит: скажите агенту «сохрани контекст».
- Удалите:
AGENTS.md,handoff.md, папкуcontext/. (.gitignoreможно оставить.) - Всё. Агенты больше не знают об AllToOne.
Не удаляйте файлы — скажите: «Временно не используй AllToOne». Агент перестаёт делать тихие записи. Скажете «продолжаем» — протокол снова активен.
Никогда не удаляйте context/ без финального коммита, если хотите сохранить память.
| Слой | Что это | Живёт где | Переносится |
|---|---|---|---|
| L1 (локальный черновик) | .agnes/session-state.json — быстрая заметка |
Только на этой машине | Нет |
| L2 (память проекта) | context/* + handoff.md + AGENTS.md |
В git (в проекте) | Да (через git/GitHub) |
L2 сильнее и важнее. Все переносы используют только L2. L1 — «заметка на стол», не переживает смену машины.
Если настроен v2-оптимизатор (запланированная задача, еженедельно или по факту):
- Проверяет, не «расползлись» ли файлы (лимиты, версии).
- Если «расползлись» — аккуратно сжимает (не удаляет смыслы, делает компактнее).
- Разрушительное действие (сменить цель, отменить решение) — не делает сам, спрашивает.
Это «автопомойка»: файлы не разрастаются бесконечно.
«Что если я не использую git, просто копирую папку?»
Работает. Протокол не требует git для переноса — достаточно скопировать AGENTS.md, context/, handoff.md. Git нужен для истории и GitHub-синхронизации.
«Можно ли без rules-Agnes и только с AllToOne?»
Да. AllToOne самодостаточен для переноса контекста. rules-Agnes — отдельный «поведенческий канон» (как ИИ пишет код). Можно без него.
«Что делать, когда контекст чата почти заполнился?» Ничего. ИИ сам делает тихую запись. Откройте новый чат и скажите фразу из Ситуации 2. Переход бесшовный.
«Могу ли я, чтобы ИИ сам предложил перейти в новый чат?» Да. Агент напомнит при ~85% заполнения: «Контекст близок к порогу, предлагаю открыть новый чат — пакет уже готов». Вы соглашаетесь или говорите «продолжи» — он действует.
AGENTS.md ← полный протокол (агент читает автоматически)
README.md ← этот файл (для человека)
LICENSE ← MIT
.gitignore ← .agnes/ не в git
context/ ← ПУСТОЙ scaffold (заполняется при init проекта)
state.json
decisions-active.md
open-questions.md
handoff.md ← пустой шаблон пакета
Для конкретного проекта агент создаёт эти файлы в папке проекта (не в bootstrap). Bootstrap — переиспользуемый, память переносит пользователь.
MIT. Свободно используйте, модифицируйте, публикуйте.