Claude Code
Агент в терминале, который читает и правит файлы проекта. Говорит на протоколе Anthropic Messages — тот самый, который шлюз отдаёт напрямую, поэтому настройка сводится к двум переменным окружения.
Две переменные#
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 и действуют во всех проектах.
{
"env": {
"ANTHROPIC_BASE_URL": "https://nirastudio.org",
"ANTHROPIC_AUTH_TOKEN": "nira_live_…"
}
}Для одного проекта — то же самое в .claude/settings.local.json в корне репозитория. Этот файл не попадает в git — ключ не уедет в историю вместе с кодом.
Через оболочку
# ~/.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_…"
Выбор модели#
export ANTHROPIC_MODEL=anthropic/claude-sonnet-4.6 export ANTHROPIC_SMALL_FAST_MODEL=anthropic/claude-haiku-4.5
Вторая переменная — для мелких служебных задач: заголовки, короткие сводки, догадки о названии файла. Ставить туда старшую модель дорого и незачем.
/status в самом агенте: он покажет базовый адрес и модель, которые действуют сейчас. Переключить на ходу можно командой /model.Проверка#
- 1Запустите
claudeв любой папке. - 2Наберите
/status— в базовом адресе должен стоятьhttps://nirastudio.org. - 3Попросите что-нибудь простое: «прочитай README и скажи, о чём проект».
- 4Откройте расход — там появится запрос с моделью и стоимостью.
Если не работает#
404— вANTHROPIC_BASE_URLлишний/v1на конце.401— ключ отозван или скопирован с обрезанным началом. Ключ начинается сnira_live_.403с кодомPLAN— нужен тариф «Про».404на модель — имя не из каталога. Список — в моделях.- Агент подключился к настоящему Anthropic, а не к шлюзу — значит, в окружении осталась подписка Claude. Выйдите из аккаунта командой
/logout: пока она активна, она важнее переменных.
Полный разбор кодов — в ошибках и лимитах.
Свой агент на том же протоколе#
SDK Anthropic настраивается так же — одним базовым адресом:
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.