Skip to content
Neuronavt
Go back

Синхронизация памяти Claude Code через Git

Кейс8/10

Коротко

Автор связал файловую память Claude Code между двумя компьютерами с помощью приватного GitHub-репозитория и хуков Bash. Помимо синхронизации, статья объясняет, как организовать заметки так, чтобы агент читал только нужные сведения, и какие ошибки учесть при настройке.

Контекст

Автор работает с Claude Code и около двух месяцев ведёт отдельное хранилище личных и проектных заметок в Markdown, используя Obsidian только как средство просмотра. К моменту описания в нём было 114 заметок и 367 связей. Встроенная память Claude Code не решала задачу целиком: она привязана к машине и проекту, а её индекс загружается в каждую сессию и рассчитан на краткие указатели, а не на большую базу.

Главное

Как сделано

Автор оставил встроенную память Claude Code для коротких ссылок на внешнее хранилище, а само хранилище разместил в приватном репозитории GitHub. Главный файл служит таблицей маршрутизации: по типу запроса агент выбирает одну или две заметки, а не загружает весь архив. Глобальный ~/.claude/CLAUDE.md задаёт правила чтения и записи: обращаться к заметкам точечно, использовать уже записанные факты и обновлять подходящую заметку после работы с абсолютными датами.

Синхронизацию выполняет Bash-скрипт, подключённый в ~/.claude/settings.json к хукам SessionStart и Stop. При старте он клонирует репозиторий или выполняет git pull --rebase --autostash; после ответа агента коммитит изменения с именем компьютера и временем, затем подтягивает удалённые изменения и отправляет свои. Скрипт отключает интерактивные запросы Git (GIT_TERMINAL_PROMPT=0, GCM_INTERACTIVE=never), ограничивает время Git-команд через timeout, вычитывает входной JSON из stdin и сообщает о состоянии синхронизации. В .gitignore исключены, среди прочего, файлы данных плагинов Obsidian, где могут храниться API-ключи.

Результаты

Схема автоматически синхронизировала заметки между настольным ПК и ноутбуком: на новом компьютере хранилище скачивалось при первой сессии. Первый коммит включал 105 файлов размером 0,86 МБ. Автор сообщает, что агент перестал повторно спрашивать о его рабочем стеке и мог использовать историю проектов; накопленные факты также помогли собирать и обновлять резюме. За длинный вечер может появляться около десяти автоматических коммитов.

Ограничения

Это личный опыт одного пользователя, без сравнительных измерений качества ответов, надёжности или экономии времени. Синхронизация зависит от сети и GitHub; при конфликте или отсутствии сети агент может работать с локальной копией, а разбор некоторых конфликтов требует ручного вмешательства. Одновременное использование двух механизмов синхронизации — Obsidian Git и хуков — привело к конфликту, поэтому автор рекомендует оставить один канал. Пути к дискам могут различаться между компьютерами, а сами заметки требуют контроля актуальности и противоречий. Приватный репозиторий не является защищённым хранилищем секретов: даже указания на расположение токенов могут быть чувствительными.

Что взять себе

Читать оригинал, если…

Откройте оригинал, если хотите скопировать Bash-скрипт и точную конфигурацию хуков Claude Code или изучить таблицу маршрутизации и детали устранения конфликтов.