Клиенты · Claude Code

Claude Code

Агент в терминале, который читает и правит файлы проекта. Говорит на протоколе Anthropic Messages — тот самый, который шлюз отдаёт напрямую, поэтому настройка сводится к двум переменным окружения.

Две переменные#

bash
export ANTHROPIC_BASE_URL=https://nirastudio.org
export ANTHROPIC_AUTH_TOKEN=$NIRA_API_KEY

claude

Путь /v1/messages дописывается сам — в ANTHROPIC_BASE_URL нужен только хост, без /v1. Это самая частая ошибка: с /v1 на конце запросы уйдут на /v1/v1/messages и вернут 404.

ANTHROPIC_AUTH_TOKEN уходит как Authorization: Bearer, ANTHROPIC_API_KEY — как x-api-key. Шлюз принимает оба, так что подойдёт любая; если в системе уже лежит настоящий ключ Anthropic в ANTHROPIC_API_KEY, берите ANTHROPIC_AUTH_TOKEN, чтобы не путать их между собой.

Чтобы не набирать каждый раз#

Через settings.json

Надёжнее переменных оболочки: настройки лежат в ~/.claude/settings.json и действуют во всех проектах.

json
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://nirastudio.org",
    "ANTHROPIC_AUTH_TOKEN": "nira_live_…"
  }
}

Для одного проекта — то же самое в .claude/settings.local.json в корне репозитория. Этот файл не попадает в git — ключ не уедет в историю вместе с кодом.

Через оболочку

bash
# ~/.zshrc или ~/.bashrc
export ANTHROPIC_BASE_URL=https://nirastudio.org
export ANTHROPIC_AUTH_TOKEN=nira_live_…

# Windows PowerShell, разово в текущем окне
$env:ANTHROPIC_BASE_URL = "https://nirastudio.org"
$env:ANTHROPIC_AUTH_TOKEN = "nira_live_…"

Выбор модели#

bash
export ANTHROPIC_MODEL=anthropic/claude-sonnet-4.6
export ANTHROPIC_SMALL_FAST_MODEL=anthropic/claude-haiku-4.5

Вторая переменная — для мелких служебных задач: заголовки, короткие сводки, догадки о названии файла. Ставить туда старшую модель дорого и незачем.

Имена переменных для модели у Claude Code менялись между версиями. Если модель не подхватилась — наберите /status в самом агенте: он покажет базовый адрес и модель, которые действуют сейчас. Переключить на ходу можно командой /model.

Проверка#

  1. 1Запустите claude в любой папке.
  2. 2Наберите /status — в базовом адресе должен стоять https://nirastudio.org.
  3. 3Попросите что-нибудь простое: «прочитай README и скажи, о чём проект».
  4. 4Откройте расход — там появится запрос с моделью и стоимостью.

Если не работает#

  • 404 — в ANTHROPIC_BASE_URL лишний /v1 на конце.
  • 401 — ключ отозван или скопирован с обрезанным началом. Ключ начинается с nira_live_.
  • 403 с кодом PLAN — нужен тариф «Про».
  • 404 на модель — имя не из каталога. Список — в моделях.
  • Агент подключился к настоящему Anthropic, а не к шлюзу — значит, в окружении осталась подписка Claude. Выйдите из аккаунта командой /logout: пока она активна, она важнее переменных.

Полный разбор кодов — в ошибках и лимитах.

Свой агент на том же протоколе#

SDK Anthropic настраивается так же — одним базовым адресом:

python
import os
from anthropic import Anthropic

client = Anthropic(base_url="https://nirastudio.org", api_key=os.environ["NIRA_API_KEY"])

msg = client.messages.create(
    model="anthropic/claude-sonnet-4.6",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Привет"}],
)
print(msg.content[0].text)

Поля и события этого протокола разобраны в Anthropic Messages.