
Claude-Mem: постоянная память для Claude Code
Claude-Mem — плагин для Claude Code, который автоматически сохраняет контекст сессий, сжимает его через AI и подгружает в новые сессии. Установка одной командой.
Разработчик под ником 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 с первых версий говорит о том, что авторы изначально проектировали решение как кросс-платформенное, а не привязанное к одному инструменту. Посмотрим, как это приживётся в сообществе.