Перейти к содержимому
OmniRoute source

OpenAI Codex — App-Server provider (`codex-app-server`) (Русский)

┌─ Приложение OmniRoute ──────────┐ ┌─ Сайдкар codex-app-server ──────────┐
│ CodexAppServerExecutor │ WS │ codex app-server │
│ ws://codex-app-server:1456 ─────┼───────▶│ --listen ws://0.0.0.0:1456 │
│ (+ токен возможностей) │ JSON │ --ws-auth capability-token │
│ │ RPC │ самостоятельно управляет OAuth │
└──────────────────────────────────┘ │ OpenAI (~/.codex/auth.json, │
│ общий доступ (тома compose) │ автоматическое обновление) │
▼ └─────────────────────────────────────┘
codex-appserver-token → токен возможностей WS (монтируется в оба контейнера)
codex-appserver-home → ~/.codex (auth.json записывается панелью управления
и читается codex app-server в сайдкаре)
  • Сайдкар прослушивает только внутреннюю сеть compose (ws://codex-app-server:1456) и защищён токеном возможностей. Он никогда не публикуется на хосте или в интернете.
  • Codex CLI встроен в omniroute:base, поэтому при запуске сайдкара устанавливать codex на хосте или компьютере пользователя не требуется.
Окно терминала
# Запустите стек С профилем сайдкара codex app-server:
docker compose --profile base --profile codex-app-server up -d
# (podman: podman compose --profile base --profile codex-app-server up -d)

При первом запуске сайдкар создаёт свой токен возможностей WS (в общем томе codex-appserver-token), а приложение считывает тот же токен через OMNIROUTE_CODEX_APPSERVER_WS_TOKEN_FILE. Настраивать токен вручную не требуется.

  1. В панели управления добавьте подключение OpenAI Codex (App-Server). Ключ API или токен не требуется (это провайдер без собственной аутентификации — аутентификацией управляет сайдкар).
  2. Если в Codex CLI сайдкара ещё не выполнен вход, проверка состояния подключения сообщает «запущен, но вход не выполнен» (а не показывает красную ошибку аутентификации). Используйте Войти через ChatGPT: это запустит стандартную OAuth-аутентификацию Codex на устройстве в вашем браузере, а затем запишет ~/.codex/auth.json в общий том через Применить данные аутентификации (одни и те же данные входа используются провайдерами codex и codex-app-server).
  3. После входа индикатор проверки состояния становится зелёным (проверяются и /readyz, и account/read — то есть сервер должен быть одновременно запущен и аутентифицирован), после чего обработка запросов начинает работать.

Панель управления никогда не перезаписывает исправный существующий файл ~/.codex/auth.json — запись выполняется только при отсутствии файла или устаревшем токене (при этом всегда создаётся резервная копия).

  • Оператор с уже аутентифицированным Codex CLI — смонтируйте каталог ~/.codex хоста в сайдкар (codex-appserver-home) и пропустите этап входа.
  • Публичный пользователь без локально установленного codex — это не имеет значения: CLI уже присутствует в сайдкаре. Пользователь проходит аутентификацию только через панель управления.
  • OmniRoute на физическом сервере (без сайдкара, с codex на хосте) — задайте в OMNIROUTE_CODEX_APPSERVER_WS адрес собственного codex app-server и убедитесь, что в codex на хосте выполнен вход; если исполняемый файл отсутствует, появится подсказка «codex не установлен».

5. Резидентский / UDP-исходящий трафик (дополнение оператора, не входит в поставку)

Заголовок раздела «5. Резидентский / UDP-исходящий трафик (дополнение оператора, не входит в поставку)»

Описанный выше универсальный сайдкар направляет исходящий трафик через обычную сеть контейнера. Оператор, которому необходимо направлять трафик Codex через резидентский выходной узел (например, TUN-сайдкар tailscale, передающий TCP + UDP/QUIC), запускает его с помощью отдельного переопределения compose; оно намеренно не входит в поставляемый профиль codex-app-server. Инструкции по такой настройке см. во внутреннем эксплуатационном руководстве.


Исходный код OmniRoute (a58000c7685f)

HagiCode

HagiCode — агентная среда разработки со структурированными процессами, параллельным выполнением несколькими агентами и интерфейсами Hero Dungeon.

Превращайте идеи в полезное ПО с более умным, быстрым и увлекательным агентным рабочим процессом.

Главный экран HagiCode в светлой теме
  • SmartСтруктурированные процессы превращают намерение в исполнимый путь от идеи до готового изменения.
  • EfficientМультиагентные процессы параллельно продвигают исследование, реализацию и проверку.
  • FunHero Dungeon делает длительную совместную разработку наглядной и увлекательной.
Перейти на HagiCode