Один адрес — api.clickplus.ru. Ключ выдаётся в панели и показывается один раз. Дальше инструменты работают как раньше, а расход виден в панели.
Две переменные окружения. Модели по умолчанию можно не задавать: короткие алиасы claude-opus-5 и claude-sonnet-5 шлюз понимает.
ANTHROPIC_BASE_URL=https://api.clickplus.ru
ANTHROPIC_AUTH_TOKEN=ck_live_7f3a9c2e…
ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-5
ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-5
Запросы Claude Code проходят сквозь шлюз без изменений, поэтому кэш промптов и thinking работают как с официальным API.
Провайдер в конфиге, ключ — в переменной окружения. wire_api = "responses" обязателен.
model_provider = "clickplus"
model = "gpt-5.6-sol"
model_context_window = 1050000
[model_providers.clickplus]
name = "clickplus"
base_url = "https://api.clickplus.ru/v1"
wire_api = "responses"
requires_openai_auth = true
env_key = "CLICKPLUS_API_KEY"
Добавьте OpenAI-совместимого провайдера. Модель — любой ID из каталога, включая clickplus/auto.
base_url: https://api.clickplus.ru/v1
api_key: ck_live_…
model: anthropic/claude-sonnet-5
Любой OpenAI SDK: меняются только адрес и ключ. Какая модель ответила — в заголовке X-Clickplus-Model, стоимость — по номеру запроса через GET /v1/generation/{id}.
client = OpenAI(base_url="https://api.clickplus.ru/v1", api_key="ck_live_…")
raw = client.chat.completions.with_raw_response.create(
model="clickplus/cheapest", messages=[...])
r = raw.parse()
print(r.usage.total_tokens, raw.headers["x-clickplus-model"])
# стоимость: GET /v1/generation/<x-clickplus-request-id>
Отвечает ровно та модель, которую вы указали, без подмены на «похожую». Публичные ID — anthropic/claude-opus-5, openai/gpt-5.6-sol; короткие алиасы тоже принимаются.
Поле models задаёт резервные модели: если первая недоступна или красная, запрос уходит второй. Объект clickplus уточняет маршрут.
{
"model": "anthropic/claude-opus-5:verified",
"models": ["anthropic/claude-opus-5", "anthropic/claude-sonnet-5"],
"clickplus": {
"channel": "anthropic",
"allow_fallback": false,
"min_health": "green",
"zero_retention": true
}
}
Пустые ответы и ошибки не оплачиваются и не расходуют лимит. Полная статистика запроса — GET /v1/generation/{id}.
| Код | Что значит | Что делать |
|---|---|---|
| 401 | Ключ не найден или отключён | Проверьте ANTHROPIC_AUTH_TOKEN или api_key; создайте новый ключ в панели |
| 403 | Модель не разрешена для этого ключа | Попросите владельца расширить список моделей |
| 429 | Лимит ключа исчерпан | Подождите Retry-After или поднимите лимит |
| 503 | Нет доступного канала | Укажите резервные модели в поле models или подождите |
Заголовки HTTP-Referer и X-Title или X-Clickplus-App. Расход в панели группируется не только по ключам, но и по приложениям: n8n, Cursor, свой бот.
Нет ключа? Откройте панель — раздел «Ключи».