Разработчик под ником thedotmack выпустил открытый плагин claude-mem для Claude Code — он автоматически фиксирует всё, что происходит во время сессии, сжимает это с помощью AI и при следующем запуске подтягивает релевантный контекст обратно. Проблема «амнезии» между сессиями, которая раздражает всех, кто работает с ИИ-ассистентами в долгих проектах, получила конкретное техническое решение.

Что делает claude-mem

Claude Code — консольный ИИ-агент от Anthropic — при каждом запуске начинает с чистого листа. Он не помнит, что вы отлаживали вчера, какие архитектурные решения уже приняты и почему переменная называется именно так. Claude-mem закрывает этот пробел.

Плагин перехватывает жизненный цикл сессии через 5 хуков (hooks — точки встраивания в рабочий процесс): SessionStart, UserPromptSubmit, PostToolUse, Stop, SessionEnd. Каждое действие Claude — вызов инструмента, ответ, наблюдение — записывается в локальную SQLite-базу. Параллельно работает фоновый воркер (сервис на Bun), который сжимает накопленные данные в семантические резюме через Claude API.

При следующем запуске сессии наиболее релевантный контекст автоматически вливается в промпт — без ручного вмешательства.

ℹ Как устанавливается

Достаточно одной команды в терминале:

npx claude-mem install

Для Gemini CLI добавьте флаг --ide gemini-cli. Плагин также доступен через встроенный маркетплейс Claude Code: /plugin marketplace add thedotmack/claude-mem.

Архитектура: как работает поиск

Одна из главных особенностей — трёхуровневый поиск по сохранённому контексту через MCP-инструменты (Model Context Protocol — стандарт для подключения внешних данных к ИИ-агентам).


graph LR
    A[search\nиндекс ~50-100 токенов] --> B[timeline\nхронологический контекст]
    B --> C[get_observations\nполные детали ~500-1000 токенов]
    C --> D[Релевантный контекст\nв сессии]

Такой подход даёт примерно 10-кратную экономию токенов: сначала вы получаете компактный индекс результатов с идентификаторами, затем при необходимости запрашиваете полные данные только по нужным записям.

Для семантического поиска используется Chroma — векторная база данных, которая совмещает полнотекстовый и семантический поиск. uv (менеджер Python-пакетов) устанавливается автоматически, если отсутствует.

Что видно пользователю

💡 Веб-интерфейс
После установки по адресу http://localhost:37777 открывается веб-вьювер с потоком памяти в реальном времени. Там же можно переключаться между стабильной версией и бета-каналом.

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

ФункцияОписание
Persistent MemoryКонтекст сохраняется между сессиями
Progressive DisclosureПослойная загрузка памяти с отображением стоимости в токенах
mem-searchПоиск по истории проекта на естественном языке
Privacy ControlТег <private> исключает фрагменты из хранилища
CitationsСсылки на конкретные наблюдения по ID
Endless Mode (beta)Биомиметическая архитектура памяти для длинных сессий

Лицензия и ограничения

Проект лицензирован под AGPL-3.0 — это означает, что любые модификации, развёрнутые как сетевой сервис, должны публиковаться с открытым исходным кодом. Директория ragtime/ идёт под отдельной лицензией PolyForm Noncommercial — некоммерческой.

⚠ Важно при установке
npm install -g claude-mem устанавливает только библиотеку SDK — без хуков и воркер-сервиса. Для полноценной работы нужна установка через npx claude-mem install или команды /plugin внутри Claude Code.

Почему это важно

Проблема контекстной амнезии у ИИ-агентов — одна из главных болей при работе на долгосрочных проектах. Каждая новая сессия требует объяснять, что уже сделано, почему принято то или иное решение, что сломано прямо сейчас. Claude-mem автоматизирует это восстановление контекста и, судя по архитектуре, делает это экономно с точки зрения токенов.

Если плагин работает так, как описано — это закрывает один из самых раздражающих сценариев при ежедневной работе с ИИ-ассистентами в коде.

Поддержка Gemini CLI с первых версий говорит о том, что авторы изначально проектировали решение как кросс-платформенное, а не привязанное к одному инструменту. Посмотрим, как это приживётся в сообществе.