Подключение кодинг-агентов (OpenAI-совместимые, Codex, Claude Code, OpenCode)
Kodagent предоставляет единый платный LLM-шлюз, который понимает форматы OpenAI и Anthropic. Поэтому большинство кодинг-агентов работают с ним без доработок — достаточно поменять базовый URL, указать API-ключ и выбрать модель. В этом руководстве четыре сценария: любой OpenAI-совместимый инструмент, CLI Codex от OpenAI, Claude Code и OpenCode.
Перед началом
- Зарегистрируйтесь и убедитесь, что у организации положительный баланс кредитов
(запросы тарифицируются по токенам; при нулевом балансе возвращается
402 Payment Required). - Создайте API-ключ в консоли в разделе API Keys (
/console/api-keys). Скопируйте его сразу — хранится только хэш, поэтому ключ показывается один раз. После создания ключа эта же страница ждёт первый запрос по нему и подтвердит, что настройка работает. - Узнайте базовый URL. Шлюз доступен по пути
/api/llmвашего развёртывания:- Продакшн:
https://kodagent.ru/api/llm - Локально:
http://localhost:8080/api/llm
- Продакшн:
В примерах используется glm-5.2; полный актуальный список моделей — в консоли: на
странице Модели и в выпадающем списке на странице ключей. Каждый эндпоинт
аутентифицируется API-ключом в виде bearer-токена (Authorization: Bearer <API key>).
Для примеров ниже экспортируйте ключ и базовый URL:
export KODAGENT_API_KEY="<ваш-api-ключ>"
export KODAGENT_BASE_URL="https://kodagent.ru/api/llm/v1" # обратите внимание на /v1
Вы на Windows?
exportработает только в bash-подобных шеллах. В PowerShell эквивалент такой:$env:KODAGENT_API_KEY = '<ваш-api-ключ>' $env:KODAGENT_BASE_URL = 'https://kodagent.ru/api/llm/v1'На странице ключей в консоли есть переключатель Windows — он показывает все сниппеты сразу в PowerShell-виде, с уже подставленным ключом.
Установка агентов
Каждый CLI ставится одной командой. Нативным установщикам ничего не нужно; для npm-вариантов нужен Node.js 22+ (см. раздел «Node.js и npm» ниже).
Claude Code — нативный установщик (рекомендуется, сам обновляется) или npm:
# macOS / Linux
curl -fsSL https://claude.ai/install.sh | bash
# или: npm install -g @anthropic-ai/claude-code
# Windows (PowerShell)
irm https://claude.ai/install.ps1 | iex
# или: winget install Anthropic.ClaudeCode
Есть и Homebrew: brew install --cask claude-code. На нативной Windows рекомендуется
поставить Git for Windows — тогда у Claude Code будет
bash-шелл.
Codex CLI — npm или нативный установщик:
# macOS / Linux
npm install -g @openai/codex
# или: curl -fsSL https://chatgpt.com/codex/install.sh | sh
# или (Homebrew): brew install --cask codex
# Windows (PowerShell) — нативно, WSL не нужен
irm https://chatgpt.com/codex/install.ps1 | iex
# или: npm install -g @openai/codex
OpenCode — установочный скрипт или npm:
# macOS / Linux
curl -fsSL https://opencode.ai/install | bash
# или: npm install -g opencode-ai
На Windows: npm install -g opencode-ai (есть также в Scoop и Chocolatey).
Cline и Continue ставятся как расширения IDE из маркетплейса VS Code; aider —
через python -m pip install aider-install && aider-install (Python 3.8–3.13).
Node.js и npm
npm не ставится отдельно — он идёт в комплекте с Node.js. Ставьте LTS-сборку:
- Windows:
winget install OpenJS.NodeJS.LTS(в PowerShell) или установщик с nodejs.org - macOS:
brew install nodeили установщик с nodejs.org - Linux: пакеты дистрибутива (
sudo apt install nodejs npm) часто устаревшие — лучше LTS-сборка с nodejs.org или установка через nvm
Проверьте командами node -v (должно быть v22 или новее) и npm -v. После установки
Node.js перезапустите терминал, чтобы npm появился в PATH.
1. Любой OpenAI-совместимый инструмент
Эндпоинт OpenAI Chat Completions — POST {BASE}/api/llm/v1/chat/completions. Быстрая проверка
через curl:
curl "$KODAGENT_BASE_URL/chat/completions" \
-H "Authorization: Bearer $KODAGENT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "glm-5.2",
"messages": [{"role": "user", "content": "Say hello in one word."}]
}'
С официальным OpenAI SDK для Python меняются только базовый URL и ключ:
from openai import OpenAI
client = OpenAI(
base_url="https://kodagent.ru/api/llm/v1",
api_key="<ваш-api-ключ>",
)
resp = client.chat.completions.create(
model="glm-5.2",
messages=[{"role": "user", "content": "Hello!"}],
)
print(resp.choices[0].message.content)
Инструментам вроде Cline, aider, Continue и большинству «OpenAI-совместимых» интеграций нужны три значения:
- Base URL:
https://kodagent.ru/api/llm/v1 - API-ключ: ваш ключ Kodagent
- Модель:
glm-5.2
Стриминг ("stream": true) поддерживается и тарифицируется по итоговому блоку usage.
2. CLI Codex от OpenAI
Codex использует API Responses, который шлюз отдаёт по адресу
POST {BASE}/api/llm/v1/responses. Добавьте провайдера и укажите его в
~/.codex/config.toml:
model = "glm-5.2"
model_provider = "kodagent"
[model_providers.kodagent]
name = "Kodagent gateway"
base_url = "https://kodagent.ru/api/llm/v1" # Codex добавит /responses
wire_api = "responses"
env_key = "KODAGENT_API_KEY" # отправляется как Authorization: Bearer
Затем экспортируйте ключ и запустите:
export KODAGENT_API_KEY="<ваш-api-ключ>"
codex
Внимание — предупреждение о метаданных. Codex хранит встроенную таблицу метаданных моделей по слагу и не знает
glm-5.2, поэтому печатаетModel metadata for 'glm-5.2' not found. Defaulting to fallback metadata. Этот запасной вариант использует крошечное окно контекста и заставляет Codex слишком рано сжимать переписку. Исправляется регистрацией реальных лимитов (у GLM-5.2 это 1M контекста / 131K вывода) в файле каталога. Сгенерируйте корректный по схеме файл из встроенного каталога Codex и добавьте слаг:codex debug models --bundled > /tmp/codex-bundled.json jq '(.models // .) as $m | ($m[0] * {slug:"glm-5.2", display_name:"GLM-5.2", context_window:1048576, max_context_window:1048576, visibility:"list"}) as $glm | {models: ($m + [$glm])}' /tmp/codex-bundled.json > ~/.codex/model_catalog.jsonЗатем добавьте
model_catalog_json = "/абсолютный/путь/к/.codex/model_catalog.json"вconfig.tomlи перезапустите.
3. Claude Code
Claude Code использует API Anthropic Messages, который шлюз отдаёт по адресу
POST {BASE}/api/llm/v1/messages (плюс бесплатный /v1/messages/count_tokens, который он
использует для управления контекстом). Claude Code сам дописывает /v1/messages, поэтому
нужный ему базовый URL заканчивается на /api/llm — а не /api/llm/v1.
Рекомендуемый способ — постоянная настройка: пропишите переменные в собственный файл
настроек Claude Code — ~/.claude/settings.json (Windows:
%USERPROFILE%\.claude\settings.json) — тогда они переживут новые окна терминала. Если файл
уже существует, дополните его блок "env" этими ключами:
{
"env": {
"ANTHROPIC_BASE_URL": "https://kodagent.ru/api/llm",
"ANTHROPIC_AUTH_TOKEN": "<ваш-api-ключ>",
"ANTHROPIC_MODEL": "glm-5.2",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-5.2",
"ANTHROPIC_SMALL_FAST_MODEL": "glm-5.2"
}
}
Либо задайте те же переменные разово, только для текущего терминала:
export ANTHROPIC_BASE_URL="https://kodagent.ru/api/llm" # без /v1
export ANTHROPIC_AUTH_TOKEN="<ваш-api-ключ>" # отправляется как Authorization: Bearer
export ANTHROPIC_MODEL="glm-5.2"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="glm-5.2" # фоновые задачи
export ANTHROPIC_SMALL_FAST_MODEL="glm-5.2" # старые версии Claude Code
(В PowerShell — $env:ANTHROPIC_BASE_URL = '…' и так далее.)
На что обратить внимание:
- Используйте
ANTHROPIC_AUTH_TOKEN, а неANTHROPIC_API_KEY. Шлюз аутентифицирует поAuthorization: Bearer …;ANTHROPIC_API_KEYотправляет заголовокx-api-keyи приведёт к ошибке401. - Переопределите и фоновую модель. Claude Code направляет мелкие/фоновые задачи на модель
класса «haiku». Шлюз принимает только слаги из своего каталога моделей, поэтому неизвестный
слаг вернёт ошибку — установка
ANTHROPIC_DEFAULT_HAIKU_MODEL(иANTHROPIC_SMALL_FAST_MODELдля старых сборок) в выбранную вами модель гарантирует, что каждый запрос идёт на известный шлюзу слаг.
Запустите claude — и он пойдёт через ваш шлюз вместо api.anthropic.com.
4. OpenCode
OpenCode работает с любым OpenAI-совместимым провайдером. Зарегистрируйте шлюз как
кастомного провайдера в ~/.config/opencode/opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"kodagent": {
"npm": "@ai-sdk/openai-compatible",
"name": "Kodagent",
"options": {
"baseURL": "https://kodagent.ru/api/llm/v1",
"apiKey": "<ваш-api-ключ>"
},
"models": {
"glm-5.2": {}
}
}
}
}
Запустите opencode и выберите модель (kodagent/glm-5.2) командой /models. Ключ
отправляется как Authorization: Bearer … — ровно то, что ожидает шлюз; если получаете
401, перепроверьте значение apiKey в конфиге.
Устранение неполадок
- 401 Unauthorized — неверный или отсутствующий API-ключ. Для Claude Code убедитесь, что
задан
ANTHROPIC_AUTH_TOKEN(bearer), а неANTHROPIC_API_KEY. - 402 Payment Required — у организации закончились кредиты. Пополните в консоли.
- 400 / model not found — слаг модели не включён. Возьмите слаг из каталога моделей в консоли, а для Claude Code не забудьте задать переменные фоновой модели.
exportвыдаёт ошибку или ничего не делает — вы в PowerShell/cmd, а не в bash. Используйте форму$env:ИМЯ = '…'(или переключатель Windows на странице ключей в консоли).- Предупреждение Codex о метаданных — зарегистрируйте
glm-5.2черезmodel_catalog_json, как показано выше.
Вот и всё — один шлюз, один ключ, четыре агента.