Rekal CLI
Память о решениях в git: сессии ИИ-агентов сохраняются при коммите, а агент находит в них причины и отвергнутые варианты
- 206 ★ репозитория
- Последний коммит
- Apache-2.0
Расширенный доступ
Почему такой уровень
- Хуки git и правки файлов правил агентов меняют репозиторий.
- Транскрипты сессий хранятся в репозитории и уходят в ветку на сервере, а очистка секретов идет по шаблонам.
Установка
- Работает в
Ручная установка
/plugin marketplace add rekal-dev/rekal-cliЗатем `/plugin install rekal@rekal-dev`, `/rekal:install` один раз на машину и `/rekal:init` в репозитории.
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Хуки git и правки файлов правил агентов меняют репозиторий.
- Транскрипты сессий хранятся в репозитории и уходят в ветку на сервере, а очистка секретов идет по шаблонам.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Rekal — CLI, который при каждом git-коммите сохраняет сессию ИИ-агента в репозитории и дает любому агенту вспомнить, почему принято решение, включая отвергнутые варианты. Хранилище — каталог `.rekal/` внутри репозитория: сессии пишутся целиком, а индекс и эмбеддинги строятся локально в фоне. Команда `rekal init` включает хуки `post-commit` и `pre-push`, ставит скилл в `.claude/skills/rekal/` и добавляет строку в `CLAUDE.md` или в файл правил другого агента. Запрос вида `rekal "почему отказались от пакетной отправки?"` возвращает короткий список подходящих сессий с оценкой уверенности и номером реплики, а `rekal query -s s14 --role human_steering` раскрывает нужную сессию. Командная память едет по обычным `git push` и `git fetch` в сиротских ветках `rekal/<почта>`. `rekal sync` подтягивает ветки коллег, а наружу уходит только работа, уже влитая в основную ветку.
Для кого. Командам, где несколько человек работают с Claude Code, Cursor или Codex над одним репозиторием и теряют доводы прошлых сессий.
Подходит, если
- Новый агент собирается предложить решение, которое команда уже отвергла в прошлой сессии.
- Коллега вернулся к задаче через месяц и ищет причину выбранного подхода.
- Команда хочет, чтобы агенты видели рассуждения друг друга после слияния ветки.
- История решений нужна рядом с кодом, без внешнего сервиса памяти и без аккаунта.
- Все упоминания термина в сессиях собирает команда `rekal find`.
Не подходит, если
- Работа идет на Windows: бинарник собран для macOS на Apple Silicon и для Linux (x86-64 и arm64).
- Транскрипты сессий нельзя хранить в репозитории даже очищенными: очистка секретов работает по шаблонам и не гарантирует полноты.
- Проект живет без git: инструмент привязан к коммитам.
Пример запроса к агенту
Перед тем как менять схему повторных отправок вебхуков, спроси у Rekal, обсуждали ли мы фиксированную задержку и почему ее отвергли.Ограничения
Бинарник весит около 170 МБ и занимает около 200 МБ на диске: внутри модель эмбеддингов, база и полнотекстовое расширение. Поддерживаются macOS на Apple Silicon и Linux. Очистка секретов идет по шаблонам и энтропии без гарантии полноты, и если ключ попал в журнал, сначала замените ключ. Сборка из исходников требует CGO, llama.cpp нужной версии и git-lfs, а `go install` не работает. Формат хранилища и команды закреплены версией 1.0, ранжирование и `index.db` остаются изменяемыми.
Как отключить. Выполните `rekal clean` в репозитории: команда спросит подтверждение и уберет хранилище, оба хука, скилл и строку из файлов правил. Сам бинарник удалите из `~/.local/bin/rekal`, а ветку `rekal/<почта>` снимите командой `git branch -D`.
Частые вопросы
Как поставить Rekal?
В Claude Code выполните `/plugin marketplace add rekal-dev/rekal-cli` и `/plugin install rekal@rekal-dev`, затем `/rekal:install` один раз на машину и `/rekal:init` в каждом репозитории. Из оболочки подойдут `curl -fsSL https://raw.githubusercontent.com/rekal-dev/rekal-cli/main/scripts/install.sh | bash` и `rekal init`.
Что сохраняется при коммите?
Сессия агента целиком, без пересказа моделью. Она попадает в `.rekal/data.db`, а до записи проходит очистку секретов и замену домашних путей.
Как коллеги получают мою память?
Через обычные `git push` и `git fetch`: данные лежат в сиротской ветке `rekal/<почта>`, а `rekal sync` подтягивает ветки коллег. Наружу уходит только работа, влитая в основную ветку.
С какими агентами работает Rekal?
С Claude Code, Cursor, Copilot, Codex, Gemini, Kiro и OpenCode. Команда `rekal init` добавляет строку в файл правил найденного агента: `AGENTS.md`, `GEMINI.md`, `.github/copilot-instructions.md` или `.kiro/steering/rekal.md`.
Нужны ли ключ API или внешний сервис?
Нет. Эмбеддинги считает локальная модель внутри бинарника, а сервера, аккаунта и телеметрии у инструмента нет.
Как убрать Rekal из репозитория?
Команда `rekal clean` спрашивает подтверждение и удаляет хранилище, оба хука, скилл и строку из файлов правил. Ветку `rekal/<почта>` удаляют вручную: `git branch -D rekal/<почта>`.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыОбщая память команды и ИИ-агентов в Git: решения и передачи задач хранятся в Markdown и доступны из Claude Code и Codex.
Локальная память агента на журнале поправок: сказали Claude Code один раз, и новая сессия читает правило до начала работы
MCP-сервер хранит решения и знания проекта в Redis или Valkey и достает их в новых сессиях и после сжатия контекста.
Локальная панель для Claude Code, Codex, Pi и OpenCode: изменения памяти ждут вашего решения, а после хода идет аудит
История сеансов агента привязывается к Git-коммитам, чтобы найти исходный запрос, переписку и затронутые файлы изменения.
Локальная память проекта для кодинг-агентов: решения и текущее состояние переживают смену модели и очистку чата
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| Rekal (эта карточка) | нет | 206 | ||
| Episodic Memory | нет | 499 | Episodic Memory ищет по переписке с несколькими агентами через MCP; Rekal привязывает сессии к коммитам и передает их команде через git | |
| agentmemory | да | не нужна | 30 160 | agentmemory хранит память локально у одного разработчика; Rekal делит ее с командой по git и связывает с коммитами |
Коротко о README
Сравнение с файлом `MEMORY.md`, облачными слоями памяти, памятью редакторов и RAG по коду объясняет, чем отличается подход. Далее идут справочник команд, схема захвата и индексации, слой знаний по прозе репозитория и результаты бенчмарков.