У Claude Code пять уровней памяти — я сделал UI, чтобы наконец увидеть, что там хранится
Я год работаю с Claude Code — и в какой-то момент он в новой сессии вспомнил детали, которые я точно не писал. Не «догадался», а сослался на разговор полугодовой давности. Стало интересно: где это лежит и что ещё он сохраняет между сессиями.
Зашёл в ~/.claude — и залип на несколько часов. Где-то было забавно, где-то немного тревожно. В итоге я собрал веб-интерфейс, который показывает всю эту память в понятном виде: считает токены, визуализирует зависимости файлов и даже стримит в реальном времени, что Claude делает прямо сейчас. Код открытый — ссылки в конце.
Что вообще значит «память» в Claude Code
Обычно кажется, что Claude Code — это просто чат. Но параллельно он ведёт пять уровней памяти прямо на вашем диске:
- CLAUDE.md Глобальный (~/.claude/CLAUDE.md) и проектный (<repo>/CLAUDE.md) контекст, который подмешивается в каждый запрос.
- Auto-memory ~/.claude/projects/<encoded-path>/memory/*.md Claude сам записывает туда ваши привычки, предпочтения и фидбек (user_*, feedback_*, project_*, reference_*).
- Settings и MCP ~/.claude/settings.json, .mcp.json — настройки и список доступных инструментов.
- JSONL-логи сессий Полный transcript: сообщения, ответы и все tool-вызовы (Read, Edit, Write, Bash и т.д.).
- File-history snapshots История всех файлов, которые редактировал Claude.
По сути, у вас локально хранится полноценный «дневник» взаимодействия с моделью — просто без интерфейса.
Что я там нашёл
В auto-memory за год накопилось довольно много:
- предпочтение коротких ответов без «воды»;
- раздражение от лишнего кода «на всякий случай»;
- привычка работать через Docker;
- список «не делать так», собранный из моих правок.
Это объясняет, почему со временем Claude начинает понимать с полуслова. Но сразу возникают вопросы:
- как это всё нормально просматривать?
- что устарело, а что актуально?
- сколько это весит в токенах?
- что именно Claude делал в последней сессии?
Решение: Claude Memory Manager
Я сделал веб-интерфейс (FastAPI + Alpine.js), который поднимается через Docker и открывается в браузере одной командой:
Что внутри
Memory Files
- список проектов и memory-файлов;
- режимы: Preview / Edit / RAW;
- поиск по всем файлам;
- автоматические .bak-бэкапы.
Global Config
Все глобальные файлы в одном месте:
- CLAUDE.md
- settings.json
- .mcp.json
Project Config
Доступ к конфигам прямо в реальных репозиториях.
Проблема: пути в ~/.claude/projects/ закодированы (все «нестандартные» символы → -). Решение: BFS-сканер, который находит реальный путь на хосте даже с кириллицей.
Token Counter
У каждого файла — оценка размера в токенах.
Это сразу подсвечивает «тяжёлые» memory-файлы, которые зря грузятся в каждый запрос.
Activity (самое интересное)
Sessions
- Token Burn — сколько токенов тратится (input/output/cache)
- File Graph — граф файлов, с которыми работал Claude
- Sequence — полный порядок действий
Фактически — полный audit-log сессии.
Live
Реальное время:
- видно, какие файлы Claude читает/меняет прямо сейчас;
- обновление каждые 1.5 секунды;
- несколько проектов одновременно.
Ощущение — как смотреть за работой модели «через стекло».
Запуск
Требуется только Docker:
Ссылки
Лицензия MIT — можно форкать и адаптировать под себя.