Claude-Mem: плагин постоянной памяти для Claude Code
Claude-Mem — сторонний плагин, который наблюдает за действиями агента, поручает второму агенту сжать их в короткие наблюдения и внедряет краткий индекс этих наблюдений в следующую сессию. Ниже — что он на самом деле делает, как его установить и настроить и где заканчивается он и начинается CLAUDE.md.
Claude-Mem в двух словах
- Это слой памяти, а не файл правил: хуки передают каждый вызов инструмента локальному воркеру, второй агент превращает эту активность в короткие наблюдения, а следующая сессия начинается с компактного индекса из них.
- Два поддерживаемых способа установки: npx claude-mem install (готовит среду выполнения и открывает настройку в браузере) или пара /plugin marketplace add thedotmack/claude-mem, а затем /plugin install claude-mem.
- Apache-2.0, TypeScript, поддерживает Alex Newman (thedotmack). Память хранится локально в SQLite по пути ~/.claude-mem/claude-mem.db; облачная синхронизация включается по желанию.
- Он не заменяет CLAUDE.md или автоматическую память Claude Code — все три загружаются при старте сессии и отвечают на разные вопросы. Таблица сравнения ниже — краткая версия.
thedotmack/claude-mem — README
Источникgithub.comchecked 2026-11-13
.claude-plugin/marketplace.json — claude-mem 15.18.3
Источникraw.githubusercontent.comchecked 2026-11-13
Installation Guide
Источникdocs.claude-mem.aichecked 2026-11-13
Configuration
Источникdocs.claude-mem.aichecked 2026-11-13
Telemetry — what is collected and how to opt out
Источникdocs.claude-mem.aichecked 2026-11-13
How Claude remembers your project — CLAUDE.md vs auto memory
Источникcode.claude.comchecked 2026-11-13
dsh-claude-mem — DeepSeek Harness port (unofficial)
Источникdeepseekharnessplugins.comchecked 2026-11-13
Команды, настройки, значения по умолчанию и пути на этой странице взяты из вышестоящего репозитория и официальной документации 2026-11-13. Команды и названия настроек намеренно оставлены без перевода, потому что переведённая команда — сломанная команда.
Данные репозитория из GitHub API на 2026-11-13: 116,640 звёзд, 10,120 форков, создан 2025-08-31, последний релиз v15.18.3 опубликован 2026-11-12. Число звёзд меняется каждый день — воспринимайте его как снимок, а не как оценку.
Что такое Claude-Mem на самом деле
Claude-Mem — открытый плагин для Claude Code (и ещё десятка агентов для программирования), который даёт агенту память о его собственной работе. Проект прямо описывает проблему: каждая новая сессия начинается с нуля, заново читает те же файлы, заново задаёт те же вопросы и снова наступает на ошибки, которые вы уже вместе исправили.
Ответ — второй агент, работающий рядом с вашим. Хуки, установленные в агента-хоста, передают каждый вызов инструмента — что было прочитано, изменено и запущено — небольшому локальному воркеру. Этот воркер прогоняет по активности модель-наблюдателя, записывает короткие структурированные наблюдения и итоговое резюме сессии и сохраняет их в локальной базе SQLite. Когда начинается новая сессия, агент-хост получает компактный индекс наблюдений, важных для этого проекта, и запрашивает подробности только тогда, когда они нужны.
Так что единица памяти здесь — наблюдение о произошедшей работе, а не инструкция, которую написали вы. В этом и состоит всё отличие от CLAUDE.md, и поэтому они сосуществуют, а не конкурируют.
- Лицензия
- Apache-2.0
- Последний релиз
- v15.18.3 · 2026-11-12
- Память хранится в
~/.claude-mem/claude-mem.db- Звёзды (2026-11-13)
- 116,640
Как это работает: три шага
README описывает цикл в трёх предложениях, и на нём держится всё остальное:
- 1
Ваш агент работает
Хуки жизненного цикла в агенте-хосте передают каждый вызов инструмента небольшому локальному воркеру. В Claude Code хуки покрывают SessionStart, UserPromptSubmit, PreToolUse, PostToolUse, PostToolUseFailure, Stop, SubagentStop и SessionEnd, а также запись Setup для claude --init и --maintenance. Каждый хук — одна команда без оболочки, claude-mem hook claude-code <event>.
- 2
Наблюдатель ведёт заметки
Второй агент превращает эту активность в короткие наблюдения и пишет резюме по окончании сессии. По умолчанию модель сжатия — Haiku (CLAUDE_MEM_MODEL=haiku), работающая в рамках вашего тарифа Anthropic; вместо неё можно указать ключ OpenRouter или Gemini либо размещённого наблюдателя от поставщика.
- 3
Следующая сессия начинается с них
При SessionStart агент получает компактный индекс наблюдений по этому проекту — по умолчанию 50, задаётся через CLAUDE_MEM_CONTEXT_OBSERVATIONS — и подгружает полные детали только при необходимости. Внедрение начинается со второй сессии в проекте, потому что первой ещё нечего внедрять.
Поиск устроен по той же многоуровневой идее. Три инструмента MCP — search, timeline, get_observations — сначала возвращают индекс, затем хронологический контекст и в конце полные записи, так что агент платит за детали только по тем строкам, которые выбрал. Навык mem-search управляет этими инструментами за вас, а цифры из самого README оценивают строку индекса примерно в 50–100 токенов против 500–1 000 для полной записи — соотношение на строку, которое README прямо называет не измеренной сквозной экономией.
Что ещё даёт воркер
Локальный воркер отдаёт просмотрщик по URL, который печатается при старте: память, сессии и настройки по адресу /viewer, а также My Work в корне. Кроме поиска он предоставляет инструменты smart_search, smart_outline и smart_unfold для навигации по коду, save_memory для намеренной записи заметки и отслеживание состояния работы. У каждого наблюдения есть ID, на который можно сослаться через API воркера.
Установка и проверка
Оба способа ниже скопированы из документации проекта. Способ с установщиком — рекомендуемый проектом, потому что он готовит среду выполнения и компилирует запускатель хуков; способ с плагином — это два запроса внутри Claude Code.
Способ 1 — установщик
Выполните это в терминале. Установщик проверяет Bun и uv, копирует файлы плагина, устанавливает зависимости, кладёт запускатель claude-mem в PATH и открывает настройку в браузере, где вы выбираете агентов, интеграции, навыки и поставщика памяти. Держите терминал запущенным, пока пользуетесь этой страницей.
npx claude-mem installНе устанавливайте его через npm install -g claude-mem. README прямо говорит, что глобальная установка через npm кладёт на машину только SDK/библиотеку — она не регистрирует хуки плагина и не запускает воркер, а также может заслонить настоящий запускатель в PATH.
Способ 2 — маркетплейс плагинов
Отправьте эти команды двумя отдельными запросами внутри Claude Code, затем перезапустите его. Оба способа настраивают хуки и запускают воркер; контекст из предыдущих сессий после этого появляется в новых сессиях автоматически.
/plugin marketplace add thedotmack/claude-mem/plugin install claude-memУстановка только через маркетплейс не имеет шага установщика, поэтому плагин размещает свой запускатель при первом старте сессии, пока компилируется — эта первая сессия может пройти без контекста памяти, а следующая его уже получит. Однократный запуск npx claude-mem install закрывает этот разрыв.
Проверка, что он действительно работает
Запустите npx claude-mem doctor: он проверяет Bun, uv, запускатель хуков и воркер и говорит, что исправить. claude-mem --version печатает номер протокола запускателя, а URL воркера, напечатанный при старте, отдаёт просмотрщик. Если хуки сообщают «Executable not found in $PATH», doctor показывает, какой claude-mem разрешается в PATH и является ли он запускателем.
npx claude-mem doctorclaude-mem --versionТребования перед началом
- 1Node.js 20.19 или новее в линейке 20.x, либо 22.12 или новее.
- 2Bun 1.2.16 или новее — им компилируется запускатель хуков; установщик поставит Bun, если его нет.
- 3uv, ставится автоматически при отсутствии: обеспечивает питоновскую часть сервиса эмбеддингов Chroma для семантического поиска.
- 4Claude Code 2.1.139 или новее — первый релиз, который выполняет аргументы хуков в exec-форме. Более старые сборки игнорируют аргументы и запускают голый claude-mem, поэтому ничего не фиксируется. SQLite поставляется встроенным через bun:sqlite.
Настройки, которые действительно меняют поведение
Всё живёт в ~/.claude-mem/settings.json, файл автоматически создаётся со значениями по умолчанию при первом запуске, а переменная окружения с тем же именем переопределяет файл. Вот строки, которые стоит знать; остальное описано на странице конфигурации.
| Настройка | По умолчанию | Что делает |
|---|---|---|
CLAUDE_MEM_MODEL | haiku | Модель для сжатия наблюдений, когда поставщик — Claude. haiku следует за новейшей Haiku; полный ID закрепляет конкретную версию. |
CLAUDE_MEM_PROVIDER | claude | Какой поставщик запускает наблюдателя: claude, codex, gemini, openrouter или openai-compatible. |
CLAUDE_MEM_CONTEXT_OBSERVATIONS | 50 | Сколько наблюдений внедряется при старте сессии. Уменьшите, если блок на старте кажется тяжёлым. |
CLAUDE_MEM_MODE | code | Профиль рабочего процесса и язык создаваемых наблюдений, например code, code--chill для меньшего числа наблюдений или code--zh для китайского. |
CLAUDE_MEM_DATA_DIR | ~/.claude-mem | Корень данных. Все остальные пути — база данных, индекс Chroma, логи, настройки, файлы pid и порта воркера — выводятся из него. |
CLAUDE_MEM_WORKER_PORT | 37700 + (uid % 100) | Порт воркера. По умолчанию он свой для каждого пользователя, чтобы два пользователя на одной машине не конфликтовали; задайте фиксированный порт, если пишете скрипты против HTTP API. |
CLAUDE_MEM_CONTEXT_PROJECTS | current | Для каких проектов SessionStart читает память: current — этот чекаут, all — все проекты, кроме исключённых по glob-шаблону. |
CLAUDE_MEM_SKIP_TOOLS | ListMcpResourcesTool, SlashCommand, Skill, TodoWrite, AskUserQuestion | Инструменты, исключённые из наблюдений. Полезно для инструментов, чей вывод — шум, а не знание. |
CLAUDE_MEM_SESSION_START_INCLUDE_ALL_SOURCES | false | Включает ли контекст SessionStart наблюдения из всех обвязок, а не только из текущей. По умолчанию false. |
CLAUDE_MEM_SKILLS_DISABLED | (none) | Скрывает встроенные навыки из списка и слэш-команд Claude Code, по имени папки. |
Ещё два параметра, которые стоит знать: CLAUDE_MEM_SKIP_BASH_PATTERNS принимает регулярное выражение, которое сверяется с каждой shell-командой, чтобы шумные команды не становились наблюдениями, а CLAUDE_MEM_REDACT_ENABLED (по умолчанию выключен) включает автоматическое затирание распознанных секретов перед сохранением.
Claude-Mem и встроенная память Claude Code
Claude Code уже переносит знания между сессиями двумя способами, и документация Anthropic считает их взаимодополняющими: файлы CLAUDE.md, которые пишете вы, и автоматическая память, которую пишет сам Claude. Claude-Mem — третий, независимый слой сверху.
| Аспект | Встроено в Claude Code | Плагин Claude-Mem |
|---|---|---|
| Кто пишет | Вы пишете CLAUDE.md; Claude пишет автоматическую память из ваших правок. | Второй агент-наблюдатель, по активности инструментов, которую породила ваша сессия. |
| Где хранится | CLAUDE.md в корне проекта или ~/.claude/CLAUDE.md; автоматическая память в ~/.claude/projects/<project>/memory/ с индексом MEMORY.md. | SQLite по пути ~/.claude-mem/claude-mem.db, плюс настройки и логи в той же папке. Необязательный индекс Chroma для семантического поиска. |
| Что попадает внутрь | Инструкции и правила; автоматическая память хранит выводы и паттерны, и загружаются только её первые 200 строк или 25 КБ. | Наблюдения о произошедшей работе — решения, исправления багов, что было прочитано и изменено — сжатые моделью. |
| Когда загружается | В каждой сессии, автоматически, как контекст после системного промпта. | При SessionStart через хук, начиная со второй сессии в проекте. |
| Как читается | Весь файл или индекс автоматической памяти просто присутствует в контексте; /memory перечисляет файлы и открывает их. | Внедряется компактный индекс; подробности приходят через три инструмента MCP — search, timeline, get_observations. |
| Зависимости и стоимость | Ничего дополнительного — это идёт в комплекте с Claude Code. | Node, Bun и uv, локальный процесс воркера и модель для сжатия: по умолчанию ваш тариф Anthropic, свой ключ или платный размещённый наблюдатель. |
Практическое разделение: правила и договорённости — в CLAUDE.md, предпочтения собирает авто-память, а историю того, что вы действительно делали, несёт Claude-Mem. Если деталь сессии важна один раз, она не нужна ни одному из трёх; если правило нужно соблюдать всегда, его место только в CLAUDE.md. В хранении они даже не исключают друг друга: memory ingest в claude-mem импортирует тематические файлы авто-памяти Claude Code в свою базу как наблюдения, не тратя токены модели.
Туториал по Claude Code memoryПриватность, ограничения и честные оговорки
Этот плагин записывает ваши рабочие сессии, поэтому значения по умолчанию стоит прочитать до того, как он появится в рабочем репозитории.
- 1Локально по умолчанию. Сессии, наблюдения и резюме пишутся в SQLite по пути ~/.claude-mem/claude-mem.db; настройки и логи лежат в той же папке. Облачная синхронизация — по желанию, не автоматически.
- 2Оберните что угодно в теги <private> — и это никогда не сохранится, так сказано в README. Автоматическое затирание распознанных секретов — отдельный переключатель CLAUDE_MEM_REDACT_ENABLED, по умолчанию выключен.
- 3Анонимная телеметрия включена по умолчанию (PostHog, привязка только к случайному UUID установки). Отключите её через npx claude-mem telemetry disable; DO_NOT_TRACK учитывается и переопределяет всё.
- 4Сжатие — это вызов модели, поэтому активность инструментов покидает машину и уходит к выбранному вами поставщику: ваш тариф Anthropic, ваш ключ OpenRouter или Gemini либо размещённый наблюдатель от поставщика. Выбирайте осознанно.
- 5Это стороннее ПО, а не продукт Anthropic, и оно устанавливает исполняемые хуки. Прочитайте plugin/hooks/hooks.json и настройки, прежде чем раскатывать его на команду; относитесь к плагину как к коду, который вы запускаете, потому что это он и есть.
- 6Он стоит контекста не меньше, чем токенов: внедрённый индекс, процесс воркера, а также Bun и uv на машине. Если ваши сессии и так короткие и самодостаточные, выигрыш невелик — измеряйте на своём репозитории, а не верьте заголовочной цифре.
Всё это не делает установку плохой. Просто инструмент стоит сначала попробовать на одном реальном проекте — исключив по glob-шаблону репозитории, которые вы никогда не хотите записывать, и отключив телеметрию, если так удобнее, — и только потом делать его умолчанием для всего, что вы открываете.
Телеметрия отключается одной командой:
npx claude-mem telemetry disable