Перейти к содержанию

Codex постоянно переподключается: сохраните задачу и найдите причину

Счётчик Reconnecting 1/5–5/5 не называет причину. Сначала сохраните последнюю инструкцию и состояние файлов, затем проверьте новый чат, базовую команду и только одно сетевое условие.

•••5 мин чтения•OpenAI Codex
Схема безопасной диагностики Codex Reconnecting: сохранить контекст, провести четыре минимальных наблюдения, определить область сбоя и выбрать обратимое действие

Надпись Reconnecting означает, что Codex пытается восстановить прерванное соединение. Она не доказывает, что виноваты прокси, VPN, учётная запись или сама модель. Один и тот же видимый цикл может возникнуть у отдельной сохранённой задачи, конкретного клиента, при проблеме аутентификации, на сетевом маршруте или во время временного сбоя сервиса.

Поэтому не начинайте с удаления ~/.codex, всех файлов сеансов и учётных данных. Изменения проекта обычно уже находятся на диске, но незавершённый чат хранит полезный контекст: последнюю инструкцию, выданные разрешения, вывод инструментов и точку, до которой работа точно дошла.

Если после Reconnecting 1/5 … 5/5 появляется:

text
stream disconnected before completion

скопируйте последнюю инструкцию, запишите затронутые файлы и последнее подтверждённое действие. Не повторяйте сразу команду, которая отправляет сообщение, публикует данные или выполняет другой необратимый шаг: запрос мог завершиться, а финальное событие не дошло до интерфейса.

Четыре наблюдения вместо десяти случайных исправлений

Оставьте проблемный чат как есть и проверьте:

  1. Работает ли новая короткая задача только на чтение в том же проекте.
  2. Выполняется ли в интегрированном терминале pwd или git status.
  3. Работает ли такой же маленький запрос через другой клиент Codex — CLI, приложение или расширение IDE.
  4. Повторяется ли ошибка после полного перезапуска только этого клиента.

Сопоставьте результаты, чтобы определить область сбоя:

НаблюдениеЧто уже удалось отделитьСледующее безопасное действие
Новый чат работает, старый продолжает переподключатьсяПроблема, вероятно, связана с одной сохранённой задачейПродолжить в новом чате по краткому описанию выполненной работы; старый не удалять
CLI работает, Desktop нетУчётная запись и проект не полностью недоступныСравнить версии и полностью перезапустить Desktop
Все клиенты Codex не отвечают, но команды терминала работаютЛокальная команда не является главным блокеромПроверить авторизацию, версии, статус сервиса и одну сетевую переменную
git status также виситЕсть отдельная локальная проблема репозитория, файловой системы или процессаСначала восстановить базовую команду
Несколько клиентов не работают в двух разрешённых сетяхВероятность широкого сбоя клиента, аккаунта или сервиса вышеПрекратить очистку данных и собрать диагностику
Безопасная карта Codex Reconnecting: сохранение контекста, четыре наблюдения, определение области сбоя, обратимые действия, проверка версий, логи, сессии и различие сети команд и потока ответов

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

Версия важна только вместе с названием клиента

Для CLI сохраните вывод:

bash
codex --version
codex --help

У Desktop версия находится в окне About, у расширения IDE — на странице расширения. Фраза «у меня последняя версия» недостаточна: OpenAI отдельно предупреждает, что Desktop и CLI могут содержать разные версии Codex.

Проверить обновление стоит до редактирования конфигурации. В официальном журнале изменений ChatGPT и Codex для CLI 0.148.0 указано восстановление выполнения задачи при временных сбоях поставщика модели. В обновлении клиента того же дня исправлялись задачи, которые оставались недоступными после простоя или переподключения. Это подтверждает, что часть таких симптомов исправляется на уровне клиента.

Но примечание к выпуску не означает, что любое переподключение вызвано старой сборкой. После обновления повторите тот же минимальный запрос. Если изменилось сразу несколько условий, результат нельзя связать с одной причиной.

Не смешивайте переподключение с точной ошибкой

Полный текст может направить в более узкую инструкцию:

Не выходите из аккаунта только из-за обрыва потока ответа. Выход меняет состояние аутентификации и мешает сравнению. Перелогин нужен, когда ошибка прямо указывает на токен, учётную запись или рабочее пространство, либо когда этот вариант уже отделён от сети и версии.

Проверяйте сеть там, где действительно работает Codex

Если ChatGPT открывается в браузере, это доказывает маршрут браузера. Приложение, терминал, процесс расширения VS Code, WSL, контейнер и Remote SSH могут использовать другие DNS, сертификаты, прокси и правила межсетевого экрана.

Сначала определите, на какой машине работает процесс. Оставьте неизменными аккаунт, проект, версию клиента и размер запроса, затем измените одно сетевое условие:

  • сравните корпоративную сеть с разрешённой обычной сетью;
  • временно сравните работу с VPN и без него, если это допускает политика;
  • убедитесь, что обязательный локальный прокси слушает ожидаемый порт;
  • для WSL, контейнера или Remote SSH делайте проверку из этой среды, а не с ноутбука.

Запишите время, последний статус и полный текст ошибки до и после. Если другая сеть помогает, исходный маршрут действительно участвует в проблеме. Одной удачи всё равно мало, чтобы назвать точную причину: DNS, проверка TLS-трафика, WebSocket, правило прокси или промежуточное устройство.

Прокси для команд не управляет всеми соединениями клиента

В интернете часто советуют одновременно создать .env, задать HTTP_PROXY и «выключить WebSocket». Но следует различать:

  • соединение клиента Codex, по которому приходит ответ модели;
  • сетевой доступ команд, выполняемых Codex в изолированной среде.

В официальной документации разрешений прокси профиля ограничивает трафик локальных команд в изолированной среде. Он может повлиять на curl или менеджер пакетов. Соединения с моделью и службой авторизации используют отдельные настройки клиента; изменение прокси команд не подтверждает изменение этих соединений.

Не добавляйте недокументированный ключ в config.toml как постоянное «исправление». Если тест необходим, сохраните исходное значение, измените одну строку и подготовьте откат. Для собственного поставщика модели используйте документацию этого поставщика и текущей версии Codex.

Матрица масштаба Codex Reconnecting от четырёх наблюдений к одному старому чату, клиенту, нескольким клиентам, локальным командам или двум сетям, с обратимым действием и отдельными маршрутами точных ошибок

Когда перезапускать, а когда продолжать в новом чате

Если неисправна одна задача, создайте новый чат и передайте только цель, выполненные шаги, список файлов и оставшуюся неопределённость. Попросите сначала проверить git status, а не повторять все действия. Старый чат сохраните для идентификатора сеанса и журналов.

Если неисправен один клиент, дождитесь завершения остальных активных задач и полностью завершите приложение или процесс расширения IDE. Закрытое окно не всегда означает остановленный фоновый процесс. Официальная инструкция OpenAI рекомендует перезапуск только после завершения активных чатов.

Если одновременно не работают несколько клиентов, проверьте OpenAI Status, запишите локальное время и выполните одну сетевую проверку. Не переустанавливайте клиент несколько раз: это создаёт новую переменную, но не добавляет доказательств.

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

Сессии и логи: сохранять, а не стирать

OpenAI указывает следующие расположения:

  • журналы приложения на macOS: ~/Library/Logs/com.openai.codex/YYYY/MM/DD;
  • записи активных сеансов: $CODEX_HOME/sessions, обычно ~/.codex/sessions;
  • записи архивных сеансов: $CODEX_HOME/archived_sessions.

В них могут быть запросы, пути, имена репозиториев и результаты работы инструментов. Перед передачей проверьте данные и удалите секреты. Не загружайте весь каталог Codex.

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

Для обращения через /feedback подготовьте клиент и версию Codex, ОС и машину, на которой работает процесс, время с часовым поясом, последовательность Reconnecting, результат нового чата, другого клиента, базовой команды и одной сетевой проверки, а также минимальный редактированный фрагмент лога. Не включайте токены, cookie, адрес электронной почты, внутреннее имя рабочего пространства или приватный код.

После изменения повторите небольшой запрос в той среде, где возникал сбой, и проверьте, что ответ завершился. Запишите, помогло ли действие одной задаче, одному клиенту или соединению в определённой сети. Это позволяет продолжить работу и воспроизвести проверку при повторном сбое.

Нашли ошибку или столкнулись с проблемой, которой нет в статье? Отправьте адрес статьи и описание на hi@laozhang.ai. Мы проверим и обновим текст.