# AI-агенты для программирования и harness - GateLLM

> Подключите Claude Code, Codex CLI, OpenClaw, Cline, Cursor, Zed, Goose, Aider и ещё 25+ агентов для программирования к GateLLM — базовый URL, цель конфигурации и подводный камень каждого harness в одном месте.

Канонический URL: https://www.gatellm.io/ru/coding-agents/

## AI-агенты для программирования и harness
Направьте Claude Code, Codex CLI, OpenClaw, Cline, Cursor и ещё 25+ агентов для программирования на шлюз одинаковыми тремя шагами — с точной целью конфигурации и именами ключей для каждого.
Каждый AI-агент для программирования читает базовый URL и API-ключ откуда-то — из переменной окружения, файла конфигурации или панели настроек. На этой странице перечислено, откуда каждый harness берёт их, на каком протоколе он говорит и какой один подводный камень действительно сбивает людей с толку. Полные готовые конфигурации для копирования — в документации.
## Как назвать модель шлюза
Некоторые harness фиксируют собственный ID модели и отправляют его дословно. Если ваша модель в шлюзе называется иначе, первый вызов вернёт 404. Два способа согласовать:
Назовите модель шлюза точно так, как её запрашивает harness, — без дополнительной конфигурации.
Или переопределите harness, чтобы он использовал имя вашей модели в шлюзе, через переменную окружения модели (например, ANTHROPIC_MODEL).
## Направьте любого AI-агента для программирования на шлюз
```
# Every agent is one base_url + one access key away
export ANTHROPIC_BASE_URL="https://your-gateway.gatellm.io"   # Anthropic agents: root (no /v1)
export ANTHROPIC_API_KEY="<gateway access key>"

export OPENAI_API_BASE="https://your-gateway.gatellm.io/v1"   # OpenAI-compatible agents: /v1
export OPENAI_API_KEY="<gateway access key>"

# Codex CLI (~/.codex/config.toml) speaks the Responses protocol
# [model_providers.gatellm]
# base_url = "https://your-gateway.gatellm.io/v1"
# wire_api = "responses"
```
### `Authorization: Bearer <key>`
- SDK / фреймворк: OpenAI · DashScope · универсально
- Префикс Bearer без учёта регистра

### `x-api-key: <key>`
- SDK / фреймворк: Anthropic SDK
- Authorization также принимается

### `x-goog-api-key: <key>`
- SDK / фреймворк: Gemini SDK
- Authorization также принимается

## Матрица совместимости harness

### Терминальные агенты
Claude Code, Codex CLI, Gemini CLI, OpenClaw, opencode, Crush, Droid, Goose, Aider, Qwen Code, OpenHands, Kimi Code, Plandex, SWE-agent, Grok Build, Mistral Vibe, MiMo Code, ForgeCode, Codebuff
| Harness | Протокол | Поддержка | Цель конфигурации | Имена ключей / настройки | Документация |
| --- | --- | --- | --- | --- | --- |
| Claude Code | Anthropic | Нативно | env vars | ANTHROPIC_BASE_URL, ANTHROPIC_API_KEY, ANTHROPIC_MODEL | https://docs.gatellm.io/en/quickstart/claude-code-via-gateway |
| Codex CLI | OpenAI Responses | Нативно | ~/.codex/config.toml | base_url, env_key, wire_api | https://docs.gatellm.io/en/reference/clients-and-gateway-diffs |
| Gemini CLI | Gemini | Нативно | env vars | GOOGLE_GEMINI_BASE_URL, GEMINI_API_KEY | https://docs.gatellm.io/en/reference/clients-and-gateway-diffs |
| OpenClaw | OpenAI / Anthropic-compatible | OpenAI-compatible | openclaw.json | models.providers.<id>.baseUrl, models.providers.<id>.apiKey | https://docs.gatellm.io/en/quickstart/anthropic-interop |
| opencode | OpenAI-compatible | OpenAI-compatible | opencode.json | provider.<id>.options.baseURL | https://docs.gatellm.io/en/quickstart/openai-compatible |
| Crush | OpenAI / Anthropic-compatible | OpenAI-compatible | crush.json | providers.<id>.base_url, providers.<id>.type | https://docs.gatellm.io/en/quickstart/openai-compatible |
| Factory Droid | OpenAI / Anthropic-compatible | OpenAI-compatible | ~/.factory/settings.json | customModels[].baseUrl, customModels[].provider | https://docs.gatellm.io/en/quickstart/openai-compatible |
| Goose | OpenAI-compatible | OpenAI-compatible | env vars | OPENAI_HOST, OPENAI_BASE_PATH, OPENAI_API_KEY | https://docs.gatellm.io/en/quickstart/openai-compatible |
| Aider | OpenAI-compatible (LiteLLM) | OpenAI-compatible | env vars | OPENAI_API_BASE | https://docs.gatellm.io/en/quickstart/openai-compatible |
| Qwen Code | OpenAI-compatible | OpenAI-compatible | env vars | OPENAI_BASE_URL, OPENAI_API_KEY, OPENAI_MODEL | https://docs.gatellm.io/en/quickstart/openai-compatible |
| OpenHands | OpenAI-compatible (LiteLLM) | OpenAI-compatible | ~/.openhands/settings.json | base_url, model openai/ prefix | https://docs.gatellm.io/en/quickstart/openai-compatible |
| Kimi Code CLI | OpenAI / Anthropic | OpenAI-compatible | config.toml | providers | https://docs.gatellm.io/en/quickstart/openai-compatible |
| Plandex | OpenAI-compatible | OpenAI-compatible | custom models JSON | baseUrl | https://docs.gatellm.io/en/quickstart/openai-compatible |
| SWE-agent | OpenAI-compatible (LiteLLM) | OpenAI-compatible | env vars | OPENAI_BASE_URL | https://docs.gatellm.io/en/quickstart/openai-compatible |
| Grok Build | OpenAI-compatible | OpenAI-compatible | config.toml | custom models | https://docs.gatellm.io/en/quickstart/openai-compatible |
| Mistral Vibe | OpenAI-compatible | OpenAI-compatible | ~/.vibe/config.toml | providers | https://docs.gatellm.io/en/quickstart/openai-compatible |
| MiMo Code | OpenAI-compatible | OpenAI-compatible | /connect custom provider | base URL, API key | https://docs.gatellm.io/en/quickstart/openai-compatible |
| ForgeCode | OpenAI / Anthropic | OpenAI-compatible | setup wizard | base URL | https://docs.gatellm.io/en/quickstart/openai-compatible |
| Codebuff | OpenAI-compatible | OpenAI-compatible | settings | base URL, API key | https://docs.gatellm.io/en/quickstart/openai-compatible |

### IDE и расширения
Cline, Roo Code, Kilo Code, Continue, Zed, Cursor, Windsurf, GitHub Copilot (BYOK)
| Harness | Протокол | Поддержка | Цель конфигурации | Имена ключей / настройки | Документация |
| --- | --- | --- | --- | --- | --- |
| Cline | OpenAI-compatible | OpenAI-compatible | Settings → OpenAI Compatible | Base URL, API Key, Model ID | https://docs.gatellm.io/en/quickstart/openai-compatible |
| Roo Code | OpenAI-compatible | OpenAI-compatible | Settings → OpenAI Compatible | Base URL, API Key, Model ID | https://docs.gatellm.io/en/quickstart/openai-compatible |
| Kilo Code | OpenAI-compatible | OpenAI-compatible | Settings → OpenAI Compatible | Base URL, API Key, Model ID | https://docs.gatellm.io/en/quickstart/openai-compatible |
| Continue | OpenAI-compatible | OpenAI-compatible | config.yaml | models[].apiBase | https://docs.gatellm.io/en/quickstart/openai-compatible |
| Zed | OpenAI-compatible | OpenAI-compatible | settings.json | language_models.openai_compatible.<id>.api_url | https://docs.gatellm.io/en/quickstart/openai-compatible |
| Cursor | OpenAI | Частично | Settings → Models → Override OpenAI Base URL | Override OpenAI Base URL | https://docs.gatellm.io/en/quickstart/openai-compatible |
| Windsurf | OpenAI-compatible | OpenAI-compatible | Settings → Models → BYOK / custom | Base URL, API Key | https://docs.gatellm.io/en/quickstart/openai-compatible |
| GitHub Copilot (BYOK) | OpenAI-compatible | OpenAI-compatible | Manage Models → OpenAI-compatible | Base URL, API Key | https://docs.gatellm.io/en/quickstart/openai-compatible |

### Управляемые платформы
Warp (только ключи BYOK), Amazon Q Developer CLI, Devin — endpoint фиксирован или не переопределяется
| Harness | Протокол | Поддержка | Цель конфигурации | Имена ключей / настройки | Документация |
| --- | --- | --- | --- | --- | --- |
| Warp | OpenAI / Anthropic / Gemini (BYOK) | Частично | Settings → BYOK | BYOK API keys | https://docs.gatellm.io/en/reference/supported-models-and-sdks |
| Amazon Q Developer CLI | MCP | Без пользовательского endpoint | MCP server | — | https://docs.gatellm.io/en/reference/supported-models-and-sdks |
| Devin | — | Без пользовательского endpoint | — | — | https://docs.gatellm.io/en/reference/supported-models-and-sdks |

## Подводные камни
### Harness фиксирует свой ID модели
Claude Code отправляет настроенное по умолчанию значение (например, claude-opus-5 или claude-sonnet-5), а не имя в вашем шлюзе. Либо назовите модель шлюза точно так, как её запрашивает harness, либо задайте его переменную окружения модели (например, ANTHROPIC_MODEL) равной имени в шлюзе. Несовпадение → 404 model_not_found на первом сообщении.

### Harness с протоколом Anthropic принимают корень, а не /v1
Базовый URL для клиентов в стиле Anthropic указывает на корень шлюза (без /v1) — клиент сам добавляет /v1/messages. Если добавить /v1, сегмент пути удвоится.

### Пользовательским провайдерам Codex нужен wire_api="responses"
Codex CLI требует wire_api = "responses" для блока [model_providers.*]. Шлюз нативно реализует /v1/responses — направьте на него base_url и задайте env_key с ключом доступа к шлюзу.

### Harness на базе LiteLLM ожидают префикс openai/ у модели
Aider, OpenHands и SWE-agent работают через LiteLLM: задайте OPENAI_API_BASE равным шлюзу и добавьте модели префикс openai/ (например, openai/gateway-model-name), чтобы LiteLLM маршрутизировал её как OpenAI-compatible endpoint.

### По умолчанию используется OAuth подписки, а не ваш ключ
Codex, Gemini CLI и Qwen Code по умолчанию используют OAuth / вход по подписке производителя. Чтобы направить трафик через шлюз, нужно переключиться на аутентификацию по API-ключу (явно задать ключ и базовый URL) — иначе агент полностью обходит шлюз.

### IDE выводят поддержку инструментов и зрения из ID модели
Cline / Roo / Kilo и другие определяют поддержку вызова инструментов и работы с изображениями по имени модели. Пользовательское имя шлюза может отключить вызов функций — если вызовы инструментов не работают, проверьте правила определения возможностей клиента или назовите модель так, чтобы она совпадала с известным семейством.

### Долгий инференс добавляет :keep-alive и _gateway_warning
Во время долгого инференса upstream шлюз выдаёт строки-комментарии SSE :keep-alive (безвредны — пропускайте строки, начинающиеся с :), а при разрыве посреди потока вставляет поле _gateway_warning вместо ошибки, чтобы такие harness, как Claude Code, не прерывали весь диалог.

### Автоматический режим Claude Code: решите, кто выносит вердикт о безопасности
В автоматическом режиме Claude Code ожидает вердикт со стороны сервера (поле safeguards в запросе) перед потенциально опасным действием. Если upstream — официальный Anthropic, вердикт формируется внутри того же запроса, и шлюз передаёт его без изменений. Если upstream — третья сторона, которая игнорирует это поле, вердикт выносит шлюз — и заводская настройка по умолчанию (allow_all) разрешает любое действие, что мягче, чем не вмешиваться вовсе. Верните маршрут upstream, записав "anthropic_server_safeguards": "upstream" в extra_config этого upstream; настройка в консоли доступна только администраторам.

## FAQ
### Можно ли использовать Claude Code через GateLLM?
Да — задайте ANTHROPIC_BASE_URL равным корню шлюза (без /v1), а ANTHROPIC_API_KEY — ключом доступа к шлюзу. Назовите модель шлюза точно тем ID, который запрашивает Claude Code (например, claude-opus-5 или claude-sonnet-5), либо согласуйте через ANTHROPIC_MODEL.
### Как направить Codex CLI на шлюз?
В ~/.codex/config.toml добавьте блок [model_providers.<id>] с base_url = "https://your-gateway.gatellm.io/v1", env_key, указывающим на переменную с ключом доступа, и wire_api = "responses" — шлюз нативно реализует /v1/responses.
### Какие агенты для программирования не могут использовать пользовательский endpoint?
Размещённые платформы вроде Devin и Amazon Q Developer CLI не предоставляют пользовательский базовый URL, поэтому их нельзя направить через шлюз. Warp поддерживает ключи BYOK, но фиксирует endpoint на официальных провайдерах. Всё остальное здесь принимает переопределение базового URL.
### Работают ли расширения IDE (Cline / Roo / Kilo)?
Да — выберите в настройках провайдера «OpenAI Compatible», вставьте URL шлюза с /v1, ключ доступа и имя модели. Следите за определением возможностей: некоторые выводят поддержку вызова инструментов из ID модели.
### Почему имя модели так важно?
Harness отправляют фиксированный ID модели — либо свой по умолчанию, либо ваше настроенное имя. Шлюз маршрутизирует по этой точной строке, поэтому несовпадение — это 404 model_not_found, а не опечатка, которую можно игнорировать.
### А как насчёт агентов на базе LiteLLM (Aider / OpenHands / SWE-agent)?
Они читают OPENAI_API_BASE и хотят префикс openai/ в имени модели, чтобы LiteLLM считал шлюз OpenAI-compatible endpoint.

## Связанные страницы
- [Главная](https://www.gatellm.io/ru/index.md)
- [Тарифы](https://www.gatellm.io/ru/pricing.md)
- [Калькулятор стоимости LLM](https://www.gatellm.io/ru/calculator.md)
- [О нас](https://www.gatellm.io/ru/about.md)
- [Заказать демо](https://www.gatellm.io/ru/demo.md)
- [FAQ](https://www.gatellm.io/ru/faq.md)
- [Сравнить AI-шлюзы](https://www.gatellm.io/ru/compare.md)
- [Сравнить LiteLLM](https://www.gatellm.io/ru/compare/litellm.md)
- [Сравнить OpenRouter](https://www.gatellm.io/ru/compare/openrouter.md)
- [Сравнить Alibaba Cloud AI Gateway](https://www.gatellm.io/ru/compare/alibaba-cloud.md)
- [Сравнить Azure API Management](https://www.gatellm.io/ru/compare/azure-apim.md)
- [Сравнить Apigee](https://www.gatellm.io/ru/compare/apigee.md)
- [Сравнить Cloudflare AI Gateway](https://www.gatellm.io/ru/compare/cloudflare.md)
- [Сравнить Kong AI Gateway](https://www.gatellm.io/ru/compare/kong.md)
- [Сравнить Portkey](https://www.gatellm.io/ru/compare/portkey.md)
- [LiteLLM vs Kong AI Gateway](https://www.gatellm.io/ru/compare/litellm-vs-kong.md)
- [LiteLLM vs OpenRouter](https://www.gatellm.io/ru/compare/litellm-vs-openrouter.md)
- [LiteLLM vs Portkey](https://www.gatellm.io/ru/compare/litellm-vs-portkey.md)
- [Сценарии использования](https://www.gatellm.io/ru/use-cases.md)
- [Снижение затрат на LLM](https://www.gatellm.io/ru/use-cases/reduce-cost.md)
- [Высокая доступность](https://www.gatellm.io/ru/use-cases/high-availability.md)
- [Мультитенантная изоляция](https://www.gatellm.io/ru/use-cases/multi-tenant.md)
- [Комплаенс и аудит](https://www.gatellm.io/ru/use-cases/compliance-audit.md)
- [Диагностика по симптомам](https://www.gatellm.io/ru/use-cases/troubleshooting.md)
- [Смешанный стек моделей от разных поставщиков](https://www.gatellm.io/ru/use-cases/mixed-model-stack.md)
- [ИИ в собственном контуре внутри Office](https://www.gatellm.io/ru/use-cases/self-hosted-office-ai.md)
- [Видимость и атрибуция использования токенов](https://www.gatellm.io/ru/use-cases/token-ops.md)
- [Token FinOps: распределение и контроль затрат на ИИ](https://www.gatellm.io/ru/use-cases/token-finops.md)
- [Управление инструментами MCP](https://www.gatellm.io/ru/use-cases/mcp-tool-governance.md)
- [Веб-поиск для всех моделей](https://www.gatellm.io/ru/use-cases/web-search-grounding.md)
- [Ротация и резерв нескольких ключей](https://www.gatellm.io/ru/use-cases/multi-key-pooling.md)
- [Контроль доступа подключённых клиентов](https://www.gatellm.io/ru/use-cases/client-admission-control.md)
- [Принудительная политика использования моделей](https://www.gatellm.io/ru/use-cases/enforce-model-policy.md)
- [Без выбора модели на клиенте](https://www.gatellm.io/ru/use-cases/automatic-model-tiering.md)
- [Один протокол — любая модель](https://www.gatellm.io/ru/use-cases/one-protocol-any-model.md)
- [Надстройка Office / Microsoft 365](https://www.gatellm.io/ru/office-addin.md)
- [Глоссарий](https://www.gatellm.io/ru/glossary.md)
- [Каталог моделей](https://www.gatellm.io/ru/models.md)
- [Интеграции SDK и фреймворков](https://www.gatellm.io/ru/integrations.md)
- [Безопасность и комплаенс](https://www.gatellm.io/ru/security.md)
