LLM gateways предоставляют централизованный прокси-слой между Claude Code и поставщиками моделей, часто предоставляя:Documentation Index
Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
- Централизованная аутентификация - Единая точка управления ключами API
- Отслеживание использования - Мониторинг использования в командах и проектах
- Контроль затрат - Реализация бюджетов и ограничений скорости
- Логирование аудита - Отслеживание всех взаимодействий с моделью для соответствия требованиям
- Маршрутизация моделей - Переключение между поставщиками без изменения кода
Требования к шлюзу
Чтобы LLM gateway работал с Claude Code, он должен соответствовать следующим требованиям: Формат API Шлюз должен предоставлять клиентам по крайней мере один из следующих форматов API:-
Anthropic Messages:
/v1/messages,/v1/messages/count_tokens- Должен перенаправлять заголовки запроса:
anthropic-beta,anthropic-version
- Должен перенаправлять заголовки запроса:
-
Bedrock InvokeModel:
/invoke,/invoke-with-response-stream- Должен сохранять поля тела запроса:
anthropic_beta,anthropic_version
- Должен сохранять поля тела запроса:
-
Vertex rawPredict:
:rawPredict,:streamRawPredict,/count-tokens:rawPredict- Должен перенаправлять заголовки запроса:
anthropic-beta,anthropic-version
- Должен перенаправлять заголовки запроса:
Claude Code определяет, какие функции включить, на основе формата API. При использовании формата Anthropic Messages с Bedrock или Vertex может потребоваться установить переменную окружения
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1.| Заголовок | Описание |
|---|---|
X-Claude-Code-Session-Id | Уникальный идентификатор текущего сеанса Claude Code. Прокси могут использовать это для агрегирования всех запросов API из одного сеанса без анализа тела запроса. |
X-Claude-Code-Agent-Id | Идентификатор подагента или товарища по команде, который выполнил запрос. Ваш прокси может использовать это для отнесения затрат на API отдельным параллельным подагентам в рамках сеанса без анализа тела запроса. Присутствует только для запросов, выполненных внутрипроцессным подагентом или товарищем по команде. |
X-Claude-Code-Parent-Agent-Id | Идентификатор агента, который создал агента, выполняющего запрос. Используйте это вместе с X-Claude-Code-Agent-Id для отнесения затрат на API между вложенными агентами в вашем прокси. Присутствует только в том случае, если запрашивающий агент сам был создан другим агентом. |
CLAUDE_CODE_ATTRIBUTION_HEADER=0, чтобы опустить его.
Конфигурация
Выбор модели
По умолчанию Claude Code использует стандартные имена моделей для выбранного формата API. КогдаANTHROPIC_BASE_URL указывает на шлюз, который предоставляет формат Anthropic Messages, Claude Code может запросить конечную точку /v1/models шлюза при запуске и добавить возвращённые модели в средство выбора /model. Установите CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1, чтобы включить это. Обнаружение отключено по умолчанию, чтобы шлюзы, поддерживаемые общим ключом API, не раскрывали каждому пользователю все модели, к которым может получить доступ ключ. Каждая обнаруженная запись помечена как “From gateway” и использует поле display_name из ответа, если оно предоставлено. Это требует Claude Code версии 2.1.129 или более поздней.
Обнаружение применяется только к формату Anthropic Messages. Оно не выполняется для конечных точек Bedrock или Vertex pass-through, и оно не выполняется, когда ANTHROPIC_BASE_URL не установлен или указывает на api.anthropic.com.
Запрос обнаружения аутентифицируется так же, как запросы вывода: он отправляет ANTHROPIC_AUTH_TOKEN как токен bearer, или ANTHROPIC_API_KEY как заголовок x-api-key, когда токен аутентификации не установлен, вместе с любыми заголовками из ANTHROPIC_CUSTOM_HEADERS. Только модели, чьи идентификаторы начинаются с claude или anthropic, добавляются в средство выбора. Результаты кэшируются в ~/.claude/cache/gateway-models.json и обновляются при каждом запуске. Если запрос не удаётся или шлюз не реализует /v1/models, средство выбора возвращается к кэшированному списку из предыдущего запуска или к встроенному списку моделей.
Если ваш шлюз использует имена моделей, которые не соответствуют фильтру обнаружения, используйте переменные окружения, описанные в Конфигурация модели, чтобы добавить их вручную.
Конфигурация LiteLLM
Предварительные требования
- Claude Code обновлен до последней версии
- LiteLLM Proxy Server развернут и доступен
- Доступ к моделям Claude через выбранного поставщика
Базовая настройка LiteLLM
Конфигурация Claude Code:Методы аутентификации
Статический ключ API
Самый простой метод с использованием фиксированного ключа API:Authorization.
Динамический ключ API с помощником
Для ротации ключей или аутентификации для каждого пользователя:- Создайте скрипт помощника ключа API:
- Настройте параметры Claude Code для использования помощника:
- Установите интервал обновления токена:
Authorization и X-Api-Key. apiKeyHelper имеет более низкий приоритет, чем ANTHROPIC_AUTH_TOKEN или ANTHROPIC_API_KEY.
Унифицированная конечная точка (рекомендуется)
Использование конечной точки формата Anthropic LiteLLM:- Балансировка нагрузки
- Резервные варианты
- Последовательная поддержка отслеживания затрат и отслеживания конечного пользователя