Perenna — общая память агентов на Git

Perenna

Легкая постоянная память для агентов на Git: Claude Code, Codex, Cursor и ChatGPT читают и пишут одни и те же заметки в Markdown

  • 60 ★ репозитория
  • Последний коммит
MCP-сервер

Расширенный доступ

Почему такой уровень

  • Агент записывает и удаляет воспоминания в Git-репозитории, а они возвращаются в контекст всех подключенных агентов
  • При удаленном провайдере эмбеддингов текст воспоминаний и запросы уходят во внешний сервис
Все причины и проверки

scarletkc/perenna

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add mcp/perenna

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Агент записывает и удаляет воспоминания в Git-репозитории, а они возвращаются в контекст всех подключенных агентов
  • При удаленном провайдере эмбеддингов текст воспоминаний и запросы уходят во внешний сервис

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Perenna хранит долговременные воспоминания агентов как обычные файлы Markdown в отдельном Git-репозитории. Память принадлежит вам и ни одному агенту в отдельности: Claude Code, Codex, Cursor и ChatGPT подключаются к одному сервису и делят ее без общего аккаунта у вендора. Файлы можно читать, править, версионировать и копировать самостоятельно. У MCP-сервера раздельные инструменты для чтения, записи и удаления воспоминаний. Транспорты: локальный stdio, Streamable HTTP только на loopback и удаленный HTTP с защитой OAuth для самостоятельно развернутого сервиса. Межпроцессная блокировка дает нескольким локальным агентам работать одновременно. Поиск идет по локальному индексу Vexor, который всегда можно пересобрать из Git. Автоматического извлечения воспоминаний из разговоров нет: запись происходит по явному действию агента. Для Codex и Claude Code есть необязательный навык с правилами обращения с памятью, а синхронизацию с закрытым Git-репозиторием включает команда perenna sync setup.

Для кого. Тем, кто работает с несколькими агентами и хочет одну переносимую память, которую видно, правится и хранится как обычный Git-репозиторий.

Подходит, если

  • Вы переключаетесь между Claude Code, Codex и Cursor и не хотите объяснять предпочтения заново
  • Память агента хочется хранить в Markdown, чтобы читать и править ее вручную
  • Память переезжает между машинами через закрытый Git-репозиторий
  • ChatGPT и локальные агенты подключаются к одному самостоятельно развернутому сервису
  • История изменений памяти ценна: запись можно откатить

Не подходит, если

  • Нужна автоматическая выжимка из диалогов: Perenna пишет только то, что агент сохранил явно
  • Нет ни одного провайдера эмбеддингов: поиск без настроенного Vexor не заработает
  • Нужна готовая облачная память с аккаунтом и поддержкой: проект рассчитан на самостоятельное размещение

Пример запроса к агенту

Запомни, что я предпочитаю короткие коммиты в стиле Conventional Commits, и вспомни в следующей сессии в другом агенте.

MCP

Транспорт
stdio, http
Авторизация
OAuth

Переменные окружения

VEXOR_API_KEY секрет
Ключ провайдера эмбеддингов Vexor
PERENNA_GIT_REMOTE
Адрес закрытого Git-репозитория для синхронизации

Ограничения

Нужны Python 3.12 и новее, Git и менеджер uv. Для поиска требуется рабочий провайдер эмбеддингов Vexor: команда uvx vexor init помогает настроить его, а удаленные провайдеры получают текст воспоминаний и поисковые запросы. Локальные эмбеддинги ставятся вариантом perenna[local]. Для синхронизации нужен закрытый Git-репозиторий и учетные данные к нему. Удаленный HTTP с OAuth требует самостоятельного развертывания и защиты. Последняя версия на момент проверки 0.4.1, проект молодой, и интерфейсы могут меняться.

Как отключить. Удалите запись perenna из конфигурации MCP-клиента и выполните uv tool uninstall perenna. Папка данных ~/.perenna и Git-репозиторий с заметками остаются, удалите их вручную, если память больше не нужна.

Частые вопросы

Где лежит память?

В обычных файлах Markdown в отдельном Git-репозитории внутри домашней папки Perenna, по умолчанию ~/.perenna. Их можно читать, править, версионировать и резервировать как любые файлы.

Как ставится Perenna?

Командой uv tool install perenna, затем настраивается поиск через uvx vexor init, а клиент запускает perenna mcp. Можно вставить агенту ссылку на инструкцию agent-installation.md, и он сделает это сам.

Какие транспорты есть?

Локальный stdio, Streamable HTTP только на loopback и удаленный HTTP с защитой OAuth. Удаленный вариант нужен, чтобы подключить ChatGPT к своему сервису.

Что уходит провайдеру эмбеддингов?

При удаленном провайдере туда отправляются тексты воспоминаний и поисковые запросы. Если это нежелательно, поставьте perenna[local] и считайте эмбеддинги на своем устройстве.

Как включить синхронизацию между машинами?

Командой perenna sync setup с адресом закрытого Git-репозитория. Отключает синхронизацию команда perenna sync disable, удаленный репозиторий при этом остается.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы

Постоянная память агента на графе связей: решения и ошибки переживают сессию, без векторной базы и платных вызовов API

MCP-серверРасширенный доступ244Звезды репозитория

Локальная память для ИИ-агентов в обычных Markdown-файлах: запоминает только то, что вы одобрили, и отдает ее через MCP

MCP-серверРасширенный доступ218Звезды репозитория

Постоянная память для агентов: заметки хранятся карточками в markdown и находятся в начале следующей сессии.

MCP-серверРасширенный доступ144Звезды репозитория

Самостоятельно размещаемая долговременная память для агентов: семантический поиск, граф знаний и автоконсолидация через MCP и REST API

MCP-серверРасширенный доступ2,1 тыс.Звезды репозитория

Долговременная память агента в папке связанных markdown-заметок, чтобы Claude Code помнил проект между сессиями

MCP-серверРасширенный доступ336Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
Perenna — общая память агентов на Git (эта карточка)нетOAuth60
MCP Memory Keeperнетне нужна136хранение контекста между сессиями без Git и общего доступа для нескольких агентов
Agent Memory Engineнетне нужна127движок памяти без общего Git-репозитория и OAuth для удаленных клиентов

Коротко о README

В README описаны идея общей памяти вне привязки к вендору, быстрый старт с установкой через агента или вручную, настройка Vexor, подключение клиентов, навыки для Codex и Claude Code, синхронизация через Git и установка из исходников.

Бейдж для README

Сообщить о проблеме