2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
3> Use this file to discover all available pages before exploring further.3> Use this file to discover all available pages before exploring further.
4 4
5# Конфигурация LLM gateway5# LLM gateways
6 6
7> Узнайте, как настроить Claude Code для работы с решениями LLM gateway. Охватывает требования к шлюзу, конфигурацию аутентификации, выбор модели и настройку конечных точек для конкретных поставщиков.7> Маршрутизируйте Claude Code через LLM gateway для централизованной аутентификации, отслеживания использования и контроля затрат. Охватывает подключение Claude Code к шлюзу, развертывание шлюза для вашей организации, что Claude Code отправляет на шлюз и как шлюзы взаимодействуют с подписками claude.ai.
8 8
9LLM gateways предоставляют централизованный прокси-слой между Claude Code и поставщиками моделей, часто предоставляя:9LLM gateway — это прокси, который ваша организация запускает между Claude Code и поставщиком модели. Claude Code отправляет трафик API на шлюз, а шлюз перенаправляет его поставщику, используя учетные данные, которыми управляет ваша организация.
10 10
11* **Централизованная аутентификация** - Единая точка управления ключами API11На этой странице рассматриваются:
12* **Отслеживание использования** - Мониторинг использования в командах и проектах
13* **Контроль затрат** - Реализация бюджетов и ограничений скорости
14* **Логирование аудита** - Отслеживание всех взаимодействий с моделью для соответствия требованиям
15* **Маршрутизация моделей** - Переключение между поставщиками без изменения кода
16 12
17На этой странице рассматриваются требования к шлюзу и конфигурация для Claude Code CLI. Развертывания Enterprise Desktop могут настраивать поставщиков шлюза через [управляемые параметры](https://support.claude.com/ru/articles/12622667-enterprise-configuration). Приложение Claude Desktop также может работать с самостоятельно размещенным шлюзом через [Cowork on 3P research preview](https://claude.com/docs/cowork/3p/gateway), который использует свои собственные ключи конфигурации.13* [Что предоставляет шлюз](#what-a-gateway-provides)
18 14* [Как работают маршрутизация и учетные данные](#how-a-gateway-works)
19<h2 id="gateway-requirements">15* [Этапы развертывания](#roll-out-a-gateway)
20 Требования к шлюзу16* [Как шлюзы взаимодействуют с подписками claude.ai](#subscriptions-and-gateways)
21</h2>17* [Что настраивается отдельно от шлюза](#configure-separately-from-the-gateway)
22
23Чтобы LLM gateway работал с Claude Code, он должен соответствовать следующим требованиям:
24
25**Формат API**
26
27Шлюз должен предоставлять клиентам по крайней мере один из следующих форматов API:
28
291. **Anthropic Messages**: `/v1/messages`, `/v1/messages/count_tokens`
30 * Должен перенаправлять заголовки запроса: `anthropic-beta`, `anthropic-version`
31
322. **Bedrock InvokeModel**: `/invoke`, `/invoke-with-response-stream`
33 * Должен сохранять поля тела запроса: `anthropic_beta`, `anthropic_version`
34
353. **Vertex rawPredict**: `:rawPredict`, `:streamRawPredict`, `/count-tokens:rawPredict`
36 * Должен перенаправлять заголовки запроса: `anthropic-beta`, `anthropic-version`
37
38Невозможность перенаправления заголовков или сохранения полей тела может привести к снижению функциональности или невозможности использования функций Claude Code.
39 18
40<Note>19<Note>
41 Claude Code определяет, какие функции включить, на основе формата API. При использовании формата Anthropic Messages с Bedrock или Vertex может потребоваться установить переменную окружения `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`.20 - Если вы разработчик, подключающийся к существующему шлюзу: [подключите Claude Code к вашему шлюзу](/ru/llm-gateway-connect)
21 - Если вы администратор, развертывающий шлюз для вашей организации: [разверните и распределите шлюз](/ru/llm-gateway-rollout)
22 - Если вы настраиваете продукт шлюза: [справочник протокола шлюза](/ru/llm-gateway-protocol)
42</Note>23</Note>
43 24
44**Заголовки запроса**25<h2 id="what-a-gateway-provides">
45 26 Что предоставляет шлюз
46Claude Code включает следующие заголовки в каждый запрос API:
47
48| Заголовок | Описание |
49| :------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
50| `X-Claude-Code-Session-Id` | Уникальный идентификатор текущего сеанса Claude Code. Прокси могут использовать это для агрегирования всех запросов API из одного сеанса без анализа тела запроса. |
51| `X-Claude-Code-Agent-Id` | Идентификатор подагента или товарища по команде, который выполнил запрос. Ваш прокси может использовать это для отнесения затрат на API отдельным параллельным подагентам в рамках сеанса без анализа тела запроса. Присутствует только для запросов, выполненных внутрипроцессным подагентом или товарищем по команде. |
52| `X-Claude-Code-Parent-Agent-Id` | Идентификатор агента, который создал агента, выполняющего запрос. Используйте это вместе с `X-Claude-Code-Agent-Id` для отнесения затрат на API между вложенными агентами в вашем прокси. Присутствует только в том случае, если запрашивающий агент сам был создан другим агентом. |
53
54Оба заголовка идентификатора агента являются эфемерными идентификаторами для каждого создания, а не постоянными идентификаторами пользователя или устройства.
55
56Claude Code также добавляет короткий блок атрибуции в системный запрос, содержащий версию клиента и отпечаток, полученный из разговора. API Anthropic удаляет этот блок перед обработкой, поэтому он не влияет на кэширование запросов первой стороны. Если ваш шлюз реализует собственный кэш запросов, основанный на полном теле запроса, установите [`CLAUDE_CODE_ATTRIBUTION_HEADER=0`](/ru/env-vars), чтобы опустить его.
57
58<h2 id="configuration">
59 Конфигурация
60</h2>27</h2>
61 28
62<h3 id="model-selection">29Шлюз дает вашей организации одно место для управления:
63 Выбор модели
64</h3>
65
66По умолчанию Claude Code использует стандартные имена моделей для выбранного формата API.
67 30
68Когда `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 или более поздней.31* **Учетные данные**: ключ поставщика остается на стороне сервера; разработчики вместо этого используют учетные данные шлюза
32* **Отслеживание использования**: атрибутируйте использование по разработчику или команде, независимо от того, какой поставщик обслуживает запрос
33* **Контроль затрат**: применяйте бюджеты и ограничения скорости в одном месте
34* **Логирование аудита**: логируйте каждый запрос модели для соответствия требованиям
35* **Переключение поставщика**: измените поставщика в конфигурации шлюза, не трогая машины разработчиков
69 36
70Обнаружение применяется только к формату Anthropic Messages. Оно не выполняется для конечных точек Bedrock или Vertex pass-through, и оно не выполняется, когда `ANTHROPIC_BASE_URL` не установлен или указывает на `api.anthropic.com`.37Все эти функции, кроме переключения поставщика, применяются независимо от того, является ли upstream API Anthropic или [облачный поставщик](/ru/third-party-integrations).
71 38
72Запрос обнаружения аутентифицируется так же, как запросы вывода: он отправляет `ANTHROPIC_AUTH_TOKEN` как токен bearer, или `ANTHROPIC_API_KEY` как заголовок `x-api-key`, когда токен аутентификации не установлен, вместе с любыми заголовками из `ANTHROPIC_CUSTOM_HEADERS`. Только модели, чьи идентификаторы начинаются с `claude` или `anthropic`, добавляются в средство выбора. Результаты кэшируются в `~/.claude/cache/gateway-models.json` и обновляются при каждом запуске. Если запрос не удаётся или шлюз не реализует `/v1/models`, средство выбора возвращается к кэшированному списку из предыдущего запуска или к встроенному списку моделей.39Компромисс заключается в том, что шлюз становится инфраструктурой, которую управляет ваша организация. Claude Code добавляет возможности с каждым выпуском, и шлюз, который не перенаправляет их, нарушает соответствующие функции, поэтому продукт шлюза должен быть обновлен по мере развития Claude Code. [Справочник протокола шлюза](/ru/llm-gateway-protocol) охватывает то, что нужно перенаправлять.
73 40
74Если ваш шлюз использует имена моделей, которые не соответствуют фильтру обнаружения, используйте переменные окружения, описанные в [Конфигурация модели](/ru/model-config), чтобы добавить их вручную.41<h2 id="how-a-gateway-works">
75 42 Как работает шлюз
76<h2 id="litellm-configuration">
77 Конфигурация LiteLLM
78</h2>43</h2>
79 44
80<Warning>45По умолчанию Claude Code отправляет запросы непосредственно на API Anthropic по адресу `api.anthropic.com`. Чтобы маршрутизировать через шлюз, установите `ANTHROPIC_BASE_URL` на адрес шлюза; Claude Code отправляет туда же запросы. Шлюз аутентифицирует разработчика, прикрепляет учетные данные поставщика вашей организации и перенаправляет каждый запрос поставщику, для которого он настроен.
81 LiteLLM версии PyPI 1.82.7 и 1.82.8 были скомпрометированы вредоносным ПО для кражи учетных данных. Не устанавливайте эти версии. Если вы уже установили их:
82
83 * Удалите пакет
84 * Измените все учетные данные на затронутых системах
85 * Следуйте шагам восстановления в [BerriAI/litellm#24518](https://github.com/BerriAI/litellm/issues/24518)
86
87 LiteLLM - это сторонний прокси-сервис. Anthropic не одобряет, не поддерживает и не проверяет безопасность или функциональность LiteLLM. Это руководство предоставляется в информационных целях и может устаревать. Используйте на свой риск.
88</Warning>
89
90<h3 id="prerequisites">
91 Предварительные требования
92</h3>
93
94* Claude Code обновлен до последней версии
95* LiteLLM Proxy Server развернут и доступен
96* Доступ к моделям Claude через выбранного поставщика
97
98<h3 id="basic-litellm-setup">
99 Базовая настройка LiteLLM
100</h3>
101
102**Конфигурация Claude Code**:
103
104<h4 id="authentication-methods">
105 Методы аутентификации
106</h4>
107 46
108<h5 id="static-api-key">47`ANTHROPIC_BASE_URL` — это переменная адреса для большинства шлюзов. Шлюз, который находится перед конкретным облачным поставщиком, таким как Bedrock, Vertex, Foundry или Claude Platform на AWS, использует переменную базового URL этого поставщика; [Форматы API](/ru/llm-gateway-protocol#api-formats) указывает, какая переменная идет с каждой конфигурацией.
109 Статический ключ API
110</h5>
111 48
112Самый простой метод с использованием фиксированного ключа API:49<Frame>
50 <img src="https://mintcdn.com/claude-code/zIcIE_SQv4Z0Zbhc/images/llm-gateway-flow.svg?fit=max&auto=format&n=zIcIE_SQv4Z0Zbhc&q=85&s=490607d033d235694efb49a73a5b9e4b" alt="Диаграмма, показывающая маршрутизацию Claude Code через LLM gateway. В зоне машин разработчиков Claude Code CLI, расширение VS Code и клиенты CI или Agent SDK отправляют запросы на шлюз, с переменной базового URL для формата API шлюза, указывающей на него, и каждый разработчик держит учетные данные для каждого разработчика, а настольное приложение достигает того же шлюза через конфигурацию, распределенную организацией. В зоне, обозначенной как ваша инфраструктура, LLM gateway обрабатывает аутентификацию, отслеживание использования, бюджеты и маршрутизацию, и перенаправляет запросы с учетными данными вашей организации. В зоне поставщиков моделей сплошная стрелка ведет к поставщику, который вы настраиваете, показанному как API Anthropic, и пунктирные стрелки ведут к другим вариантам поставщика, проиллюстрированным Amazon Bedrock, Google Vertex AI и Microsoft Foundry в качестве примеров." width="780" height="322" data-path="images/llm-gateway-flow.svg" />
51</Frame>
113 52
114```bash theme={null}53Задействованы два вида учетных данных:
115# Установить в окружении
116export ANTHROPIC_AUTH_TOKEN=sk-litellm-static-key
117 54
118# Или в настройках Claude Code55* **Учетные данные разработчика**: каждый разработчик держит свои собственные, выданные шлюзом. Они аутентифицируют его на шлюзе и идентифицируют его при отслеживании использования
119{56* **Учетные данные поставщика**: шлюз держит одно учетное данные для вашей учетной записи поставщика, используемое всем перенаправленным трафиком. Вы не предоставляете ключи поставщика для каждого разработчика
120 "env": {
121 "ANTHROPIC_AUTH_TOKEN": "sk-litellm-static-key"
122 }
123}
124```
125 57
126Это значение будет отправлено как заголовок `Authorization`.58Шлюз перенаправляет каждый запрос поставщику, который вы настраиваете, такому как API Anthropic, [Amazon Bedrock](/ru/amazon-bedrock), [Google Vertex AI](/ru/google-vertex-ai), [Microsoft Foundry](/ru/microsoft-foundry) или [Claude Platform на AWS](/ru/claude-platform-on-aws). Поскольку Claude Code разговаривает только со шлюзом, выбор поставщика — это конфигурация шлюза, а не клиента.
127 59
128<h5 id="dynamic-api-key-with-helper">60<h2 id="roll-out-a-gateway">
129 Динамический ключ API с помощником61 Развертывание шлюза
130</h5>62</h2>
131
132Для ротации ключей или аутентификации для каждого пользователя:
133
1341. Создайте скрипт помощника ключа API:
135
136```bash theme={null}
137#!/bin/bash
138# ~/bin/get-litellm-key.sh
139
140# Пример: Получить ключ из хранилища
141vault kv get -field=api_key secret/litellm/claude-code
142
143# Пример: Сгенерировать JWT токен
144jwt encode \
145 --secret="${JWT_SECRET}" \
146 --exp="+1h" \
147 '{"user":"'${USER}'","team":"engineering"}'
148```
149
1502. Настройте параметры Claude Code для использования помощника:
151
152```json theme={null}
153{
154 "apiKeyHelper": "~/bin/get-litellm-key.sh"
155}
156```
157
1583. Установите интервал обновления токена:
159
160```bash theme={null}
161# Обновлять каждый час (3600000 мс)
162export CLAUDE_CODE_API_KEY_HELPER_TTL_MS=3600000
163```
164
165Это значение будет отправлено как заголовки `Authorization` и `X-Api-Key`. `apiKeyHelper` имеет более низкий приоритет, чем `ANTHROPIC_AUTH_TOKEN` или `ANTHROPIC_API_KEY`.
166
167<h4 id="unified-endpoint-recommended">
168 Унифицированная конечная точка (рекомендуется)
169</h4>
170
171Использование [конечной точки формата Anthropic](https://docs.litellm.ai/docs/anthropic_unified) LiteLLM:
172
173```bash theme={null}
174export ANTHROPIC_BASE_URL=https://litellm-server:4000
175```
176
177**Преимущества унифицированной конечной точки над сквозными конечными точками:**
178
179* Балансировка нагрузки
180* Резервные варианты
181* Последовательная поддержка отслеживания затрат и отслеживания конечного пользователя
182
183<h4 id="provider-specific-pass-through-endpoints-alternative">
184 Конечные точки сквозного прохода для конкретных поставщиков (альтернатива)
185</h4>
186
187<h5 id="claude-api-through-litellm">
188 Claude API через LiteLLM
189</h5>
190
191Использование [сквозной конечной точки](https://docs.litellm.ai/docs/pass_through/anthropic_completion):
192 63
193```bash theme={null}64Когда вы готовы развернуть LLM gateway для вашей организации, последовательность одинакова независимо от того, какой продукт шлюза вы выберете:
194export ANTHROPIC_BASE_URL=https://litellm-server:4000/anthropic
195```
196 65
197<h5 id="amazon-bedrock-through-litellm">661. Разверните шлюз и дайте ему учетные данные вашего поставщика, чтобы он мог аутентифицировать запросы, которые он перенаправляет.
198 Amazon Bedrock через LiteLLM672. Выдайте каждому разработчику учетные данные шлюза, чтобы использование было отнесено разработчику и отключение отзывает одно учетное данные.
199</h5>683. Распределите конфигурацию через [управляемый файл параметров](/ru/settings#settings-files) и ваши инструменты управления секретами, чтобы каждая машина получила базовый URL и учетные данные. Когда оба распределены, разработчики ничего не настраивают. Если у вас нет распределения параметров, разработчики следуют [странице подключения](/ru/llm-gateway-connect), чтобы установить переменные самостоятельно.
694. Попросите каждого разработчика [проверить конфигурацию в Claude Code](/ru/llm-gateway-connect#check-for-an-existing-configuration), чтобы проблемы распределения выявились до того, как они будут зависеть от шлюза.
200 70
201Использование [сквозной конечной точки](https://docs.litellm.ai/docs/pass_through/bedrock):71[Развертывание LLM gateway для вашей организации](/ru/llm-gateway-rollout) проходит каждый шаг и показывает файлы конфигурации для распределения на каждом. Шлюз — это одна часть организационной настройки; для применения политики, видимости использования и решений по обработке данных см. [Настройка Claude Code для вашей организации](/ru/admin-setup).
202 72
203```bash theme={null}73<h2 id="third-party-gateways">
204export ANTHROPIC_BEDROCK_BASE_URL=https://litellm-server:4000/bedrock74 Шлюзы третьих сторон
205export CLAUDE_CODE_SKIP_BEDROCK_AUTH=175</h2>
206export CLAUDE_CODE_USE_BEDROCK=1
207```
208 76
209<h5 id="google-vertex-ai-through-litellm">77Любой шлюз, который предоставляет [поддерживаемый формат API](/ru/llm-gateway-protocol#api-formats), работает. Anthropic не одобряет, не поддерживает и не проверяет продукты шлюзов третьих сторон. Разверните их, следуя их собственной документации, затем завершите сторону Claude Code развертывания с помощью [этапов развертывания](/ru/llm-gateway-rollout).
210 Google Vertex AI через LiteLLM
211</h5>
212 78
213Использование [сквозной конечной точки](https://docs.litellm.ai/docs/pass_through/vertex_ai):79<h2 id="subscriptions-and-gateways">
80 Подписки и шлюзы
81</h2>
214 82
215```bash theme={null}83Пока активна [переменная учетных данных шлюза](/ru/llm-gateway-connect#set-the-credential-variable) или `apiKeyHelper`, подписка claude.ai разработчика не используется: учетные данные заменяют вход подписки для этого сеанса, и ограничения использования подписки не применяются. Этот трафик выставляется счетом за токен тому, кто владеет учетными данными, которые перенаправляет шлюз, например вашей учетной записи Anthropic Console организации или вашей учетной записи Bedrock, Vertex или Foundry, когда шлюз маршрутизирует туда.
216export ANTHROPIC_VERTEX_BASE_URL=https://litellm-server:4000/vertex_ai/v1
217export ANTHROPIC_VERTEX_PROJECT_ID=your-gcp-project-id
218export CLAUDE_CODE_SKIP_VERTEX_AUTH=1
219export CLAUDE_CODE_USE_VERTEX=1
220export CLOUD_ML_REGION=us-east5
221```
222 84
223<h5 id="claude-platform-on-aws-through-a-gateway">85Установка только `ANTHROPIC_BASE_URL` без учетных данных шлюза не заменяет подписку. Запросы по-прежнему маршрутизируются через шлюз, но сохраненный вход claude.ai остается активным учетным данным, поэтому применяются его ограничения использования и выставление счетов. Шлюзы, которые передают этот трафик на Anthropic, должны перенаправлять возможность OAuth в `anthropic-beta`; см. [справочник заголовков запроса](/ru/llm-gateway-protocol#request-headers).
224 Claude Platform on AWS через шлюз
225</h5>
226 86
227Маршрутизация на шлюз, который перенаправляет на конечную точку [Claude Platform on AWS](/ru/claude-platform-on-aws):87<h2 id="configure-separately-from-the-gateway">
88 Настройка отдельно от шлюза
89</h2>
228 90
229```bash theme={null}91Шлюз определяет, куда отправляются запросы API модели. Выбор модели, остальной трафик сети Claude Code и корпоративные прокси настраиваются отдельно:
230export ANTHROPIC_AWS_BASE_URL=https://litellm-server:4000/anthropic-aws
231export ANTHROPIC_AWS_WORKSPACE_ID=wrkspc_01ABCDEFGHIJKLMN
232export CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH=1
233export CLAUDE_CODE_USE_ANTHROPIC_AWS=1
234```
235 92
236Для получения более подробной информации обратитесь к [документации LiteLLM](https://docs.litellm.ai/).93* **Выбор модели**: базовый URL определяет, куда идут запросы, а не какая модель отвечает. Выберите модель с помощью команды `/model` или переменных окружения модели; см. [как установить вашу модель](/ru/model-config#setting-your-model)
94* **Трафик на стороне клиента**: проверки версии и дополнительная телеметрия клиента, обе отключены с помощью [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/ru/env-vars), и трафик входа при использовании входа claude.ai или Console идут на конечные точки обновления и аутентификации Anthropic, а не на шлюз. См. [требования доступа в сеть](/ru/network-config#network-access-requirements) для доменов
95* **Корпоративные прокси**: прокси, установленный с помощью `HTTPS_PROXY`, находится между Claude Code и каждым сервером, с которым он разговаривает, включая шлюз. Если ваша сеть требует прокси, настройте оба; см. [конфигурация прокси](/ru/network-config#proxy-configuration)
237 96
238<h2 id="additional-resources">97<h2 id="related-pages">
239 Дополнительные ресурсы98 Связанные страницы
240</h2>99</h2>
241 100
242* [Документация LiteLLM](https://docs.litellm.ai/)101* [Подключение Claude Code к LLM gateway](/ru/llm-gateway-connect): установите базовый URL и учетные данные на вашей собственной машине, с конфигурацией для каждой поверхности и таблицей устранения неполадок
243* [Параметры Claude Code](/ru/settings)102* [Развертывание LLM gateway для вашей организации](/ru/llm-gateway-rollout): контрольный список администратора для развертывания шлюза, выдачи учетных данных разработчика и распределения управляемых параметров
244* [Конфигурация корпоративной сети](/ru/network-config)103* [Справочник протокола шлюза](/ru/llm-gateway-protocol): что Claude Code отправляет на шлюз, для операторов, настраивающих его, охватывающий конечные точки, заголовки для перенаправления и передачу функций
245* [Обзор интеграций третьих сторон](/ru/third-party-integrations)104* [Настройка Claude Code для вашей организации](/ru/admin-setup): более широкие решения развертывания, частью которых является шлюз, включая применение политики и видимость использования