У Claude Code пять уровней памяти — я сделал UI, чтобы наконец увидеть, что там хранится

Я год работаю с Claude Code — и в какой-то момент он в новой сессии вспомнил детали, которые я точно не писал. Не «догадался», а сослался на разговор полугодовой давности. Стало интересно: где это лежит и что ещё он сохраняет между сессиями.

Зашёл в ~/.claude — и залип на несколько часов. Где-то было забавно, где-то немного тревожно. В итоге я собрал веб-интерфейс, который показывает всю эту память в понятном виде: считает токены, визуализирует зависимости файлов и даже стримит в реальном времени, что Claude делает прямо сейчас. Код открытый — ссылки в конце.

Что вообще значит «память» в Claude Code

Обычно кажется, что Claude Code — это просто чат. Но параллельно он ведёт пять уровней памяти прямо на вашем диске:

  1. CLAUDE.md Глобальный (~/.claude/CLAUDE.md) и проектный (<repo>/CLAUDE.md) контекст, который подмешивается в каждый запрос.
  2. Auto-memory ~/.claude/projects/<encoded-path>/memory/*.md Claude сам записывает туда ваши привычки, предпочтения и фидбек (user_*, feedback_*, project_*, reference_*).
  3. Settings и MCP ~/.claude/settings.json, .mcp.json — настройки и список доступных инструментов.
  4. JSONL-логи сессий Полный transcript: сообщения, ответы и все tool-вызовы (Read, Edit, Write, Bash и т.д.).
  5. File-history snapshots История всех файлов, которые редактировал Claude.

По сути, у вас локально хранится полноценный «дневник» взаимодействия с моделью — просто без интерфейса.

Что я там нашёл

В auto-memory за год накопилось довольно много:

  • предпочтение коротких ответов без «воды»;
  • раздражение от лишнего кода «на всякий случай»;
  • привычка работать через Docker;
  • список «не делать так», собранный из моих правок.

Это объясняет, почему со временем Claude начинает понимать с полуслова. Но сразу возникают вопросы:

  • как это всё нормально просматривать?
  • что устарело, а что актуально?
  • сколько это весит в токенах?
  • что именно Claude делал в последней сессии?

Решение: Claude Memory Manager

Я сделал веб-интерфейс (FastAPI + Alpine.js), который поднимается через Docker и открывается в браузере одной командой:

git clone git@github.com:warenikov/claude_memory_manager.git cd claude_memory_manager ./run.sh

Что внутри

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:

./run.sh

Ссылки

Лицензия MIT — можно форкать и адаптировать под себя.

1 комментарий