Использование API-посредника в Codex
Как настроить своего провайдера моделей через ~/.codex/config.toml.
2 мин чтения
Codex CLI при запуске читает ~/.codex/config.toml. Настроив своего «провайдера моделей (model provider)», можно подключить Codex к API-посреднику, совместимому с интерфейсом OpenAI.
Что нужно подготовить
Получите у платформы API, которой вы пользуетесь, следующие данные:
- Адрес API (Base URL): корневой адрес интерфейса, который предоставляет платформа, обычно заканчивается на
/v1 - Ключ API (Key): токен для аутентификации
- Название модели: идентификатор модели, которую платформа поддерживает и которую вы собираетесь использовать
Настройка config.toml
Отредактируйте ~/.codex/config.toml, добавьте своего провайдера и сделайте его провайдером по умолчанию:
model = "your-model-name" # замените на название модели, которую поддерживает платформа
model_provider = "thirdparty" # свой идентификатор провайдера, любой на ваш выбор (не используйте openai/ollama/lmstudio)
[model_providers.thirdparty]
name = "Third-party API"
base_url = "https://example.com/v1" # замените на адрес API, который предоставляет платформа
env_key = "THIRDPARTY_API_KEY" # название переменной окружения, из которой читается ключ
wire_api = "chat" # сторонние совместимые эндпоинты обычно используют chat
В env_key указывается «название переменной окружения, в которой хранится ключ», а не сам ключ. Экспортируйте эту переменную в терминале:
export THIRDPARTY_API_KEY="your-key"
Частые вопросы
- Ключ не проходит проверку: если префикс ключа платформы отличается от принятого у OpenAI и из-за этого ключ отклоняется, добавьте в настройки этого провайдера
requires_openai_auth = false. - Выбор протокола: сторонние совместимые эндпоинты обычно используют
wire_api = "chat"(соответствует/chat/completions). - Не записывайте ключ в config.toml: указывайте через
env_keyпеременную окружения, чтобы ключ не утек вместе с файлом конфигурации. - Только временная замена: если адрес нужно изменить лишь на время, задайте переменную окружения
OPENAI_BASE_URL— она переопределит его для текущей сессии.