Синхронизация памяти Claude Code через Git: решение проблемы двух рабочих мест

Habr AI · оригинал

Материал подготовлен автоматизированной редакционной системой. Факты можно сверить по указанному первоисточнику.

Автор описывает решение для синхронизации базы знаний ИИ-ассистента между двумя компьютерами без использования облачных сервисов. Система построена на приватном Git-репозитории и bash-скриптах, запускаемых хуками Claude Code.

Материал демонстрирует практический подход к управлению контекстом ИИ-агентов в условиях распределенной работы. Он показывает, как технические ограничения встроенных функций можно обойти с помощью стандартных инструментов разработки, обеспечивая непрерывность рабочего процесса.

Работа с ИИ-ассистентами, такими как Claude Code, часто сталкивается с проблемой разрыва контекста при смене устройства. Автор статьи столкнулся с ситуацией, когда база знаний агента, накопленная за два месяца (114 заметок и 367 связей), была привязана к одному компьютеру. Встроенная память Claude Code хранится в локальном профиле пользователя и не синхронизируется автоматически, что заставляет пользователя повторно объяснять ассистенту ранее обсужденные детали проекта. Попытки использовать облачные папки или платные сервисы синхронизации Obsidian Sync оказались неудачными из-за конфликтов файлов или зависимости от запускаемого редактора.

В качестве решения автор выбрал приватный Git-репозиторий на GitHub и скрипт синхронизации на bash. Логика работы проста: хранилище нужно только в моменты взаимодействия с агентом. Скрипт подключается через хуки Claude Code: при старте сессии он выполняет клонирование или обновление репозитория, а после каждого ответа — коммит и отправку изменений. Такой подход исключает необходимость держать фоновые процессы синхронизации в постоянно работающем состоянии.

Ключевым аспектом системы является не просто хранение данных, а их маршрутизация. Автор подчеркивает, что загрузка всего хранилища в контекст модели приводит к путанице фактов. Поэтому используется файл-роутер, который направляет агента к конкретным заметкам. Правила чтения и записи закреплены в глобальном конфиге: агент должен читать точечно, не спрашивать то, что уже записано, и обязательно фиксировать новые факты после завершения работы. Это предотвращает устаревание базы знаний.

В процессе настройки возникли технические нюансы. Например, использование абсолютных путей в заметках создавало проблемы при переносе на ноутбук с другой структурой дисков. Также автор столкнулся с конфликтами при одновременной работе плагина Obsidian Git и собственных хуков, что потребовало ручного разрешения слияний. Для избежания зависаний при отсутствии сети в скрипт добавлены таймауты и отключение интерактивных запросов логина.

Важным этапом стала проверка безопасности перед публикацией репозитория. Хотя ключей не было, в заметках содержались пути к файлам с токенами, что требовало осторожности. В .gitignore были исключены служебные файлы Obsidian, содержащие данные плагинов. Автор отмечает, что приватный репозиторий — это закрытая дверь, а не сейф, и личная информация должна храниться осознанно.

Результатом стала система, позволяющая работать с единым «мозгом» на разных устройствах. Побочным эффектом стало накопление структурированной базы фактов о профессиональной деятельности, что упростило процесс актуализации резюме. Однако автор предупреждает: качество ответов модели зависит от качества вводимых данных. Без регулярной проверки и правил маршрутизации база знаний быстро превратится в хаос противоречивой информации.