Подключите AITUNNEL к популярным инструментам разработки и автоматизации.

DeepSeek HarnessDeepSeek HarnessАгентный харнесс DeepSeek с рабочими пространствами и плагинами — модели через AITUNNEL
Claude CodeClaude CodeТерминальный агент Anthropic — правит код, запускает команды и git-операции через AITUNNEL
Codex CLICodex CLIOpen-source агент OpenAI в терминале — правки кода, ревью и автоматизация задач
CursorCursor IDEAI-редактор на VS Code с автодополнением Tab, агентом Composer и моделями через AITUNNEL
Qwen CodeCLI-агент для Qwen3-Coder — навигация по проекту, сборка фич и правки через AITUNNEL
OpenCodeOpenCodeОткрытый агент для терминала и IDE с поддержкой 75+ LLM-провайдеров
n8nn8nВизуальная автоматизация с AI-агентами, RAG и интеграциями — модели через AITUNNEL
ClineAI-агент для VS Code — правки файлов, команды в терминале и браузер с подтверждением шагов
OpenClawOpenClawAI-агент для Telegram, Discord и Slack — модели через один API-ключ AITUNNEL
Все инструменты

Claude Code

Терминальный агент Anthropic через AITUNNEL: тот же Claude Code, ключ в рублях, VPN не нужен.

Claude Code говорит на протоколе Anthropic Messages — отдельный прокси не ставится. Агент заточен под модели Anthropic (инструменты, thinking, форматирование). Другие модели из каталога можно подставить, но агентные задачи на них часто ломаются.

Зачем через AITUNNEL

  • Из России без VPN. Запросы идут на api.aitunnel.ru.
  • Оплата в рублях, бюджет на ключе, расход в панели.
  • Запасные модели и провайдер. Если Anthropic не ответил — fallback и выбор провайдера.
  • Нативный POST /v1/messages: thinking-блоки и tool use проходят как есть.

Быстрый старт

  1. Установка

    curl -fsSL https://claude.ai/install.sh | bash

    Для npm нужен Node.js 18+.

  2. Подключение к AITUNNEL

    Не логиньтесь в аккаунт Anthropic. Нужны три переменные:

    1. ANTHROPIC_BASE_URL=https://api.aitunnel.ru — без /v1: Claude Code сам дописывает /v1/messages
    2. ANTHROPIC_AUTH_TOKEN — ключ AITUNNEL
    3. ANTHROPIC_API_KEY="" — явно пустая строка, не «переменная не задана»
  3. Сбросить кэш входа Anthropic

    Если раньше входили аккаунтом Anthropic — /logout и перезапуск claude. Иначе кэш конфликтует с токеном шлюза.

  4. Запуск и проверка

    cd в проект, claude, внутри /status. В токене должно быть ANTHROPIC_AUTH_TOKEN, base URL — https://api.aitunnel.ru.

Вариант с одной переменной. AITUNNEL принимает ключ и в заголовке x-api-key, поэтому ключ AITUNNEL можно положить прямо в ANTHROPIC_API_KEY и не задавать ANTHROPIC_AUTH_TOKEN. Так по умолчанию ходят SDK Anthropic, Agent SDK и GitHub Action — им хватает ANTHROPIC_BASE_URL и ANTHROPIC_API_KEY. Если в запросе есть оба заголовка, AITUNNEL берёт ключ из Authorization.

Профиль оболочки

Профиль оболочки
nano ~/.zshrc  # или ~/.bashrc

export AITUNNEL_API_KEY="sk-aitunnel-xxx"
export ANTHROPIC_BASE_URL="https://api.aitunnel.ru"
export ANTHROPIC_AUTH_TOKEN="$AITUNNEL_API_KEY"
export ANTHROPIC_API_KEY=""
# по желанию: список моделей шлюза в /model
export CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1

source ~/.zshrc

Добавьте строки в ~/.zshrc, ~/.bashrc или ~/.config/fish/config.fish, затем source или новый терминал.

Не кладите ключ в dotfiles-репозиторий. На macOS можно читать из связки ключей: export AITUNNEL_API_KEY="$(security find-generic-password -s aitunnel -w)". Утёкший ключ отзовите в панели ключей.

Файл проекта

.claude/settings.local.json в корне проекта:

settings.local.json
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.aitunnel.ru",
    "ANTHROPIC_AUTH_TOKEN": "sk-aitunnel-xxx",
    "ANTHROPIC_API_KEY": "",
    "CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY": "1"
  }
}

Кэш входа Anthropic

Claude Code
> /logout

Если в Anthropic не логинились — шаг можно пропустить. На macOS сессия лежит в Keychain как Claude Code-credentials. Если после /logout конфликт остался:

macOS Keychain
security find-generic-password -s "Claude Code-credentials"
security delete-generic-password -s "Claude Code-credentials"

Запуск

Терминал
cd /path/to/your/project
claude

Проверка:

/status
> /status
Auth token: ANTHROPIC_AUTH_TOKEN
Anthropic base URL: https://api.aitunnel.ru

Если в токене ANTHROPIC_API_KEY или метод входа — аккаунт Claude, переменные не дошли: source профиля и новый claude. Запросы видны в панели.

Как это работает

  1. Прямое подключение. ANTHROPIC_BASE_URL указывает на AITUNNEL, Claude Code говорит своим протоколом. Локальный прокси не нужен.
  2. Messages API. POST https://api.aitunnel.ru/v1/messages ведёт себя как Anthropic: маппинг имён, thinking, tool use.
  3. Списание. Токены и reasoning — в рублях, usage.cost_rub в ответе. История расхода ключа — GET /aitunnel/usage.

Messages API: что поддерживается

POST https://api.aitunnel.ru/v1/messages можно вызывать и без Claude Code — из SDK Anthropic или своим HTTP-клиентом.

АвторизацияAuthorization: Bearer sk-aitunnel-xxx или x-api-key: sk-aitunnel-xxx, как у Anthropic. Если переданы оба заголовка, ключ берётся из Authorization
anthropic-version, anthropic-beta, ?beta=trueПередаются провайдеру как есть
Имена моделейКаталожные (claude-sonnet-4.6), с датой в формате Anthropic (claude-sonnet-4-5-20250929 → claude-sonnet-4.5), слаги provider/model и имена пресетов
СтримингСобытия с именами (message_start … message_stop), как у Anthropic. Ошибка после начала генерации — событие error. См. стриминг
ОшибкиВ формате Anthropic: type: "error", наш тип — в error.aitunnel_type. См. ошибки
POST /v1/messages/count_tokensОтвечает { "input_tokens": n } на то же тело, что и /v1/messages (messages обязательно). Это оценка AITUNNEL с запасом вверх, а не счётчик провайдера: по ней же запрос проверяется перед отправкой. Точное число — в usage ответа. Бесплатно, в историю запросов не попадает; при балансе 0 ₽ и ниже — 402. Ошибки — в формате Anthropic
Модели с прямым подключением (GigaChat)Через Messages API недоступны: 400, используйте /v1/chat/completions

В SDK Anthropic ключ можно передать и как api_key (уходит в x-api-key), и как auth_token (Authorization: Bearer).

Python · anthropic
from anthropic import Anthropic

client = Anthropic(
    base_url="https://api.aitunnel.ru",
    api_key="sk-aitunnel-xxx",  # уходит в x-api-key; auth_token (Authorization: Bearer) тоже подойдёт
)

messages = [{"role": "user", "content": "Привет"}]

# Сколько токенов займёт запрос: оценка, бесплатно
count = client.messages.count_tokens(model="claude-sonnet-4.6", messages=messages)
print(count.input_tokens)

message = client.messages.create(
    model="claude-sonnet-4.6",
    max_tokens=1024,
    messages=messages,
)
print(message.content[0].text)

Модели

Claude Code держит слоты Fable / Opus / Sonnet / Haiku. AITUNNEL подставляет каталожные Claude, если слот не переопределён. Можно указать любую модель из каталога:

Слоты моделей
export ANTHROPIC_DEFAULT_FABLE_MODEL="claude-fable-5.2"
export ANTHROPIC_DEFAULT_OPUS_MODEL="claude-opus-4.8"
export ANTHROPIC_DEFAULT_SONNET_MODEL="claude-sonnet-4.6"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="claude-haiku-4.5"
export CLAUDE_CODE_SUBAGENT_MODEL="claude-opus-4.8"
ПеременнаяЗачем
ANTHROPIC_DEFAULT_FABLE_MODELСамые тяжёлые и длинные задачи. В /model слот появляется, только если переменная задана
ANTHROPIC_DEFAULT_OPUS_MODELСложные рассуждения
ANTHROPIC_DEFAULT_SONNET_MODELОбычный код
ANTHROPIC_DEFAULT_HAIKU_MODELКороткие шаги
CLAUDE_CODE_SUBAGENT_MODELСуб-агенты, которых порождает сессия

Имена — как в каталоге: claude-opus-4.8, не anthropic/claude-opus-4.8. Слаг со слешем уходит в OpenRouter.

Fast mode

Отдельного id в каталоге для ускоренного Opus нет. Команда /fast включает его на модели в слоте Opus — например claude-opus-5 или claude-opus-4.8 — и шлёт speed: "fast".

Fast mode
export CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1
export ANTHROPIC_DEFAULT_OPUS_MODEL="claude-opus-4.8"

Нужен Claude Code v2.1.96+. CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1 снимает проверку «организации Anthropic».

У Fable отдельного fast-слота нет: /fast на Fable переключает сессию на Opus. Подробнее — уровни обслуживания.

Agent SDK

Anthropic Agent SDK крутит тот же runtime Claude Code. Достаточно ANTHROPIC_BASE_URL и ANTHROPIC_API_KEY с ключом AITUNNEL; набор из шага 2 (ANTHROPIC_AUTH_TOKEN и пустой ANTHROPIC_API_KEY) тоже работает.

GitHub Action

Официальный Claude Code GitHub Action. Два изменения:

  1. Ключ AITUNNEL в секрете AITUNNEL_API_KEY, его же в anthropic_api_key
  2. В env шага — ANTHROPIC_BASE_URL
GitHub Action
- name: Run Claude Code
  uses: anthropics/claude-code-action@v1
  with:
    anthropic_api_key: ${{ secrets.AITUNNEL_API_KEY }}
  env:
    ANTHROPIC_BASE_URL: https://api.aitunnel.ru

Экшен кладёт input anthropic_api_key в ANTHROPIC_API_KEY, и ключ уходит в заголовке x-api-key — AITUNNEL его принимает. ANTHROPIC_AUTH_TOKEN здесь не нужен: прогон неинтерактивный, а ANTHROPIC_BASE_URL направляет запросы в AITUNNEL.

Statusline с расходом

Внизу сессии можно показать модель, расход в рублях, баланс и заполнение контекста:

statusline
AITUNNEL · Sonnet · 12,40 ₽ · баланс 4987 ₽ · контекст 42%

Скачайте оба файла в одну папку, chmod +x statusline.sh, пропишите путь в ~/.claude/settings.json:

settings.json
{
  "statusLine": {
    "type": "command",
    "command": "/path/to/statusline.sh"
  }
}

Откуда цифры

Расход — сумма цен запросов этой сессии. Каждый ответ AITUNNEL несёт свой ID (msg-…), Claude Code пишет его в транскрипт сессии. Скрипт берёт ID из транскрипта и транскриптов субагентов и один раз спрашивает цену у GET /v1/aitunnel/requests/{id} — поле cost_rub. Другие сессии и скрипты на том же ключе в счётчик не попадают, пополнения ему не мешают. Что стоит знать:

  • Последний запрос — через пару секунд. Запрос попадает в журнал, когда рассчитан; пока цена в пути, сумма заканчивается на ….
  • Фоновые вызовы не считаются. Служебные запросы Claude Code, которых нет в транскрипте (например, название сессии), в сумму не входят. Полный расход ключа — расход по ключу и панель.
  • ≥ перед суммой — часть запросов найти не удалось: сделаны другим ключом или старше журнала (около трёх месяцев).

Баланс — из GET /v1/aitunnel/balance, не чаще раза в 10 секунд. Модель, процент контекста и путь к транскрипту скрипт берёт из JSON, который Claude Code передаёт statusline на stdin. Ключ — из ANTHROPIC_AUTH_TOKEN (или ANTHROPIC_API_KEY).

Мелочи

  • settings.json держит один statusLine. Если уже стоит ccusage или другой — этот его заменит.
  • Нужны Node.js и сеть на первый запуск: statusline.sh вызывает npx tsx statusline.ts (первый npx может подтормозить).
  • Состояние сессии: /tmp/claude-aitunnel-<session-id>.json. Файл маленький, после ребута обычно пропадает — тогда цены запросов спрашиваются заново. /clear начинает новую сессию — счётчик стартует с нуля.

Устранение неполадок

  • «Model not found» на старте. Конфликт кэша Anthropic и токена шлюза. /logout, выйти, снова claude. Если в профиле всё ещё живой ANTHROPIC_API_KEY от консоли Anthropic — /logout не поможет: поставьте ANTHROPIC_API_KEY="", source профиля.
  • Ошибки авторизации. Ключ в ANTHROPIC_AUTH_TOKEN, ANTHROPIC_API_KEY="", base URL без /v1. После правки профиля — новый шелл. Если заданы обе переменные с разными ключами, AITUNNEL проверяет тот, что в ANTHROPIC_AUTH_TOKEN.
  • Tool use не работает. Модель без function calling. Вернитесь на Claude из каталога.
  • Контекст. Режьте задачу или новая сессия. Для больших репозиториев берите модели с окном ≥ 128k.
  • Приватность. AITUNNEL не логирует исходный код промптов.

Смотрите также