Claude Code

Открыть в Markdown
На этой странице

Claude Code говорит по протоколу Anthropic Messages, и мы отвечаем ему тем же: стриминг, tools, thinking и кэш промпта работают как у официального API. Поток не переводится и не переупаковывается.

Настройка#

Задай переменные окружения и запусти claude:

bash
unset ANTHROPIC_API_KEY
export ANTHROPIC_BASE_URL=https://api.aicreator.app
export ANTHROPIC_AUTH_TOKEN=sk-aic-…
export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-5-5
export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-5-5
export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-5-5
claude
  • unset ANTHROPIC_API_KEY — обязательно, если переменная задана. Её значение Claude Code шлёт в заголовке x-api-key, а он у нас главнее Authorization: со старым ключом Anthropic в ней придёт ответ 401.
  • ANTHROPIC_BASE_URL — https://api.aicreator.app, без /v1: Claude Code добавит путь сам.
  • ANTHROPIC_AUTH_TOKEN — твой ключ sk-aic-….
  • ANTHROPIC_DEFAULT_OPUS_MODEL, ANTHROPIC_DEFAULT_SONNET_MODEL, ANTHROPIC_DEFAULT_HAIKU_MODEL — какие модели стоят за именами Opus, Sonnet и Haiku. Мы принимаем только имена из своего списка, поэтому закрепи их явно.

Файл настроек#

Экспорт в терминале живёт до его закрытия. Чтобы настройка действовала везде, где работает Claude Code, включая фоновых агентов, положи те же переменные в блок env файла ~/.claude/settings.json. Если переменная задана и там, и в терминале, берётся значение из файла.

~/.claude/settings.json
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.aicreator.app",
    "ANTHROPIC_AUTH_TOKEN": "sk-aic-…",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-5-5",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-5-5",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-haiku-5-5"
  }
}

Не клади ключ в .claude/settings.json проекта: этот файл попадает в репозиторий.

Проверка#

Запусти claude и набери /status: в строке Anthropic base URL должен стоять https://api.aicreator.app, а в строке Auth token — ANTHROPIC_AUTH_TOKEN.

Модели#

Короткие имена в поле model мы понимаем сами:

Имя в Claude CodeМодель
opusclaude-opus-5-5
sonnetclaude-sonnet-5-5
haikuclaude-haiku-5-5
fableclaude-fable-5-1

Другие модели с протоколом Claude Code задаются полным именем: в ANTHROPIC_MODEL или командой /model. Какие модели доступны по этому протоколу, видно в колонке «Протоколы» на странице цен. Имя, которого нет в нашем списке, получит 400 model_not_available.

Чтобы модели из нашего списка появились в меню /model, добавь переменную CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1: Claude Code запросит у нас /v1/models при запуске.

Фоновая модель#

Заголовки сессий и другие служебные задачи Claude Code выполняет на модели Haiku, а не на той, что выбрана для работы. Какая это модель, задаёт ANTHROPIC_DEFAULT_HAIKU_MODEL. В настройке выше это claude-haiku-5-5 — она у нас есть именно для этой роли.

Чтобы фоновые задачи шли на другой модели, впиши её имя в эту переменную: подойдёт любая модель с протоколом Claude Code. Расход фоновой модели виден в статистике отдельной строкой.

Субагенты и параллельные запросы#

Один ключ ведёт до 4 запросов одновременно. Claude Code с субагентами легко открывает больше: лишний запрос получит 429 concurrent_requests с заголовком retry-after, и Claude Code повторит его сам. Работа идёт, только медленнее.

Второй потолок считается по IP-адресу, а не по ключу: 60 запросов в минуту и 1 200 в час с одной машины. Долгая сессия с субагентами может в него упереться; ответ тот же — 429 с retry-after, и Claude Code подождёт сам.

Если что-то не так#

  • Ответ 401 — ключ скопирован не целиком или отозван, либо в окружении осталась ANTHROPIC_API_KEY.
  • Ответ 400 model_not_available — Claude Code запросил имя модели, которого нет в нашем списке: закрепи модели переменными из настройки.
  • Ответ 402 — закончился баланс: пополни его в кабинете.
  • Ответ 429 — сработал лимит ключа, IP-адреса или провайдера; Claude Code сам повторит запрос по заголовку retry-after.

Разбор по шагам — в разделе «Решение проблем», все коды — в разделе «Ошибки и лимиты».