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

GPT-6 Astra в Claude Code: как подключить через прокси или Codex

GPT-6 Astra работает в Claude Code основной моделью через прокси LiteLLM или исполнителем через плагин Codex. Стоимость задачи Claude Code занижает вдвое.

LaoZhang AI TeamОпубликовано11 мин чтения
Содержание
GPT-6 Astra в Claude Code: прокси LiteLLM и плагин Codex прошли тест, без прокси — 503, задача стоила $0,228 по прайсу

GPT-6 Astra можно запустить внутри Claude Code, но готового переключателя для неё нет: в /model такой модели не будет, а Anthropic в документации о шлюзах прямо пишет, что не поддерживает маршрутизацию Claude Code на модели не от Claude. Рабочих схем две. Чтобы Astra стала основной моделью и сама вела сеанс, между Claude Code и OpenAI-совместимым API ставится локальный прокси LiteLLM, а в переменные ANTHROPIC_MODEL, ANTHROPIC_DEFAULT_OPUS_MODEL и ANTHROPIC_DEFAULT_SONNET_MODEL вписывается gpt-6-astra; платите вы за токены API. Чтобы основной оставалась Claude, а Astra получала отдельные задачи, ставится официальный плагин OpenAI для Claude Code, и задача отдаётся командой /codex:rescue --model gpt-6-astra; расход тогда идёт из лимитов Codex в подписке ChatGPT.

12 ноября 2026 года обе схемы получили одну и ту же маленькую задачу: исправить Python-файл с двумя ошибками так, чтобы прошли четыре теста. Связка Claude Code 2.1.316 и LiteLLM 1.109.1, где Astra отвечала через OpenAI-совместимый API laozhang.ai, справилась за 19,2 секунды, плагин Codex 1.0.6 — за 28 секунд, оба раза 4 теста из 4. Короткий путь без прокси, то есть адрес шлюза в ANTHROPIC_BASE_URL и gpt-6-astra в переменных модели, на том же шлюзе закончился ошибкой 503. И учтите заранее: стоимость, которую Claude Code печатает для gpt-6-astra, примерно вдвое ниже расчёта по прайсу, потому что цены этой модели он не знает.

Примечание: laozhang.ai — наш собственный сервис; его цены — наши тарифы, а не независимое сравнение.

Astra основной моделью или через плагин Codex: что выбрать

Схему выбирают по двум вопросам: кто должен вести работу и чем вы готовы платить. Через прокси Astra получает весь цикл Claude Code — читает файлы, вызывает инструменты, правит код, — и каждый запрос оплачивается токенами API. Через плагин Claude остаётся основной моделью и сам решает, когда отдать задачу, а Astra выполняет её в Codex CLI за счёт подписки ChatGPT. Если подписка Plus или Pro уже есть и Claude в роли ведущего вас устраивает, проще начать с плагина; если Astra нужна во всём сеансе, без прокси не обойтись.

Путь запроса в трёх вариантах: Claude Code через LiteLLM на 127.0.0.1:4011 к GPT-6 Astra, Claude через /codex:rescue и Codex CLI к Astra, и прямой запрос к шлюзу, который заканчивается ошибкой 503

ПараметрПрокси LiteLLM: Astra — основная модельПлагин Codex: Astra — исполнитель
Кто ведёт сеансAstra, с инструментами Claude CodeClaude; Astra получает задачу через /codex:rescue
Чем платитеТокены API Astra: $10 за 1 млн входных и $50 за 1 млн выходныхЛимиты Codex в подписке ChatGPT или ключ OpenAI API
Что нужноКлюч API с доступом к gpt-6-astra, Python для LiteLLMChatGPT Plus, Business или Pro, Node.js 18.18+
Как выбирается AstraПеременные модели в Claude CodeФлаг --model gpt-6-astra; без него Codex выбирает модель сам
Тест 12 ноября 2026 года4 из 4, 19,2 с, effort high4 из 4, 28 с, effort medium
Слабые местаНеверная стоимость в Claude Code, окно 200k по умолчаниюКаждая переданная задача расходует лимит Codex

Суммы токенов двух схем в этом тесте напрямую сравнивать нельзя: уровень рассуждения был разный (high против medium), и каждый инструмент добавляет к задаче свои системные инструкции. Если вы выбираете не схему, а инструмент целиком, расходы на подписки и API разобраны в статье «Claude Code или Codex: стоимость подписки, лимиты и реальный счет API».

Как подключить GPT-6 Astra основной моделью через LiteLLM

Claude Code разговаривает с моделью только в формате Anthropic Messages (/v1/messages) и вместе с запросом отправляет поля, которых у OpenAI нет: заголовки anthropic-beta, output_config.effort, context_management. А у самой Astra в API OpenAI вызов инструментов работает только через Responses API, не через Chat Completions. Прокси принимает запрос Claude Code, перекладывает его в формат OpenAI и возвращает ответ обратно в формате Anthropic. В тесте 12 ноября 2026 года LiteLLM отправил все запросы к провайдеру на /v1/responses, и ни одной ошибки 400 не было, хотя Claude Code передавал восемь значений anthropic-beta и поле output_config.

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

  1. Установите LiteLLM с прокси. В документации LiteLLM это команда uv tool install 'litellm[proxy]'; в тесте работала версия 1.109.1 в виртуальном окружении Python 3.12.

  2. Создайте файл litellm-config.yaml:

    yaml
    model_list:
      - model_name: gpt-6-astra
        litellm_params:
          model: openai/gpt-6-astra
          api_base: https://api.laozhang.ai/v1
          api_key: os.environ/LAOZHANG_API_KEY
      - model_name: gpt-6-astra-responses
        litellm_params:
          model: openai/responses/gpt-6-astra
          api_base: https://api.laozhang.ai/v1
          api_key: os.environ/LAOZHANG_API_KEY
      - model_name: gpt-6-luna
        litellm_params:
          model: openai/gpt-6-luna
          api_base: https://api.laozhang.ai/v1
          api_key: os.environ/LAOZHANG_API_KEY
    litellm_settings:
      drop_params: true

    api_base указывает на OpenAI-совместимый адрес laozhang.ai, через который шёл тест. С ключом OpenAI, по инструкции самого LiteLLM, строка api_base убирается, а ключ берётся из OPENAI_API_KEY; такой вариант в тесте не запускался. Запись gpt-6-astra-responses явно включает Responses API, но обычная openai/gpt-6-astra в тесте тоже ушла на /v1/responses, так что для Claude Code достаточно её. drop_params: true отбрасывает параметры, которые провайдер не принимает.

  3. Запустите прокси:

    bash
    export LAOZHANG_API_KEY="ваш-ключ-api"
    export LITELLM_MASTER_KEY="sk-local-test-1112"
    litellm --config litellm-config.yaml --host 127.0.0.1 --port 4011 --detailed_debug

    LITELLM_MASTER_KEY — это не ключ провайдера, а пароль самого прокси, его можно заменить любой длинной строкой. Флаг --detailed_debug пишет в журнал каждый запрос к провайдеру, он понадобится для проверки.

  4. Проверьте прокси одним запросом с инструментом ещё до запуска Claude Code:

    bash
    curl -s http://127.0.0.1:4011/v1/messages \
      -H "Authorization: Bearer $LITELLM_MASTER_KEY" \
      -H "Content-Type: application/json" \
      -d '{"model":"gpt-6-astra","max_tokens":512,
           "tools":[{"name":"read_file","description":"Read a file from disk",
             "input_schema":{"type":"object","properties":{"path":{"type":"string"}},"required":["path"]}}],
           "messages":[{"role":"user","content":"Read the file src/app.py using the tool."}]}'

    В ответе должны быть "model":"gpt-6-astra", "stop_reason":"tool_use" и блок tool_use с вызовом read_file, именно так прокси ответил в тесте. Если вместо этого пришла ошибка, Claude Code её только повторит, поэтому чинить нужно на этом шаге.

  5. Укажите Claude Code адрес прокси и модели и запустите его:

    bash
    export ANTHROPIC_BASE_URL="http://127.0.0.1:4011"
    export ANTHROPIC_AUTH_TOKEN="sk-local-test-1112"
    export ANTHROPIC_MODEL="gpt-6-astra"
    export ANTHROPIC_DEFAULT_OPUS_MODEL="gpt-6-astra"
    export ANTHROPIC_DEFAULT_SONNET_MODEL="gpt-6-astra"
    export ANTHROPIC_DEFAULT_HAIKU_MODEL="gpt-6-luna"
    export CLAUDE_CODE_MAX_CONTEXT_TOKENS=272000
    claude

Основной сеанс Claude Code идёт через переменную Opus (ANTHROPIC_DEFAULT_OPUS_MODEL), субагенты используют модель сеанса, а переменная Haiku (ANTHROPIC_DEFAULT_HAIKU_MODEL) обслуживает служебные запросы вроде названия сеанса. Поэтому Astra стоит во всех основных переменных, а в Haiku — более лёгкая gpt-6-luna: в интерактивном тесте одно сообщение дало три запроса к прокси, два к gpt-6-astra и один к gpt-6-luna за названием сеанса. Если какую-то переменную не задать, Claude Code запросит у прокси обычное имя модели Claude, которого в litellm-config.yaml нет; так было в проверке 30 октября 2026 года на тестовом сервере. Те же ключи можно перенести в блок env файла ~/.claude/settings.json: где лежат настройки и какая из них важнее при конфликте, описано в статье «Настройка Claude Code API: ключи, settings.json, модели и шлюзы», а как три переменные моделей делят работу, подробно показано в «GLM-5.3-Flash в Claude Code: настройка, слоты, effort и кредиты».

Примечание: laozhang.ai — наш собственный сервис; его цены — наши тарифы, а не независимое сравнение.

CLAUDE_CODE_MAX_CONTEXT_TOKENS=272000 нужен потому, что Claude Code не знает gpt-6-astra, считает её окно равным 200 000 токенов и на этом пороге сжимает контекст. Реальное окно Astra — 1 050 000 токенов, но запрос, в котором больше 272 000 входных токенов, OpenAI целиком считает по повышенной цене: $20 за 1 млн входных и $75 за 1 млн выходных. Значение 272 000 — самый большой запрос, который ещё идёт по обычному тарифу; это выбор под тариф, а не официальная рекомендация. В тесте с этой переменной Claude Code записал окно 272 000, и строка о 200k больше не выводилась.

Уровень рассуждения (effort) из Claude Code доходит до Astra как reasoning.effort. По умолчанию Claude Code отправил high, а с CLAUDE_CODE_EFFORT_LEVEL=low и CLAUDE_CODE_EFFORT_LEVEL=max — соответственно low и max; время и стоимость всех трёх запусков приведены в разделе о цене. Значения none и minimal Astra не поддерживает. Как устроены уровни в самом Claude Code, разобрано в статье «Effort в Claude Code: что это, уровни и почему снова medium».

Как убедиться, что отвечает gpt-6-astra

Первый признак виден при запуске: в шапке сеанса вместо имени Claude стоят gpt-6-astra и тип оплаты, а ниже — предупреждение о неизвестной модели. Так выглядело начало интерактивного сеанса 12 ноября 2026 года, запущенного без CLAUDE_CODE_MAX_CONTEXT_TOKENS:

Claude Code v2.1.316
gpt-6-astra · API Usage Billing

⚠ Model "gpt-6-astra" isn't recognized · context assumed to be 200k tokens · update Claude Code, or see
  https://code.claude.com/docs/en/model-config

Команда /status показывает, куда и с каким ключом Claude Code отправляет запросы: Auth token: ANTHROPIC_AUTH_TOKEN, Anthropic base URL: http://127.0.0.1:4011, Model: gpt-6-astra. Но шапка и /status говорят только о том, какое имя модели Claude Code запросил. Что ответила именно Astra, подтверждает журнал прокси: с флагом --detailed_debug в нём видно, что запрос ушёл к провайдеру на /v1/responses с моделью gpt-6-astra, а в ответе поле model содержит то же имя, как и в проверке через curl. На вопрос о том, какая это модель, Astra в тесте ответила «I am GPT-6 Astra (gpt-6-astra)», и это совпало с журналом, однако ответ модели о себе без журнала доказательством не считается.

Сколько стоит задача: Claude Code показывает вдвое меньше прайса

По прайсу Astra тестовая задача 12 ноября 2026 года стоила $0,228, а Claude Code в строке стоимости показал $0,114. Так было во всех трёх запусках: цены для gpt-6-astra у Claude Code нет (в его отчёте в формате JSON стоит costBasis: "unknown"), поэтому его цифра не годится ни для бюджета, ни для сравнения с другими моделями. Считать нужно по токенам, которые вернул провайдер.

Запускeffort, полученный AstraВремяХодовВыходные токены (из них рассуждение)По прайсу AstraПоказал Claude Code
По умолчаниюhigh19,2 с7521 (37)$0,228$0,114
CLAUDE_CODE_EFFORT_LEVEL=lowlow17,5 с5364 (0)$0,203$0,101
CLAUDE_CODE_EFFORT_LEVEL=maxmax34,4 с91 531 (963)$0,289$0,144

Расчёт для запуска по умолчанию: провайдер вернул 12 некэшированных входных токенов, 11 728 токенов записи в кэш, 55 265 токенов чтения из кэша и 521 выходной. По прайсу Astra за 1 млн токенов ($10 за вход, $12,50 за запись в кэш, $1 за чтение из кэша, $50 за выход) получается (12 × 10 + 11 728 × 12,5 + 55 265 × 1 + 521 × 50) / 1 000 000 ≈ $0,228. Это оценка по прайсу, а не счёт: кэширование здесь автоматическое, на стороне провайдера.

Около 64 % этой суммы, примерно $0,147, ушло на первую запись в кэш системных инструкций и описаний инструментов Claude Code, а это около 11 700 токенов. Её оплачивает каждый новый сеанс ещё до того, как модель прочитает ваш код, поэтому короткие сеансы с Astra через прокси обходятся дороже, чем можно ожидать по размеру задачи. Настоящий рабочий сеанс намного больше этого теста, а как только запрос переходит за 272 000 входных токенов, действует повышенный тариф; полный прайс с кэшем и длинным контекстом — в статье «GPT-6 Astra API: тарифы, кэш и стоимость длинного контекста».

Из чего сложились $0,228 за тестовую задачу по прайсу Astra: около 64 % — запись в кэш, остальное — чтение из кэша и выход, тогда как Claude Code показал $0,114

На такой лёгкой задаче все три уровня прошли тесты. Уровень max занял почти вдвое больше времени (34,4 секунды против 19,2) и обошёлся примерно на 27 % дороже уровня по умолчанию. Один запуск на уровень показывает, что настройка доходит до модели, но не то, какой уровень лучше для ваших задач.

Плагин Codex: как передать задачу GPT-6 Astra, оставив Claude основной

Плагин openai/codex-plugin-cc — официальное дополнение OpenAI, которое добавляет в Claude Code команды для проверки кода и передачи задач в Codex. Задачу отдаёт команда /codex:rescue: её выполняет субагент codex:codex-rescue, который вызывает ваш локальный Codex CLI. Astra будет работать, только если назвать её явно: без --model Codex выбирает модель по своим умолчаниям. Нужны Node.js 18.18 или новее и вход в Codex через ChatGPT или ключ OpenAI API; расход учитывается в лимитах Codex. По данным OpenAI на 26 октября 2026 года, на тарифах Free и Go в Codex доступна GPT-6 Luna, а не Astra, Plus и стандартный Business дают примерно от 5 до 45 локальных сообщений Astra за 5 часов, а у Pro пятичасового лимита нет.

  1. Добавьте каталог плагинов OpenAI: /plugin marketplace add openai/codex-plugin-cc.

  2. Установите плагин командой /plugin install codex@openai-codex и выполните /reload-plugins.

  3. Запустите /codex:setup. Команда проверяет, установлен ли Codex и выполнен ли вход; если Codex нет, а npm есть, она предложит его установить. Если входа нет, введите !codex login.

  4. Передайте задачу, явно указав модель:

    /codex:rescue --model gpt-6-astra --effort medium исправь падающие тесты в textkit/slug.py
  5. Для долгих задач добавьте --background, а ход работы и результат смотрите командами /codex:status и /codex:result; /codex:cancel останавливает задачу.

12 ноября 2026 года плагин 1.0.6 был установлен в чистую конфигурацию Claude Code, а Codex CLI 0.166.0 был подключён к аккаунту ChatGPT. Скрипт плагина запустили так же, как его вызывает субагент codex:codex-rescue (codex-companion.mjs task --write --model gpt-6-astra --effort medium с той же задачей), и Codex исправил файл за 28 секунд, все 4 теста прошли. Саму команду /codex:rescue в интерактивном сеансе Claude не вводили: проверен скрипт, который она вызывает.

Модель здесь проверяют по журналу Codex, а не вопросом к ней: на просьбу назвать себя она ответила «I’m Codex, based on GPT-6». В файле сеанса Codex (каталог ~/.codex/sessions) записаны "model":"gpt-6-astra" и "reasoning_effort":"medium", а также 130 507 входных токенов, из них 112 128 из кэша, и 369 выходных.

В установленных файлах плагина видны ещё три детали. Субагент по умолчанию передаёт Codex флаг --write, то есть Codex сразу правит файлы в репозитории. Сам субагент описан с model: sonnet, поэтому передачу задачи и пересказ результата обслуживает Claude, а не Astra. Необязательная проверка ответов Claude через Codex (review gate, включается через /codex:setup --enable-review-gate), по предупреждению OpenAI, может быстро исчерпать лимиты.

Первые ошибки: 503, предупреждение о 200k и 400 Extra inputs

Первой обычно появляется ошибка 503: так заканчивается попытка подключить Astra без прокси, прямо к шлюзу. Предупреждение о 200k ошибкой не является и работу не останавливает, а 400 возникает у прокси, который пересылает поля Claude Code без перевода.

503 Current group default has no available channels for model gpt-6-astra

Так ответил laozhang.ai 12 ноября 2026 года на запрос к https://api.laozhang.ai/v1/messages с моделью gpt-6-astra: и через curl, и из Claude Code 2.1.316, у которого в ANTHROPIC_BASE_URL стоял адрес шлюза, а во всех четырёх переменных модели — gpt-6-astra. Деньги за такие запросы не списались. В Claude Code ошибка выглядит так:

Примечание: laozhang.ai — наш собственный сервис; его цены — наши тарифы, а не независимое сравнение.

API Error: 503 Current group default has no available channels for model gpt-6-astra under billing mode [pay-as-you-go, pay-per-request] (request id: …). This is a server-side issue, usually temporary — try again in a moment. If it persists, check your inference gateway (api.laozhang.ai).

Слова «usually temporary» — стандартный текст Claude Code для любой ошибки 5xx, здесь повтор не поможет: эндпоинт laozhang.ai в формате Claude не отдаёт Astra. В документации шлюза для Claude Code перечислены модели Claude, GLM и DeepSeek, а gpt-6-astra указана для /v1/chat/completions и /v1/responses; отдельная группа токенов Claude Code не проверялась, но GPT в её списке тоже нет. Решение — прокси из раздела о LiteLLM, который ходит на OpenAI-совместимый адрес. Другие шлюзы могут переводить форматы на своей стороне, поэтому прежде чем менять настройки Claude Code, отправьте на их /v1/messages один запрос через curl. Если доступ к Astra через API ещё не настроен, ключ и первый запрос описаны в статье «Доступ к GPT-6 Astra API: ключ, первый запрос и ошибки подключения».

Model "gpt-6-astra" isn't recognized · context assumed to be 200k tokens

Это предупреждение, а не ошибка: работа идёт дальше, но Claude Code считает окно модели равным 200 000 токенов и сжимает контекст на этом пороге. В режиме claude -p та же мысль выводится длинной фразой «Claude Code doesn't recognize the model "gpt-6-astra", so it assumes a context window of 200k tokens». Предупреждение исчезает, когда задана переменная CLAUDE_CODE_MAX_CONTEXT_TOKENS; почему в ней стоит 272 000, объяснено после шагов настройки прокси.

400 Extra inputs are not permitted

По документации Anthropic, такая ошибка появляется, когда шлюз пересылает тело запроса Claude Code без изменений провайдеру с другой схемой и тот отвергает незнакомые поля, например context_management или output_config. Claude Code один раз сам повторяет запрос без output_config.effort или context_management, и только если не помогло, показывает ошибку. С LiteLLM 1.109.1 в тесте ни одной ошибки 400 не было. Если она появилась с другим прокси, задайте CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1: Claude Code перестанет отправлять экспериментальные возможности и парные им значения anthropic-beta, а effort при этом останется.

Что в связке Claude Code и Astra не проверялось

Все цифры выше получены 12 ноября 2026 года на одном компьютере, на одной маленькой задаче, по одному запуску на вариант. В эти запуски не попали веб-поиск и загрузка страниц (WebSearch, WebFetch), изображения, субагенты, серверы MCP, долгие сеансы и автоматическое сжатие контекста; для веб-поиска у LiteLLM есть отдельная страница «Claude Code - WebSearch Across All Providers». Не устанавливался и Claude Code Router (CCR): версия 3.1.3 от 9 октября 2026 года поднимает локальный шлюз на http://127.0.0.1:3456 и, по описанию проекта, умеет отправлять запросы в форматах OpenAI Chat и Responses. Поскольку Anthropic такие схемы не поддерживает, любое обновление Claude Code может их сломать, и после обновления стоит повторить проверку через curl и заглянуть в /status.

GPT-6 Astra в Claude Code: другие вопросы

Можно ли обойтись подпиской ChatGPT вместо ключа API?

Да, но только через плагин Codex: Codex CLI входит через аккаунт ChatGPT, а схема с прокси требует ключ API. Для Astra нужен тариф Plus или выше (по данным OpenAI на 26 октября 2026 года). Существуют самодельные обратные прокси, которые используют вход ChatGPT за пределами Codex, но разрешает ли так делать OpenAI, нигде не подтверждено, и строить на них рабочую схему рискованно.

Что выбрать для работы в Claude Code: GPT-6 Astra или Fable 5.2?

Это вопрос выбора модели, а не подключения: результаты, цены и стоимость типичной задачи для обеих моделей сопоставлены в статье «Fable 5.2 или GPT-6 Astra: что выбрать и сколько стоит задача».

Ещё по теме Claude Code
Схема подключения Claude Code через OpenRouter, напрямую к DeepSeek и через сторонний прокси
Claude Code

Claude Code с OpenRouter и DeepSeek: маршруты, настройка и первые ошибки

Для DeepSeek через OpenRouter задайте адрес OpenRouter, его ключ и модель deepseek/deepseek-v4.1-flash. Для прямого подключения нужны адрес и ключ DeepSeek с моделью deepseek-flash. Проверьте также роли моделей, источник настроек и фактический запрос у провайдера.

11 мин
Варианты подключения Claude Code: подписка, API-ключ и шлюз или облачный провайдер
Claude Code

Настройка Claude Code API: ключи, settings.json, модели и шлюзы

Прямой API подключается через ANTHROPIC_API_KEY с подтверждением в интерактивном сеансе. Для шлюза нужны совместимый API, адрес и его ключ или bearer-токен. Затем проверьте, какие настройки применились и откуда пришёл ответ модели.

11 мин