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

Провайдеры

Провайдер — это одна вышестоящая конечная точка LLM плюс способ подключения к ней: адаптер, базовый URL, режим аутентификации и необязательный список моделей. Провайдеры находятся в ~/.opencodex/config.json в секции providers.

Id провайдераНазначениеПравило учётных данных/аккаунтов
openaiВход CodexPool (по умолчанию) выбирает основной и добавленные аккаунты; Direct использует только текущий вход вызывающей стороны/основной вход.
openai-apikeyOpenAI APIТолько настроенный API-ключ/пул ключей; аккаунты Codex никогда не читаются.

Используйте «голый» gpt-5.6-sol с опцией Pool/Direct на странице Providers или openai-apikey/gpt-5.6-sol для API. Между маршрутами учётных данных нет сквозного фолбэка. Маршрут API публикует метаданные: контекст 1,050,000 / максимум входных токенов 922,000. Его виртуальные id sol-pro, terra-pro и luna-pro сохраняют выбранную публичную идентичность, тогда как в фактическом запросе используется базовая модель плюс reasoning.mode: "pro".

Если встроенный провайдер openai отсутствует или отключён, его можно восстановить из выбора Accounts на панели и со страницы Codex Auth: отсутствующие записи создаются из канонического пресета, отключённые канонические записи включаются без замены сохранённого режима и настроек моделей, а неканонические записи openai этот путь восстановления не получают.

Поставляемые v1-конфигурации автоматически мигрируют на маркер 2 и одну строку с поддержкой опций. Исходная конфигурация один раз сохраняется в ~/.opencodex/config.json.pre-openai-tiers-v2.bak; восстановить её можно командой cp ~/.opencodex/config.json.pre-openai-tiers-v2.bak ~/.opencodex/config.json.

Конфигурация провайдера принимает три значения authMode (по умолчанию — key). Встроенный реестр также отдельно помечает локальные пресеты; в них обычно нет ни authMode, ни apiKey.

authModeКак выполняется аутентификацияКем используется
keyОтправляет ваш API-ключ (Authorization: Bearer … либо x-api-key / api-key в зависимости от адаптера). Ключ может быть литералом или ссылкой вида ${ENV_VAR}.Большинство провайдеров.
forwardПередаёт провайдеру входящие заголовки аутентификации Codex без изменений — ключ не хранится. Это сквозной режим (passthrough) входа через ChatGPT.OpenAI (адаптер openai-responses).
oauthБерёт сохранённый OAuth-токен доступа (автоматически обновляется до истечения срока) и использует его как bearer-ключ.xAI, Anthropic, Kimi, Kiro, Google Antigravity, Cursor, GitHub Copilot.

Провайдеру openai не нужен API-ключ. Direct пересылает учётные данные вашего существующего codex login; Pool сначала выбирает основной или добавленный аккаунт Codex, а затем использует тот же бэкенд:

{
"openai": {
"adapter": "openai-responses",
"baseUrl": "https://chatgpt.com/backend-api/codex",
"authMode": "forward"
}
}

Пересылается только ограниченный набор заголовков (FORWARD_HEADERS: authorization, ChatGPT account id, OpenAI beta/originator/session — см. Адаптеры). Этот же путь обеспечивает работу сайдкаров веб-поиска и vision.

Каталог сквозного режима ChatGPT дополнительно включает «голые» слаги GPT-5.6 Sol/Terra/Luna (gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna) для аккаунтов, которым они доступны.

Шесть пресетов провайдеров используют вход через OAuth — плюс GitHub Copilot через экспериментальный неофициальный мост device flow. opencodex хранит их учётные данные в ~/.opencodex/auth.json и обновляет их автоматически. CLI входа также принимает chatgpt: эта команда получает учётные данные ChatGPT и одновременно создаёт запись провайдера в режиме forward.

Окно терминала
ocx login xai # xAI Grok
ocx login anthropic # Anthropic Claude (Pro/Max)
ocx login kimi # Moonshot Kimi
ocx login kiro # импорт учётных данных kiro-cli (с фолбэком на токен)
ocx login google-antigravity
ocx login cursor # отдельный PKCE-вход Cursor
ocx login github-copilot # device flow GitHub → токен Copilot (Copilot Pro/Business)
ocx login chatgpt # отдельный OAuth-вход ChatGPT
ocx logout <provider>
ПровайдерАдаптерБазовый URLПримечания
xaiopenai-chathttps://api.x.ai/v1Каталог Grok загружается в реальном времени; фолбэк по умолчанию — grok-4.5.
anthropicanthropichttps://api.anthropic.comМодели Claude; актуальный список моделей загружается из /v1/models.
kimiopenai-chathttps://api.kimi.com/coding/v1Модели Kimi K2.7/K2.6/K2.5 для кодинга.
kirokirohttps://runtime.us-east-1.kiro.devПервый вход импортирует существующую сессию после установки Kiro CLI (`curl -fsSL https://cli.kiro.dev/install
google-antigravitygooglehttps://daily-cloudcode-pa.googleapis.comGoogle OAuth поверх протокола Cloud Code Assist.
cursorcursorhttps://api2.cursor.shЭкспериментальный PKCE-вход, живой транспорт HTTP/2 и обнаружение моделей с фильтрацией по аккаунту.
github-copilotopenai-chathttps://api.githubcopilot.comЭкспериментально. Device flow GitHub + обмен copilot_internal (OAuth-клиент VS Code). Требуется активная подписка Copilot; это не официальный сторонний API.

Для канонических пресетов Kimi Coding Plan (вход через аккаунт kimi и API-ключ kimi-code) opencodex передаёт в запрос Chat Completions только стабильный prompt_cache_key, предоставленный вызывающей стороной, и никогда не создаёт его сам. Документация Kimi требует стабильный ключ сессии/задачи для повышения доли попаданий в кэш Code Plan; запрос без ключа остаётся без ключа. Если включённый провайдер отклоняет поле, opencodex не удаляет его для повторной попытки и не изменяет сохранённую конфигурацию. Для остальных провайдеров действует deny-by-default.

OAuth можно запустить и из веб-дашборда.

OAuth-провайдеры, чьи учётные данные содержат стабильный id аккаунта или email, могут хранить несколько входов. Страница Providers показывает эти аккаунты в выпадающем списке, позволяет добавить ещё один и переключает активный аккаунт, не выполняя выход из остальных. Учётные данные Только учётные данные Kimi без идентификатора заменяют активный слот; аккаунты Kiro сохраняются по ARN профиля. chatgpt всегда занимает один слот, поскольку у пула аккаунтов Codex отдельный реестр. Токены остаются в ~/.opencodex/auth.json; /api/oauth/accounts возвращает только маскированные метаданные.

Для входа Kiro требуется Kiro CLI: установите его командой curl -fsSL https://cli.kiro.dev/install | bash и сначала выполните kiro-cli login. Если сессии kiro-cli нет, ocx login kiro использует вставленный токен доступа или переменную окружения KIRO_ACCESS_TOKEN.

Обычный импорт ocx login kiro открывает базу SQLite CLI только для чтения и не изменяет базу, WAL или SHM.

  • KIROCLI_DB_PATH выбирает нестандартную базу SQLite Kiro CLI; указанная база должна уже существовать.
  • KIROCLI_TOKEN_KEY выбирает точный ключ строки auth_kv, если найдено несколько неоднозначных строк с токенами. Без выбора вход завершается ошибкой, а не пытается угадать строку.

Импортированные учётные данные сохраняются в ~/.opencodex/auth.json. Откат Добавить аккаунт — отдельная операция: при восстановлении предыдущего снимка она заменяет базу и удаляет текущие sidecar-файлы WAL, SHM и journal.

Поскольку откат возможен только при наличии снимка, Добавить аккаунт откажется выходить из kiro-cli, если хранилище сессии существует, но его нельзя захватить (файл не читается, несовпадение схемы, неоднозначный выбор токена), если KIROCLI_DB_PATH / KIRO_CLI_DB_FILE направляют импорт не на активное хранилище CLI, или если в основной базе CLI нет распознаваемой строки токена. Исправьте или удалите повреждённую базу по обычному пути данных kiro-cli, снимите селекторы только для импорта и повторите попытку. На машины без существующей сессии kiro-cli это не влияет.

opencodex поставляется с 53 встроенными пресетами: 42 на основе ключей, семь OAuth, три локальных и пресет ChatGPT-форварда по умолчанию. Селектор Add provider в дашборде открывает страницу выдачи ключей провайдера, проверяет ключ и сохраняет его. Наиболее заметные записи:

ПровайдерБазовый URL
OpenAI (API key)https://api.openai.com/v1
Anthropic (API key)https://api.anthropic.com
OpenRouterhttps://openrouter.ai/api/v1
Ollama Cloudhttps://ollama.com/v1
Google Gemini · Google Vertex AIhttps://generativelanguage.googleapis.com · https://aiplatform.googleapis.com
Azure OpenAIhttps://{resource}.openai.azure.com/openai
Umans AI · Neuralwatthttps://api.code.umans.ai · https://api.neuralwatt.com/v1
Mistralhttps://api.mistral.ai/v1
MiniMax · MiniMax (CN)https://api.minimax.io/v1 · https://api.minimaxi.com/v1
DeepSeekhttps://api.deepseek.com
Cerebrashttps://api.cerebras.ai/v1
Togetherhttps://api.together.xyz/v1
Fireworkshttps://api.fireworks.ai/inference/v1
Moonshot (Kimi API) · Kimi (coding)https://api.moonshot.ai/v1 · https://api.kimi.com/coding/v1
Hugging Facehttps://router.huggingface.co/v1
NVIDIA NIMhttps://integrate.api.nvidia.com/v1
Z.AI (GLM Coding)https://api.z.ai/api/coding/paas/v4
Zhipu AI (BigModel)https://open.bigmodel.cn/api/paas/v4
Qwen CloudToken plan (по умолчанию): https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1 · Pay as you go: https://dashscope.aliyuncs.com/compatible-mode/v1 · или Custom
Tencent Cloud Coding Planhttps://api.lkeap.cloud.tencent.com/coding/v3
SiliconFlowhttps://api.siliconflow.cn/v1
Xiaomi MiMohttps://api.xiaomimimo.com/anthropic
Kilohttps://api.kilo.ai/api/gateway
GitLab Duohttps://cloud.gitlab.com/ai/v1/proxy/openai/v1
Cloudflare AI Gatewayhttps://gateway.ai.cloudflare.com/v1/{account-id}/{gateway}/anthropic
…и другиеopencode zen, Vercel AI Gateway, Venice, NanoGPT, Synthetic, Qianfan, Alibaba, Parallel, ZenMux, LiteLLM

Большинство использует адаптер openai-chat с bearer-ключом; немногие провайдеры, предоставляющие только Anthropic-совместимую конечную точку (например, Xiaomi MiMo), используют адаптер anthropic (x-api-key).

Ограничение Tencent Cloud Coding Plan: Tencent разрешает использовать эту подписку только в интерактивных инструментах программирования. Автоматизация общего API, серверы пользовательских приложений и неинтерактивные пакетные вызовы запрещены и могут привести к блокировке ключа плана.

Два маршрута GLM: zai — это международная подписка Z.AI на coding-план, а zhipu-bigmodel — внутренняя китайская конечная точка BigModel с оплатой по факту использования. Разные хосты, разные ключи, разная тарификация: ключ от одного сервиса не подойдёт к другому.

Провайдеры на основе ключей тоже могут хранить несколько ключей. Ключ, добавленный через страницу Providers, сохраняется в provider.apiKeyPool, становится активным и дублируется в provider.apiKey, чтобы маршрутизация и адаптеры по-прежнему читали то же поле, что и раньше. В том же выпадающем списке можно переключать и удалять ключи; API управления — /api/providers/keys, он возвращает только маскированные ключи.

Используйте ocx account list, ocx account current и ocx account use, чтобы просматривать и переключать те же пулы Codex, OAuth и API-ключей, не открывая дашборд. Команды, JSON-вывод и поведение в новых сессиях описаны в разделе Справочник CLI.

GPT-5.6 Sol/Terra/Luna заранее внесены в резервные списки провайдеров, чтобы ocx sync сохранял модели видимыми, даже когда живые каталоги отстают:

Маршрут CodexПредзаданные id моделейКонтекст, видимый Codex
Вход Codex (Pool или Direct)gpt-5.6-*372,000
OpenAI (API key)openai-apikey/gpt-5.6-* плюс *-pro1,050,000 (макс. вход 922,000)
OpenRouteropenrouter/openai/gpt-5.6-sol, openrouter/openai/gpt-5.6-terra, openrouter/openai/gpt-5.6-luna1,050,000
Cursorcursor/gpt-5.6-sol, cursor/gpt-5.6-terra, cursor/gpt-5.6-luna1,000,000

Нативные записи GPT-5.6 сохраняют закреплённые вышестоящие шкалы уровней рассуждений (например, у Luna есть max, но нет ultra). Маршрутизируемые записи используют метаданные и сопоставления уровней рассуждений своего провайдера. Доступность всех четырёх маршрутов по-прежнему определяется вышестоящей стороной; живое обнаружение Cursor дополнительно отфильтровывает статический предзаданный список до моделей, доступных вошедшему аккаунту.

Ollama Cloud — это размещённая в облаке (не локальная) Ollama, OpenAI-совместимая по адресу https://ollama.com/v1, с ключом со страницы ollama.com/settings/keys. opencodex классифицирует её облачную линейку по поддержке изображений, чтобы vision-сайдкар включался только для текстовых моделей. Текстовые модели (например, glm-5.2, deepseek-v4-pro, gpt-oss, qwen3-coder, minimax-m2.x, nemotron-3-*) перечислены в noVisionModels; модели с нативной поддержкой изображений (например, kimi-k2.6, minimax-m3, gemma4, qwen3.5, gemini-3-flash-preview) — нет. Сопоставление терпимо к тегам Ollama вида :size, поэтому gpt-oss покрывает и gpt-oss:120b, и gpt-oss:20b.

Направьте opencodex на локальный OpenAI-совместимый сервер — обычно с пустым ключом:

ПровайдерБазовый URL
Ollama (local)http://localhost:11434/v1
vLLMhttp://localhost:8000/v1
LM Studiohttp://localhost:1234/v1

Если провайдер поддерживает Chat Completions, с ним справится адаптер openai-chat — выберите Custom в дашборде или custom в ocx init и введите базовый URL. Все поля провайдера (headers, noReasoningModels, noVisionModels, models, …) описаны в справочнике по конфигурации.