Привет, Хабр! На связи команда Just AI. Сегодня хотим поговорить про Claude Code. Он умеет работать не только с моделями Anthropic: если направить его запросы в совместимый API-шлюз, можно оставить привычный клиент, но при этом менять провайдера, модель и способ работы с API.
В этой статье разберемся, что Claude Code отправляет в API, что от шлюза требуется для нормальной работы и какие проблемы возникают при подключении других моделей. На примере Caila посмотрим, какие модели можно использовать с Claude Code, сколько стоит сессия и как устроено подключение.
Claude Code перестал быть экспериментом одного энтузиаста
За полтора года Claude Code из нишевого увлечения редких разработчиков превратился в один из основных инструментов AI-разработки. По данным Developer Ecosystem Survey 2026 — опроса JetBrains среди более чем 15 000 профессиональных разработчиков, проведенного в мае–июле 2026 года, — 90% разработчиков пользуются AI-агентами для кода хотя бы раз в неделю, 68% — ежедневно. Claude Code используют 39% опрошенных, а 31% называют его основным инструментом для работы с кодом. И пользуются им уже не только разработчики. Anthropic проанализировала около 400 тысяч сессий Claude Code за полгода: после IT-специалистов вторая по величине группа пользователей — бизнес и финансы, а быстрее всего среди нетехнических профессий растет доля менеджеров, продавцов и юристов. Программистом для работы в Claude Code быть уже не обязательно.
Когда такой инструмент становится частью рабочего процесса команды, выясняется, что пользоваться им удобно, пока не приходится отдельно решать вопросы оплаты, ключей, лимитов и доступа к моделям. Для Anthropic нужен один аккаунт, для Gemini — другой, для очередной открытой модели — третий. В итоге команда быстро получает набор секретов, счетов и несовместимых настроек.
Часть этих задач можно вынести из клиента. Claude Code умеет работать не только с api.anthropic.com: через переменную ANTHROPIC_BASE_URL его можно направить на сторонний Anthropic-compatible API. Тогда ключи, лимиты, маршрутизацию и оплату берет на себя шлюз, а у разработчика остается привычный клиент.
Но здесь есть важная деталь: совместимость с Anthropic API не означает, что за этим API можно без последствий поставить любую другую модель.
Claude Code работает агентным циклом: модель просит вызвать инструмент — прочитать файл, запустить команду, поискать по репозиторию, — клиент выполняет его и возвращает результат, и так до конца задачи. Поэтому один запрос пользователя превращается в серию API-запросов, и на каждом шаге клиент заново отправляет историю диалога, системные инструкции и описания инструментов.
Отсюда две особенности, которые дальше будут важны для шлюза: совместимость должна сохраняться на каждом шаге цикла, а стоимость длинной сессии сильно зависит от кэширования повторяющегося контекста.
Зачем Claude Code посредник
Вернемся подробнее к задачам, которые решает такой слой между Claude Code и провайдером:
Доступ. Прямая оплата Anthropic из России требует зарубежной карты и VPN. Привычный обходной путь через агрегатор тоже может перестать работать: с 27 июня 2026 года OpenRouter не обслуживает российские аккаунты, а прием платежей для учеток с регионом «Россия» прекратился еще в мае.
Ключи. Без шлюза каждый разработчик работает с ключом внешнего провайдера. Если человек уходит из команды или ключ утек, секрет приходится отзывать на стороне провайдера. Через шлюз внешние ключи остаются за ним, а разработчику выдается отдельный ключ платформы.
Лимиты и расходы. Автономный агент способен сделать десятки запросов подряд. Поэтому полезно ограничивать бюджет до первого запуска и видеть расходы по ключам, моделям и запросам.
Мы в Just AI делаем такой шлюз — Caila, и Claude Code подключается к нему через Anthropic-compatible endpoint. Мы сами пришли к такой схеме не сразу. Организовать оплату подписок Claude для всей команды оказалось сложно, а для части сотрудников она еще и невыгодна: кто-то пользуется Claude Code понемногу и тратит на токены заметно меньше стоимости подписки. К тому же аккаунты с подписками периодически блокируют. Поэтому большая часть команды работает через Caila — по статистике расходов мы видим, кто тратит больше всего, и для таких сотрудников подписка оказывается выгоднее.
Но дальше речь будет не столько о Caila, сколько о самом контракте между Claude Code и шлюзом. Клиентская часть этого сценария применима и к другому прокси, например к собственной установке LiteLLM или корпоративному API-шлюзу.
Что Claude Code отправляет по адресу из ANTHROPIC_BASE_URL
Anthropic описывает отдельную спецификацию совместимости для операторов шлюзов. По ней видно, какие запросы шлюз получает от клиента и что должен вернуть.
Claude Code обращается к шлюзу по трем адресам — эндпоинтам:
Эндпоинт |
Обязателен |
Что будет без него |
|
да |
ничего не работает |
|
нет |
|
|
нет |
|
В Caila эндпоинт подсчета токенов реализован вместе с Anthropic Messages API, поэтому /context в сессии через шлюз показывает точные числа.
Кроме запросов к модели Claude Code отправляет немного служебного трафика, в основном статистику использования. Он идет напрямую в Anthropic, минуя шлюз, но на работу с моделью это не влияет.
Стриминг нельзя буферизовать
Claude Code читает ответ по мере его поступления. Если шлюз сначала соберет весь ответ, а потом отдаст его клиенту, агент будет выглядеть зависшим.
Клиент также учитывает SSE-события и обрывает поток, если долго не получает данные. Поэтому шлюз должен передавать SSE-пинги во время долгой генерации: они поддерживают соединение, пока модель формирует ответ.
Автообнаружение моделей
Если включить CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1, Claude Code при старте запрашивает у шлюза список моделей и добавляет их в /model.
Здесь есть два ограничения:
Во-первых, запрос должен уложиться в таймаут по умолчанию в три секунды. Редиректы считаются ошибкой: клиент не передает данные для авторизации на другой хост.
Во-вторых, Claude Code фильтрует полученный список. В меню попадают модели, в идентификаторе которых встречается
claudeилиanthropic.
Поэтому vertex_ai/claude-sonnet-4-6 в меню выбора моделей попадет, а z-ai/glm-5.3-flash — нет, даже если шлюз вернул эту модель в ответе.
Чужие модели приходится добавлять вручную через ANTHROPIC_CUSTOM_MODEL_OPTION.
Два разных сценария работы через Caila
Дальше многое зависит от того, какая модель стоит за шлюзом. Поэтому в Caila мы разделяем использование шлюза на два режима.
Штатный: Claude Code работает с моделями Claude через шлюз, совместимый с Anthropic Messages API. Клиент отправляет запрос в формате Anthropic, шлюз передает его провайдеру и возвращает ответ обратно. Здесь основная задача шлюза — корректно проксировать запросы, не ломая заголовки, потоковую передачу и дополнительные поля API.
Экспериментальный: за шлюзом стоит GPT, Gemini, GLM, Grok, Kimi или другая модель. Claude Code по-прежнему отправляет запрос в формате Anthropic, но провайдер может использовать совсем другой API. Поэтому шлюзу приходится конвертировать запрос в нужный формат, получить ответ и перевести его обратно в формат, который понимает Claude Code.
Почему модель не из семейства Claude может не заработать
В штатном режиме все выглядит довольно прямолинейно: Claude Code отправляет запрос в формате Anthropic → шлюз принимает его → модель отвечает → шлюз возвращает ответ Claude Code. Все сложнее в экспериментальном режиме, когда за шлюзом находится не Claude.
У разных API отличаются системные инструкции, формат сообщений, вызовы инструментов, стриминг и авторизация:
Что отличается |
OpenAI |
Anthropic |
|
Системный промпт |
сообщение с ролью |
отдельное поле |
|
Формат ответа |
|
|
|
Вызов инструментов |
|
|
|
Стриминг |
SSE с |
SSE с |
отдельный gRPC/REST-стриминг |
Авторизация |
|
|
ключ в query-параметре или OAuth |
Шлюз может конвертировать эти различия. Но Claude Code отправляет не только базовые сообщения.
Например, в запросах могут быть режимы рассуждения (adaptive reasoning, extended thinking), structured output, поля context_management, output_config, strict, defer_loading, cache_control и beta-заголовки.
Если провайдер не понимает конкретное поле, возможны разные сценарии:
Ошибка 400 — если поле запрещено или имеет неправильный формат.
Функция может просто не включиться — например, если нужный beta-заголовок не дошел до провайдера.
А может не произойти ничего заметного. Самый неприятный пример —
cache_control: если шлюз потеряет его по дороге, запросы продолжат работать, но повторяющийся контекст перестанет читаться из кэша и начнет тарифицироваться как обычные входные токены.
Часть таких ошибок клиент переживает сам: если провайдер отверг необязательную возможность, Claude Code повторит запрос без нее. Но для этого шлюз должен передавать ошибку провайдера без изменений. Иначе клиент не поймет причину, и запрос закончится ошибкой.
Если нужно полностью отключить предрелизные возможности, есть CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1. На режим рассуждений модели эта настройка не влияет: он определяется выбранной моделью.
Как проверить совместимость
Проверять шлюз удобно на двух уровнях. Реальные сценарии показывают, проходит ли агентный цикл целиком. Пункты спецификации Anthropic объясняют, что именно шлюз передает без изменений, и помогают найти причину, если какой-то сценарий не прошел.
Минимальный набор сценариев:
прочитать файл и объяснить код;
изменить файл по заданию;
запустить команду через Bash и обработать результат;
выполнить несколько последовательных вызовов инструментов;
получить длинный ответ через streaming;
выполнить задачу в большом контексте;
проверить structured output;
проверить повторный запрос после ошибки.
Эти сценарии пригодятся ниже, когда будем сравнивать модели. А сам шлюз мы проверили по пунктам спецификации Anthropic: для каждого пункта указали, как проверяли и что получилось. Все проверки делали на Caila с моделями Claude, то есть в штатном режиме.
Пункт |
Как проверили |
Результат на Caila |
Стриминг без буферизации |
ответ на 6 000 токенов через Sonnet 5, время прихода каждого SSE-события |
Прошло. Первый токен через 1,3 с, дальше 1 383 фрагмента за 63 с, самая длинная пауза 1,4 с |
SSE-пинги проходят |
задача Claude Code с долгим рассуждением: Opus 5, effort max |
Прошло. Пинги приходят каждые 15 с (40 за 10 минут), самая длинная пауза в потоке 5,9 с |
anthropic-beta пересылается целиком |
сессия Claude Code: 7–8 значений в заголовке и context_management в каждом ходе, плюс контрольные запросы |
Прошло. Все 21 запрос сессии вернули 200. Для контроля тот же запрос без заголовка Anthropic отклоняет с ошибкой 400 Extra inputs are not permitted, а с двумя значениями в заголовке, в любом порядке, принимает. Поиск инструментов с |
cache_control доходит до Anthropic |
сессия Claude Code на тестовом репозитории: 21 запрос, из них 9 от двух подагентов |
Прошло. Шаг 1: cache_creation_input_tokens 34 732. Шаг 2: cache_read_input_tokens 34 732. За сессию 88,7% входных токенов прочитано из кэша |
/v1/messages/count_tokens |
/context в Claude Code; сравнение count_tokens с usage того же запроса |
Прошло. /context сделал 22 вызова count_tokens, все 200. На запросе в 513 888 токенов числа совпали до токена |
/v1/models быстрее 3 с, без редиректа |
GET /v1/models?limit=1000 пять раз; Claude Code с CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1 |
Прошло. Ответ за 0,24–0,35 с, без редиректа, Claude Code подхватил 18 моделей Claude |
Тело ошибки апстрима сохраняется |
Claude Code с алиасом: claude-opus-4-8 отправляется в claude-sonnet-4-5 |
Прошло. Caila передала три отказа Anthropic без изменений: effort, adaptive thinking, role: system. Claude Code распознал каждый, повторил запрос с thinking.type=enabled и ответил |
x-claude-code-* доходят до шлюза |
одна сессия с двумя подагентами |
Прошло. x-claude-code-session-id есть у всех 21 запроса и в журнале Caila. x-claude-code-agent-id Claude Code отправил в 9 запросах подагентов, и они видны в журнале запросов |
Все восемь пунктов прошли. Для пользователя самое важное из них — кэширование: в сессии из таблицы 88,7% входных токенов прочитано из кэша, то есть основная часть контекста оплачивалась по сниженной цене.
Так работа кэша выглядит в терминале. Это отдельная короткая сессия, поэтому цифры немного отличаются от табличных:

Сверх базовой совместимости шлюз может решать задачи, которых нет у Claude Code как у клиента. Например, повторно отправлять запрос при таймауте или ошибке на другой инстанс или маршрут той же модели, ограничивать бюджет ключа и маскировать персональные данные, в нашем случае через отдельный сервис — Jay Guard.
Какие альтернативы Claude стоит тестировать
Модели не от Anthropic обычно рассматривают ради двух вещей: дешевле выполнять массовые и простые задачи или получить большое контекстное окно дешевле, чем у Claude. В каталоге Caila для этого интересны несколько маршрутов:
GPT-5.5. Дорогая модель для сложных инженерных задач с контекстным окном около 1,05M токенов и поддержкой инструментов. Ее стоит проверять на глубокой отладке, изменениях в нескольких частях репозитория и длинных многошаговых задачах.
GPT-5.4 mini. Более доступный вариант для программирования и массовых агентных операций: контекстное окно 400K токенов, из которых до 272K могут занимать входные данные. На сложных инженерных задачах стоит отдельно оценивать число повторных попыток: низкая цена токенов сама по себе не гарантирует экономию.
GLM-5.3-Flash. Один из самых дешевых вариантов в текущем срезе: около 1M токенов контекста и низкая стоимость запросов. Его логично проверять на массовых и не слишком сложных операциях.
Gemini 2.5 Flash Lite. Еще один недорогой вариант с большим контекстным окном. Он может быть полезен для простых задач, где нет смысла использовать дорогую агентную модель. Но Gemini использует собственную схему работы с инструментами, поэтому здесь особенно важна проверка реального агентного цикла.
Grok 4.3 и Grok 4.6. Эти модели интересны прежде всего для задач, где важны анализ и работа с большим контекстом. Grok 4.3 дешевле, а Grok 4.6 стоит ближе к дорогим агентным моделям. Сравнивать их с Sonnet имеет смысл на одном репозитории и одном наборе задач.
Kimi K3. В текущем каталоге это дорогой маршрут с большим контекстным окном. Поэтому экономия здесь не аргумент — такой маршрут имеет смысл проверять, если качество на длинных инженерных задачах оправдывает стоимость.
При этом ни одна из этих моделей не становится полноценной заменой Claude только потому, что шлюз умеет принять запрос в формате Anthropic. Claude Code использует модель в агентном цикле: читает файлы, вызывает инструменты, запускает команды и на основе результата делает следующий запрос. Модель может хорошо отвечать на обычный промпт и при этом плохо работать в реальном кодовом сценарии. Поэтому сначала прогоните каждую модель по сценариям, описанным выше, на одном репозитории и одном наборе задач, а затем сравнивайте по цене и окну те, что их прошли.
Мы прогнали через Caila шесть моделей по тем же восьми сценариям на одном тестовом репозитории:
Модель |
Сценарий |
Результат |
Что пошло не так |
Попыток |
gpt-5.5 |
все 8 |
Прошло |
— |
1 |
gpt-5.4-mini |
6 из 8 |
Прошло |
— |
1 |
gpt-5.4-mini |
несколько вызовов инструментов подряд |
Прошло со второй попытки |
в первый раз записала 300 вместо 250 |
2 |
gpt-5.4-mini |
повторный запрос после ошибки |
Прошло со второй попытки |
в первый раз не повторила упавшую команду |
2 |
z-ai/glm-5.3-flash |
все 8 |
Прошло |
— |
1 |
x-ai/grok-4.6 |
все 8 |
Прошло |
— |
1 |
moonshotai/kimi-k3 |
все 8 |
Прошло |
— |
1 |
gemini-2.5-flash-lite |
6 из 8 |
Прошло |
— |
1 |
gemini-2.5-flash-lite |
несколько вызовов инструментов подряд |
Не прошло |
не читает файл, выдумывает функцию calculateSubtotal |
3 |
gemini-2.5-flash-lite |
повторный запрос после ошибки |
Не прошло |
после ECONNRESET не повторяет команду |
3 |
Большинство моделей прошли все сценарии с первой попытки. Разница проявилась на многошаговых задачах: GPT-5.4 mini ошибалась в данных и не всегда с первого раза повторяла упавшую команду, а Gemini 2.5 Flash Lite вместо чтения файла начинала выдумывать код и не повторяла команду после сбоя соединения. Поэтому дешевые модели логично отдавать под простые задачи, а многошаговую работу — моделям, которые прошли все сценарии.
Сколько стоит сессия
Совместимость — только половина вопроса, вторая половина — стоимость.
Больше всего на нее влияет кэширование промпта. На каждом шаге Claude Code снова отправляет системный промпт, описания инструментов и историю диалога. Повторяющийся контекст при этом можно читать из кэша — такие входные токены стоят существенно дешевле обычных.
Поэтому шлюз должен передавать cache_control без изменений и сохранять блочную структуру system. Если эти данные потеряются, запросы продолжат работать, но повторяющийся контекст будет каждый раз тарифицироваться как обычные входные токены. В логах при этом может не появиться ни одной ошибки.
Проверить кэширование можно прямо в ответе API. Начиная со второго шага, в usage должно появляться ненулевое значение cache_read_input_tokens.
Пример реальной сессии на проде Caila от 28.09.2026. Claude Code 2.1.263 с моделью claude-sonnet-5 чинит упавший тест: читает файл, правит его и запускает npm test. Всего 4 запроса к API:
Шаг |
input_tokens |
cache_creation_input_tokens |
cache_read_input_tokens |
1 |
2 |
40 394 |
0 |
2 |
2 |
1 207 |
40 394 |
3 |
2 |
479 |
41 601 |
4 |
2 |
250 |
42 080 |
Итого |
8 |
42 330 |
124 075 |
На первом шаге системный промпт и описания инструментов (40 394 токена) записываются в кэш. На втором шаге эти же 40 394 токена читаются из кэша, и платить по полной цене нужно только за новую часть диалога. За всю сессию из кэша прочитано 124 075 из 166 413 входных токенов, то есть 74,6%. Еще 25,4% — запись в кэш, по обычной цене прошло всего 8 токенов.
Но стоимость зависит не только от тарифа модели. Claude Code многократно отправляет историю и делает несколько запросов на одну задачу. Поэтому более дешевая модель не обязательно дешевле по итогу: она может потребовать больше попыток или дополнительных исправлений.
В текущем каталоге Caila цены выглядят так (в рублях за миллион текстовых токенов, без учета кэша, персональных скидок и надбавки за длинный контекст, на 27 августа 2026 года):
Модель и маршрут |
Контекст |
Вход, ₽/1M |
Выход, ₽/1M |
Возможный сценарий |
gpt-5.5 |
≈1,05M |
564 |
3384 |
сложная агентная работа |
gpt-5.4-mini |
400K |
85 |
508 |
типовые правки и подагенты |
claude-sonnet-5, Anthropic |
1M |
248,40 |
1 242,00 |
основная агентная работа |
gemini-2.5-flash-lite, Google |
≈1,05M |
12,42 |
49,68 |
дешевые массовые задачи |
gpt-5-nano, OpenAI |
400K |
6,21 |
49,68 |
короткие преобразования |
z-ai/glm-5.3-flash, OpenRouter |
≈1,05M |
9,32 |
31,05 |
экспериментальный кодинг |
x-ai/grok-4.6, OpenRouter |
500K |
259 |
778 |
сложный анализ и планирование |
x-ai/grok-4.3, OpenRouter |
1M |
155,25 |
310,50 |
длинный анализ |
moonshotai/kimi-k3, OpenRouter |
≈1,05M |
372,60 |
1 863,00 |
длинные инженерные задачи |
Например, 100 тысяч входных и 10 тысяч выходных токенов без учета кэша обойдутся примерно в 37,26 ₽ на Sonnet 5 и 1,24 ₽ на GLM-5.3-Flash. Но сравнивать лучше не цену одного запроса, а стоимость законченной задачи: сколько запросов понадобилось, сколько токенов ушло и пришлось ли что-то исправлять вручную.
Фактическую стоимость завершенных запросов лучше смотреть в истории биллинга: цена маршрута могла измениться после того, как был сделан запрос.
Есть еще одна настройка, которая влияет на стоимость независимо от шлюза. Claude Code выполняет фоновые задачи: например, генерирует заголовки сессий, классифицирует запросы и сжимает историю диалога. При прямом подключении к Anthropic для них используется Haiku, но через шлюз они могут уйти на основную модель.
Чтобы этого не происходило, можно явно задать более легкую модель:
export ANTHROPIC_DEFAULT_HAIKU_MODEL="claude-haiku-4-5"
Дешевая модель для подагентов
Другой способ снизить стоимость — не заменять основную модель, а использовать более дешевую для подагентов.
Например:
export ANTHROPIC_DEFAULT_SONNET_MODEL="claude-sonnet-5" export CLAUDE_CODE_SUBAGENT_MODEL="z-ai/glm-5.3-flash" claude --model sonnet
Это статическая настройка: переменная задает модель для подагентов, а сам Sonnet не решает, какую задачу отдавать дешевой модели. Для примера мы взяли GLM-5.3-Flash: в нашем прогоне он прошел все восемь сценариев. Но перед использованием такой схемы на своем проекте стоит проверить на тестовом репозитории, как подагенты справляются с поиском, чтением файлов и вызовами инструментов.
Как подключить Claude Code через шлюз
Со стороны Claude Code настройка одинакова для любого шлюза, совместимого с Anthropic Messages API: нужны адрес endpoint и ключ. Способ авторизации, формат адреса, идентификаторы моделей и доступные лимиты ключа у разных шлюзов отличаются, их стоит уточнить в документации своего сервиса. В примерах ниже адрес Caila, для другого шлюза подставьте свой.
1. Заведите отдельный ключ с лимитами
Общий или административный ключ для Claude Code не подходит. Отдельный ключ на человека проще отозвать при утечке, а лимиты сдерживают расходы, если агент уйдет в цикл запросов. Например, тестовый ключ можно оставить только для двух моделей, ограничить 100 рублями в день и автоматически отключить через неделю. Как это настроить в Caila, описано в документации.
2. Проверьте подключение
Для первой проверки достаточно двух переменных:
export ANTHROPIC_BASE_URL="https://caila.io/api/anthropic" export ANTHROPIC_AUTH_TOKEN="<ваш API-ключ>" claude --model sonnet
Внутри Claude Code выполните /status и убедитесь, что клиент видит адрес шлюза, затем дайте короткое поручение, например объяснить функцию из файла. После проверки уберите ключ командой unset ANTHROPIC_AUTH_TOKEN и почистите историю shell: команда export осталась там вместе с ключом.
Если подключение не заработало, чаще всего причина в одном из трех:
401. Шлюзы с bearer-авторизацией ждут ключ в
ANTHROPIC_AUTH_TOKEN, шлюзы с заголовком x-api-key — вANTHROPIC_API_KEY.Unknown model. Идентификатор модели недоступен ключу или указан не в том формате.
Лишний /v1. Клиент дописывает путь сам, поэтому базовый адрес указывается без суффикса.
3. Уберите ключ из открытого текста
Для постоянной работы адрес шлюза можно сохранить в ~/.claude/settings.json, а ключ получать через apiKeyHelper — скрипт, который печатает его из системного хранилища секретов:
{ "env": { "ANTHROPIC_BASE_URL": "https://caila.io/api/anthropic", "CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY": "1" }, "apiKeyHelper": "/Users/you/bin/gateway-key.sh" }
На macOS такой скрипт читает ключ из Keychain:
#!/bin/sh exec security find-generic-password -a "$USER" -s "claude-code-gateway" -w
Ключ один раз добавляется в Keychain Access под именем claude-code-gateway, скрипту выдаются права через chmod +x. На Linux и Windows вместо Keychain подойдет vault или менеджер паролей. Вторая переменная в конфиге включает автообнаружение моделей, которое мы разбирали выше.
4. Включите окно 1M для Sonnet
Окно 1M вмещает не только файлы: в контекст Claude Code входят системные инструкции, история диалога, описания инструментов и резерв под ответ. Поэтому окно 1M не означает, что в каждый запрос можно загрузить целый монорепозиторий.
Для Sonnet с окном 1M можно использовать:
/model sonnet[1m]
или закрепить алиас до запуска:
export ANTHROPIC_DEFAULT_SONNET_MODEL="claude-sonnet-5[1m]" claude --model sonnet
Суффикс [1m] обрабатывает сам Claude Code и снимает его перед запросом к Caila.
После запуска стоит проверить /model и /context.
5. Claude Desktop
Вкладку Code в Claude Desktop тоже можно подключить через шлюз: в режиме разработчика есть настройка Configure Third-Party Inference. Настройки CLI приложение не подхватывает, переменные окружения и apiKeyHelper для него не работают. Со сторонним шлюзом доступны локальные сессии, а SSH, облачные среды Anthropic и Remote Control могут быть недоступны. Для Caila готовая конфигурация лежит в разделе Интеграции → Claude Desktop.
Что проверить перед командным внедрением
Перед тем как переводить команду на Claude Code через шлюз, стоит пройтись по короткому списку. Он собирает в одном месте то, о чем шла речь выше.
Доступ и расходы
У каждого разработчика и приложения свой ключ, а бюджет и срок жизни заданы до первого запроса.
Фоновые задачи закреплены за легкой моделью через
ANTHROPIC_DEFAULT_HAIKU_MODEL.Стоимость сравнили на законченной задаче из вашего проекта, а не на одном запросе.
Модели и совместимость
Каждая выбранная модель прошла сценарии из раздела «Как проверить совместимость» на вашем репозитории.
Кэширование работает: начиная со второго шага, cache_read_input_tokens больше нуля.
Известны SLA, каналы поддержки и то, как маршрут ведет себя при ошибках.
Данные
Понятно, где Caila и внешний провайдер обрабатывают данные, сколько их хранят и как удаляют.
Секреты в модель не уходят, а для персональных данных настроено маскирование.
Когда все пункты закрыты, команду удобно подключать постепенно: сначала двух-трех человек с тестовыми ключами, потом остальных.
P. S. Если хотите обсудить статью, поделиться своей конфигурацией Claude Code или прийти с конкретной ошибкой, заходите в наш чат для разработчиков. Там мы анонсируем эфиры и вебинары, рассказываем о новых возможностях продуктов и разбираем практические кейсы.