← Cloudflare AI Gateway / ai-gateway / integrations / coding-agents
OpenAI Codex
OpenAI Codex ↗ представляет собой агента для написания кода, который запускается в терминале. Он поддерживает пользовательские провайдеры моделей ↗ определённый в config.toml. Эта конфигурация добавляет провайдера, который указывает на эндпойнт OpenAI, поэтому Codex отправляет свои запросы через AI Gateway. AI Gateway аутентифицирует провайдера модели за вас через Unified Billing, поэтому вы передаёте токен API Cloudflare вместо ключа API OpenAI. Если ваш шлюз защищён Cloudflare Access, см. Использование с Cloudflare Access.
Предварительные требования
Прежде чем начать, вам потребуется:
- Account ID вашего аккаунта Cloudflare. Чтобы найти его, см. Найдите свои account ID и zone ID.
- AI Gateway. Вы можете использовать учётные данные своего аккаунта
defaultшлюз или создать шлюз и используйте его slug. - A API-токен Cloudflare с
AI Gatewayразрешение. - Кредиты зачислены в вашем аккаунте для сторонних моделей.
- Codex ↗ установлен и обновлён до последней версии.
-
Создайте Codex профиль ↗ файл по адресу
~/.codex/cloudflare-aig.config.toml. Профиль определяет пользовательского провайдера модели, который указывает на эндпойнт OpenAI вашего шлюза и считывает токен API Cloudflare из переменной окружения.Замените
<ACCOUNT_ID>и<GATEWAY_ID>с вашими значениями. Вы можете использоватьdefaultчтобы направить шлюз через шлюз по умолчанию для вашего аккаунта, либо укажите другой slug шлюза.~/.codex/cloudflare-aig.config.tomlmodel_provider = "cloudflare-ai-gateway" model = "gpt-5.5" model_reasoning_effort = "medium" [model_providers.cloudflare-ai-gateway] name = "Cloudflare AI Gateway" # Run `wrangler whoami` to get your account ID, then replace <ACCOUNT_ID>. # Use `default` for <GATEWAY_ID> to route through your account's default gateway. base_url = "https://gateway.ai.cloudflare.com/v1/<ACCOUNT_ID>/<GATEWAY_ID>/openai" env_key = "CLOUDFLARE_API_KEY" wire_api = "responses" -
Задайте ваш API-токен Cloudflare в качестве
CLOUDFLARE_API_KEYпеременную окружения. Следующие команды задают ее для текущей сессии. Чтобы сохранить ее навсегда, добавьте эту переменную в профиль оболочки (например,~/.zshrcили~/.bashrc).Замените
<CLOUDFLARE_API_KEY>с вашим значением.# Run `wrangler auth token` to get an auth token. export CLOUDFLARE_API_KEY="<CLOUDFLARE_API_KEY>"# Run `wrangler auth token` to get an auth token. $env:CLOUDFLARE_API_KEY = "<CLOUDFLARE_API_KEY>" -
Запустите Codex с этим профилем и отправьте промпт. Теперь запросы проходят через AI Gateway.
cloudflare-aigимя профиля совпадает сcloudflare-aig.config.tomlфайл, который вы создали.codex --profile cloudflare-aig
Использование с Cloudflare Access
Если ваш шлюз защищён Cloudflare Access, Codex может аутентифицироваться с помощью краткоживущего токена Access вместо API-токена Cloudflare. Настройте поставщика на использование вашего пользовательский домен, и настройте у провайдера auth команду, чтобы получить токен с помощью cloudflared вместо передачи токена через переменную окружения.
Обновите тот же ~/.codex/cloudflare-aig.config.toml профиль из настройки Unified Billing, чтобы провайдер указывал на ваш пользовательский домен и использовал cloudflared для аутентификации. cloudflare-aig в codex --profile cloudflare-aig указывает на имя этого файла. Замените ai-gateway.example.com с вашим пользовательским доменом.
model_provider = "cloudflare-ai-gateway"
model = "gpt-5.5"
model_reasoning_effort = "medium"
[model_providers.cloudflare-ai-gateway]
name = "Cloudflare AI Gateway"
base_url = "https://ai-gateway.example.com/openai"
wire_api = "responses"
[model_providers.cloudflare-ai-gateway.auth]
command = "cloudflared"
args = ["access", "login", "--no-verbose", "https://ai-gateway.example.com"]
timeout_ms = 30000
refresh_interval_ms = 0По сравнению с настройкой Unified Billing из предыдущего раздела, пользовательский домен заменяет account ID и gateway ID в base_url, и auth блок заменяет env_key.
Запустите Codex с этим профилем:
codex --profile cloudflare-aigПервый запрос открывает процесс входа через вашего провайдера идентификации. После аутентификации запросы направляются через AI Gateway с идентификацией Access, прикреплённой в качестве cf.user_id.
Чтобы убедиться, что трафик доходит до AI Gateway, см. Проверьте, что всё работает.