У команды уже был биллинг Google Cloud, а Claude Code ориентирован на Anthropic: как вести расчёты через Vertex с локальным шлюзом

Инженерный CLI для кода разговаривает с Anthropic Messages API, а корпоративный бюджет лежит в Google Cloud. В материале на Dev.to автор описывает, как обойтись без отдельного ключа Anthropic и при этом подключить Claude Code к Vertex AI, поставив между инструментом и облаком локальный шлюз CliGate.
Зачем сводить оплату к GCP, если инструмент «ждёт» Anthropic
По описанию автора, у него уже был учёт в Google Cloud; отдельный API-ключ провайдера, лишняя квотная поверхность и разговоры с коллегами о том, почему счёт за ИИ-инструмент разработки приходит «не оттуда», хотелось обойти. Claude Code в том же тексте описывается как клиент под Anthropic Messages API, тогда как оплату хотелось вести именно в контуре Vertex AI. Задача формулируется коротко: «связать это через локальный gateway».
Почему прямой перевод на Vertex не совпадает с ожиданиями CLI
Исходная публикация противопоставляет ожидания Claude Code — в частности POST /v1/messages, заголовки и семантика Anthropic, типы контент-блоков и стриминг в стиле Anthropic, — типичному устройству вызовов Vertex AI. Там же в качестве примеров «другого мира» приводятся пути: publisher endpoint для Claude на Vertex с суффиксом вида .../publishers/anthropic/models/claude-sonnet-4-6:rawPredict и отдельный вызов для Gemini через .../publishers/google/models/gemini-2.5-pro:generateContent. Вывод: нужен посредник, который принимает запросы от Claude Code как есть и уже на своей стороне решает, как общаться с Vertex.
CliGate как локальный посредник между CLI и Vertex
CliGate — локальный gateway; репозиторий проекта: https://github.com/codeking-ai/cligate. Шлюз в этой схеме стоит между Claude Code, Codex CLI, Gemini CLI и несколькими upstream-провайдерами; Vertex AI добавляется как ещё один upstream с API-ключом. Для ключа Vertex перечислены поля type: vertex-ai, projectId, location; для apiKey уточняется, что туда может входить полный JSON сервисного аккаунта Google, а не «обычная строка API-ключа».
Как это запускают и подключают к Claude Code
Без перечисления полного кода из первичного материала, порядок действий там сводится к следующему:
- Запуск шлюза командой
npx cligate@latest start; дашборд по умолчанию —http://localhost:8081. - Добавление Vertex как провайдера ключей через дашборд или
curlнаhttp://localhost:8081/api/keysс JSON, где задаютсяtype,name,apiKey(JSON сервисного аккаунта),projectId,location(в приведённом примере —us-central1). - Настройка Claude Code: переменные окружения
ANTHROPIC_BASE_URL=http://localhost:8081иANTHROPIC_API_KEY=any-key, затем запускclaude, чтобы CLI по-прежнему воспринимал сервер как Anthropic-совместимый.
Модификация самого Claude Code при этом не требуется: он по-прежнему отправляет POST /v1/messages на локальный сервер.
Маршрутизация моделей и практический эффект для команд
CliGate по выбранной модели и провайдеру направляет трафик либо в Vertex Claude rawPredict, либо в мост Anthropic→Gemini на Vertex. Для семейства claude-* сохраняется Anthropic-совместимый стиль на стороне Vertex; для gemini-* выполняется переход к Gemini generateContent. Отдельно подчёркивается роль региона (location): на Vertex разные семейства моделей и publisher-пути ведут себя по-разному, поэтому в конфиге хранятся и projectId, и location.
После такой прокладки Claude Code указывает на http://localhost:8081, фактический биллинг остаётся в контуре Vertex AI, а дашборд даёт логи запросов и видимость провайдеров; модели и провайдеров можно менять без переподключения CLI. Автор противопоставляет это одноразовому wrapper под одну пару инструментов: отдельная обёртка решила бы сегодняшнюю задачу, но «создала бы завтрашний бардак», тогда как gateway позиционируется как единая control plane для нескольких CLI и ключей.
У записи на Dev.to в доступных полях API указаны три публичные реакции и ноль комментариев; число просмотров там же не заполнено. Дата публикации — 9 мая 2026 года, 07:17 UTC; платформа отображает ориентировочное время чтения около четырёх минут.
Юридические и организационные ограничения (включая ToS провайдеров) в обсуждаемом тексте не разбираются; воспроизводить их без отдельной верификации не следует.
Источники
- CodeKingAI. «My Team Had GCP Credits. Claude Code Wanted an Anthropic Key.» Dev.to. URL: Dev.to — дата обращения: 2026-05-09 (UTC). Дата публикации записи: 2026-05-09T07:17:59Z.
- Репозиторий CliGate (ссылка из текста поста на Dev.to): https://github.com/codeking-ai/cligate — дата обращения: 2026-05-09 (UTC).