Я использую OpenAI Codex в двух режимах: за мощным ПК с двумя мониторами дома и на ноутбуке в поездках — на дачу, в командировки или в отпуск.
Вскоре столкнулся с неожиданной проблемой: сессии, контекст и история не синхронизируются между устройствами. OpenAI не предусмотрела такую возможность.
В чём проблема
При активной работе с Codex накапливаются:
- сессии (диалоги с агентом)
- промежуточные состояния
- контекст проекта
- заметки и саммари
И всё это:
- нельзя просто перенести на другое устройство
- нельзя удобно объединить
- нельзя корректно очистить (доступен только архив)
Начал задачу на ПК — продолжить на ноутбуке уже нельзя
Почему так устроено
Судя по наблюдениям, Codex хранит состояние локально:
- файлы сессий
- служебные данные
- возможно, использует SQLite
Это обеспечивает:
- высокую скорость
- приватность данных
Но ломает сценарии работы с несколькими устройствами.
Простая идея решения
Вместо борьбы с архитектурой Codex можно принять её и работать поверх.
Синхронизировать папку состояния Codex между устройствами
Что я сделал
Я создал небольшой CLI-инструмент — codexSync:
- находит папки с состоянием Codex
- синхронизирует их между устройствами
- работает через любую общую папку (облако, NAS)
- не вмешивается во внутреннюю работу Codex
Как это работает
Схема проста:
- Укажите, где находится папка .codex и куда её нужно синхронизировать.
- Перед началом работы — подтяните актуальное состояние.
- После завершения — отправьте изменения обратно.
Отредактируйте конфигурационный файл, задав пути к директории .codex и рабочей папке для утилиты. Другие параметры можно настроить или оставить по умолчанию.
Проверить корректность конфига можно командой validate.
Затем можно посмотреть план синхронизации, выполнить тестовый прогон без изменений и запустить синхронизацию.
Почему не просто облако
Можно предложить:
"Закинь папку в Dropbox — и всё заработает"
Но на практике возникают проблемы:
- риск конфликтов файлов
- отсутствие контроля над изменениями
- возможность повредить состояние
codexSync добавляет:
- предсказуемость
- режим dry-run (plan)
- контроль процесса
Ограничения
Важно понимать:
- это неофициальное решение
- нет синхронизации в реальном времени
- перед синхронизацией нужно закрыть Codex, включая фоновые процессы. Если процесс активен — утилита не начнёт синхронизацию и предложит завершить его.