Recall: локальная память для Claude Code

Recall решает проблему холодного старта в Claude Code, сохраняя каждую сессию локально и кратко суммируя её с помощью алгоритма TF-IDF + TextRank. Расширение не использует никаких внешних моделей и не отправляет данные куда-либо: весь процесс работает на вашей машине через стандартную библиотеку Python, с опциональным ускорением через NumPy.
Когда вы начинаете новую сессию, Recall показывает компактное резюме того, что произошло раньше (цель, затронутые файлы, выполненные команды). Это позволяет избежать повторного объяснения проекта и сэкономить токены, версия с компактным контекстом (1-2 тыс. токенов) вместо полной истории диалога.
Ключевые факты
- Сессия сохраняется в .recall/history.md как лог, а резюме пишется в .recall/context.md через локальный алгоритм TF-IDF + TextRank.
- Нет сетевых запросов, API-ключей или отправки данных; всё работает локально и включает базовую санитизацию секретов перед сохранением.
- Экономит токены двумя способами: суммаризация не требует вызовов модели, и новая сессия начинается с компактного резюме вместо полной истории.
- Команды /recall:save создаёт резюме, /recall:show показывает текущее, /recall:log выводит конец лога.
- Работает офлайн и ничего не требует за пределами стандартной библиотеки Python; NumPy опционален для ускорения.
Ред. Инструмент памяти, который сам ничего не запоминает в облаке: вся хитрость в том, что TF-IDF из стандартной библиотеки Python оказался достаточным там, где остальные продают вызовы модели.
Почему это важно
Claude Code начинает каждую сессию без контекста предыдущей работы. Разработчики вынуждены заново объяснять проект, что тратит токены и замедляет работу. Recall закрывает этот пробел, создавая портативное резюме, которое загружается в следующую сессию. Это особенно полезно для долгих проектов, где контекст накапливается через много шагов.
Ред. Забавно, что лекарство от амнезии Claude Code написано на технологии 1970-х, а не на LLM. Экономия токенов через отказ от модели ради суммаризации это редкий случай, когда меньше ИИ значит больше пользы.
Кому это важно
Разработчикам, использующим Claude Code локально на подписке (не API), которые работают над сложными многоэтапными проектами и хотят избежать повторного введения контекста. Также полезно для тех, кто беспокоится о конфиденциальности кода и путей в проекте.
Ред. Адресат честно очерчен: те, кто на подписке, а не на API. То есть инструмент экономии токенов нужен ровно тем, у кого токены и так не тарифицируются поштучно, ценят тут скорее не платить контекстом, а не деньгами.
Как это применить
Установите расширение через Marketplace (раздел расширений в Claude Code) или развёртывайте локально с --plugin-dir. Расширение автоматически создаёт папку .recall/ в корне проекта и начинает сохранять сессии. Когда вы вернётесь к проекту позже, запустите /recall:show, чтобы загрузить резюме, или начните новую сессию, и Recall предложит возобновить работу. .recall/ по умолчанию добавлен в .gitignore, но вы можете закоммитить его как команду памяти для команды.
Ред. .recall/ по умолчанию в .gitignore, но предлагается закоммитить его как командную память. Ровно тот файл, который инструмент прячет от греха, советуют положить в репозиторий, где его прочитает кто угодно.
Можно ли доверять
Recall, полностью локальный инструмент с открытым исходным кодом. Нет внешних сервисов, нет отправки данных. Базовая санитизация (удаление видимых API-ключей.env-строк, PEM-ключей) включена, но это не гарантия. Авторы рекомендуют проверить .recall/context.md перед коммитом. Git конфиг затвердён (отключены pager, hooks, fsmonitor), чтобы untrusted repo не смог выполнить код при чтении git diff.
Ред. Локальность проверяема, а вот санитизация секретов держится на честном слове и регулярках. Отдельно показательно, что авторам пришлось затвердить git-конфиг: читать diff из чужого репозитория, оказывается, тоже способ дать ему выполнить код.
Риски и подводные камни
Санитизация секретов работает на основе паттернов и может пропустить нестандартный формат. Если .recall/ закоммичена как командная память, любой с доступом к репо может отредактировать context.md и попытаться injection-атаку, Claude запросит подтверждение перед использованием, но это требует внимательности. На очень больших сессиях алгоритм TF-IDF может быть медленным без NumPy, хотя чистая Python версия гарантирует тот же результат.
Ред. Паттерн-санитизация ловит видимые ключи и пропускает нестандартные, то есть именно те, о которых стоило бы беспокоиться. А командный context.md превращается в вектор инъекции: подтверждение Claude спросит, но рассчитывать на то, что усталый разработчик вчитается, смело.
«Recall makes a privacy guarantee they can't. Most 'memory' tools pipe your context to a model endpoint; Recall makes a privacy guarantee they can't.»
— GitHub README, Recall