Claude Code
CLI-агент для разработки от Anthropic. Подключается по нативному эндпоинту /v1/messages — свой ключ и модели из каталога.
Claude Code говорит по нативному протоколу Anthropic: POST /v1/messages, ключ шлюз принимает и в заголовке Authorization: Bearer, и в x-api-key. Шлюз ApiMira отвечает на этом эндпоинте напрямую, настройка — пятью переменными окружения или одним файлом настроек.
Как подключить
- 1Задайте ANTHROPIC_BASE_URL, ANTHROPIC_AUTH_TOKEN (ключ создаётся в кабинете и показывается один раз), ANTHROPIC_MODEL, ANTHROPIC_DEFAULT_HAIKU_MODEL и ANTHROPIC_SMALL_FAST_MODEL — в терминале или в файле настроек Claude Code.
- 2Чтобы не задавать переменные заново в каждом новом окне терминала, перенесите их в блок env файла настроек ~/.claude/settings.json (на Windows это C:\Users\Имя пользователя\.claude\settings.json) — готовый файл в сниппете ниже. Тот же файл читает расширение Claude Code для VS Code: оно запускает тот же CLI и переменных из соседнего терминала не видит, поэтому после правки перезапустите редактор. Настройки для одного проекта кладутся в .claude/settings.local.json в его корне — этот файл не попадает в git, и ключ не уедет в репозиторий.
- 3В ANTHROPIC_BASE_URL укажите адрес шлюза без /v1 — Claude Code дописывает /v1/messages сам; лишний /v1 даст 404.
- 4ANTHROPIC_MODEL, ANTHROPIC_DEFAULT_HAIKU_MODEL и ANTHROPIC_SMALL_FAST_MODEL впишите нашими Model ID из каталога. Все три переменные обязательны: имя модели Anthropic шлюз не узнает и ответит 404 на фоновых задачах, хотя основной диалог при этом останется рабочим. ANTHROPIC_DEFAULT_HAIKU_MODEL — нынешнее имя переменной фоновой модели в Claude Code, ANTHROPIC_SMALL_FAST_MODEL — прежнее (обычно ещё работает); заданы оба, чтобы не зависеть от версии.
- 5Запустите claude — агентный режим, чтение и правка файлов работают: шлюз поддерживает вызов инструментов. Потоковая выдача ответов тоже работает.
export ANTHROPIC_BASE_URL=https://apimira.com
export ANTHROPIC_AUTH_TOKEN=am-ВАШ_КЛЮЧ
export ANTHROPIC_MODEL=google/gemini-3.7-flash
export ANTHROPIC_DEFAULT_HAIKU_MODEL=google/gemini-3.7-flash
export ANTHROPIC_SMALL_FAST_MODEL=google/gemini-3.7-flash
claudecount_tokens отвечает оценкой числа токенов, а не точным значением — ориентируйтесь по ней, а не считайте бюджет впритык; картинки в этой оценке тоже учитываются. Картинки на вход работают: блок image с source типа base64 (PNG, JPEG или WebP, до 5 МБ каждая, до 50 штук на запрос) доезжает до модели, в том числе картинка из результата инструмента — Claude Code читает файл-картинку, и она приходит модели отдельным пользовательским ходом. Ссылку вместо base64 (source типа url) шлюз не скачивает, а модель без пометки «Видит картинки» отвечает ошибкой unsupported_capability. Блок document и параметр top_k эндпоинт отклоняет понятной ошибкой, поэтому вложенные файлы в Claude Code не заработают. Поле thinking и блоки размышления, наоборот, принимаются и дальше не передаются: расширенного мышления в ответе не будет, но и ошибки тоже — переменная MAX_THINKING_TOKENS для работы не нужна. Промпт целиком ограничен 400 000 символами (около 100 тысяч токенов), а у части моделей действует ещё и потолок контекста: оба предела дают явную ошибку, а не тихую обрезку; байты картинок в счёт символов не входят. Своего потолка у max_tokens нет — Claude Code ставит 32 000, и ровно столько резервируется на балансе под ответ, поэтому держите запас. Поле cache_control шлюз принимает, но игнорирует: разметка кэша вручную не поддерживается. При этом кэш работает автоматически у моделей, для которых на странице «Модели» указана ставка кэш-входа: если начало запроса совпадает с предыдущим, эти токены считаются по льготной ставке, а их число приезжает в usage.cache_read_input_tokens. Общее правило этой страницы «параметр не отбрасывается молча» — про OpenAI-совместимый /v1/chat/completions; здесь тело собирается по белому списку полей Anthropic, и то, что в него не входит, как раз и уходит молча — например, cache_control выше. Молча уходят только неизвестные поля: блок document и параметр top_k возвращают ошибку с кодом unsupported_parameter, а не исчезают из запроса.
Вызов функций поддерживается, поэтому агентные режимы работают. Строгий JSON-режим (response_format) и снятый формат functions шлюз отвергает ошибкой unsupported_parameter — параметр не игнорируется молча. Картинки на вход принимаются у моделей с пометкой «Видит картинки» на странице «Модели»: часть content типа image_url со ссылкой вида data:image/png;base64,… (PNG, JPEG или WebP, до 5 МБ каждая, до 50 штук на запрос). Внешние ссылки шлюз не скачивает, а модель без этой пометки отвечает ошибкой unsupported_capability — обе ошибки называют причину прямо.