Brotherhood — подключение Claude Code

За именами моделей Claude здесь стоит GPT. Клиент остаётся привычным: используйте claude-opus-5 и настройте один из способов ниже.

Где будете работать?

Как удобнее подключаться?

1Получить ключ

Ключ выдаёт владелец шлюза, личным сообщением. Он показывается один раз — сохраните сразу. LiteLLM проверяет личный ключ, применяет лимиты и ведёт учёт расхода. CLIProxyAPI выбирает маршрут модели и провайдера; ключ клиента до него не передаётся, поэтому отозвать одного пользователя можно, не трогая остальных.

2Сохранить настройки

Windows: откройте в удобном редакторе личный файл %USERPROFILE%\.claude\settings.json. Это папка вашего пользователя, а не файл внутри проекта.

Личный settings.json: один конфиг для любой платформы

Создайте ~/.claude/settings.json (на Windows — %USERPROFILE%\.claude\settings.json). Выделите JSON ниже целиком, скопируйте, замените ключ-из-панели личным ключом и сохраните файл. Если файл уже существует, добавьте значения в его объект env, сохранив остальные настройки. Не вставляйте второй объект env.

{
  "env": {
    "ANTHROPIC_BASE_URL": "https://cliproxy.ekb.zozo.gg/anthropic",
    "ANTHROPIC_AUTH_TOKEN": "ключ-из-панели",
    "ANTHROPIC_DEFAULT_FABLE_MODEL": "claude-auto-max",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-auto-high",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-auto-med",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-auto-low",
    "CLAUDE_CODE_SUBAGENT_MODEL": "claude-auto-med",
    "ANTHROPIC_DEFAULT_FABLE_MODEL_NAME": "Авто-тир max (Astra → Fable 5)",
    "ANTHROPIC_DEFAULT_OPUS_MODEL_NAME": "Авто-тир high (Opus 5 → Sol → Kimi K3)",
    "ANTHROPIC_DEFAULT_SONNET_MODEL_NAME": "Авто-тир med (Terra → Sonnet 5 → Kimi K3)",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME": "Авто-тир low (Luna → Haiku 4.5)",
    "ENABLE_TOOL_SEARCH": "true",
    "CLAUDE_CODE_AUTO_COMPACT_WINDOW": "872000",
    "CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY": "1"
  }
}

После сохранения запустите claude и проверьте адрес шлюза в /status. Для возврата к личной подписке удалите переменные шлюза из env. Если тот же параметр задан в оболочке и в файле, настройки файла имеют приоритет: bh-off их не отключает.

3Другой способ настройки: оболочка macOS / Linux

Создайте ~/.config/brotherhood/env.zsh, замените в блоке ключ и сохраните:

# ~/.config/brotherhood/env.zsh
export ANTHROPIC_BASE_URL="https://cliproxy.ekb.zozo.gg/anthropic"
export ANTHROPIC_AUTH_TOKEN="ключ-из-панели"

# Модели по умолчанию: вместо своей модели клиент отправит авто-тир
export ANTHROPIC_DEFAULT_FABLE_MODEL="claude-auto-max"
export ANTHROPIC_DEFAULT_OPUS_MODEL="claude-auto-high"
export ANTHROPIC_DEFAULT_SONNET_MODEL="claude-auto-med"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="claude-auto-low"
export CLAUDE_CODE_SUBAGENT_MODEL="claude-auto-med"

# Чтобы в /model читались строки, а не голые идентификаторы
export ANTHROPIC_DEFAULT_FABLE_MODEL_NAME="Авто-тир max (Astra → Fable 5)"
export ANTHROPIC_DEFAULT_OPUS_MODEL_NAME="Авто-тир high (Opus 5 → Sol → Kimi K3)"
export ANTHROPIC_DEFAULT_SONNET_MODEL_NAME="Авто-тир med (Terra → Sonnet 5 → Kimi K3)"
export ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME="Авто-тир low (Luna → Haiku 4.5)"

# Поиск инструментов при работе через шлюз
export ENABLE_TOOL_SEARCH="true"

# Окно контекста Brotherhood
export CLAUDE_CODE_AUTO_COMPACT_WINDOW=872000

# Показывать настоящие названия GPT-моделей в /model
export CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1

# Для клиентов в формате OpenAI — честные имена исполнителей
export OPENAI_BASE_URL="https://cliproxy.ekb.zozo.gg/openai/v1"
export OPENAI_API_KEY="$ANTHROPIC_AUTH_TOKEN"
# Прежний путь /gpt/v1 по-прежнему работает, менять его не обязательно

Добавьте три команды в конец ~/.zshrc:

# ~/.zshrc
# Включить Brotherhood в текущей оболочке.
bh() {
  source ~/.config/brotherhood/env.zsh
  echo "Brotherhood включён: $ANTHROPIC_BASE_URL"
}

# Вернуться к своей подписке Anthropic.
bh-off() {
  unset ANTHROPIC_BASE_URL ANTHROPIC_AUTH_TOKEN
  unset OPENAI_BASE_URL OPENAI_API_KEY
  unset ANTHROPIC_DEFAULT_FABLE_MODEL ANTHROPIC_DEFAULT_OPUS_MODEL
  unset ANTHROPIC_DEFAULT_SONNET_MODEL ANTHROPIC_DEFAULT_HAIKU_MODEL
  unset ANTHROPIC_DEFAULT_FABLE_MODEL_NAME ANTHROPIC_DEFAULT_OPUS_MODEL_NAME
  unset ANTHROPIC_DEFAULT_SONNET_MODEL_NAME ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME
  unset CLAUDE_CODE_SUBAGENT_MODEL
  unset CLAUDE_CODE_AUTO_COMPACT_WINDOW CLAUDE_CODE_MAX_OUTPUT_TOKENS
  unset CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY
  unset ENABLE_TOOL_SEARCH
  echo "Brotherhood выключен"
}

# Проверить ключ и доступность шлюза.
bh-check() {
  curl -sS -o /dev/null -w 'ответ шлюза: %{http_code}\n' \
    -X POST "$ANTHROPIC_BASE_URL/v1/messages" \
    -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \
    -H 'anthropic-version: 2023-06-01' \
    -H 'content-type: application/json' \
    -d '{"model":"claude-auto-low","max_tokens":1,"messages":[{"role":"user","content":"."}]}'
}

Выполните source ~/.zshrc. Команда bh включает шлюз в текущей оболочке, bh-off возвращает к личной подписке. Если у вас уже указан прежний путь /claude, менять его не обязательно: оба входа ведут в один шлюз.

ENABLE_TOOL_SEARCH=true включает поиск инструментов Claude Code через шлюз. Если шлюз не передаёт служебные ссылки на инструменты (tool_reference), запросы с поиском могут завершаться ошибкой. В таком случае задайте ENABLE_TOOL_SEARCH=false в выбранном способе настройки и сообщите владельцу.

4Проверить и запустить

Команды ниже — для macOS / Linux после bh. На Windows запустите claude в PowerShell и проверьте адрес через /status.

bh
bh-check     # ждём: ответ шлюза: 200
claude

В claude наберите /status — там должен быть адрес шлюза cliproxy.ekb.zozo.gg.

ОтветЧто случилосьЧто делать
200Всё работаетЗапустить claude
401Ключ не принятПроверить ключ или попросить новый
403Путь закрыт либо ключу не открыт доступПроверить окончание /anthropic; если адрес верный — написать владельцу
429Достигнут лимитПодождать; если повторяется — сообщить владельцу
400 про контекстИстория не помещается в окно моделиВыполнить /compact или начать новую сессию

Для списка моделей нужен Claude Code 2.1.129 или новее. При новом запуске откройте /model: подпись из поля display_name покажет настоящую GPT-модель, но в запрос по-прежнему уйдёт совместимый идентификатор claude-opus-5. Клиент хранит найденный список в ~/.claude/cache/gateway-models.json. Если список не обновился, закройте Claude Code, удалите этот файл и запустите клиент заново с выбранными настройками.

Порог автоматического сжатия клиента — 872 тыс. токенов Значение уже есть в блоке выше. Оно не является измеренным пределом auto-tier; если длинная сессия перестала помещаться, выполните /compact.

5Модели по умолчанию

Блок настроек подменяет четыре модели клиента на авто-тиры шлюза: ANTHROPIC_DEFAULT_FABLE_MODEL, ANTHROPIC_DEFAULT_OPUS_MODEL, ANTHROPIC_DEFAULT_SONNET_MODEL и ANTHROPIC_DEFAULT_HAIKU_MODEL. Выбор в клиенте остаётся привычным, а в шлюз уходит тир, и переход к следующему звену не требует от вас ничего. CLAUDE_CODE_SUBAGENT_MODEL задаёт то же самое для подзадач: без него они идут на модель основной сессии.

Переменные с окончанием _NAME, например ANTHROPIC_DEFAULT_OPUS_MODEL_NAME, дают в /model читаемую строку вместо голого идентификатора. На маршрут они не влияют.

Нужна конкретная модель, а не тир — назовите её в /model или прямо в запросе: подстановка действует только на выбор клиента по умолчанию.

6Какие модели куда идут

Модель / авто-тирПорядок звеньев и состояние измерений
claude-auto-maxAstra → Fable 5; окно Fable не измерено
claude-auto-highOpus → Sol → Kimi K3; окно тира не измерено
claude-auto-medTerra → Sonnet → Kimi K3; окно тира не измерено
claude-auto-lowLuna → Haiku; запас Haiku не измерен

Через /gpt доступны и собственные имена — например gpt-5.5. Полный список отдаёт сам шлюз по адресу /gpt/v1/models.

Для Sol, Terra и Luna измерено max_context_window=872000 на account-specific runtime, но это не измерение Claude auto-tier. Точные пределы Fable, Opus, Sonnet, Haiku и Kimi K3 для тиров ещё не измерены.

Суффикс [1m] сохранён для старых настроек; маршрут и окно он не меняет. Обещать одинаковую глубину рассуждений между звеньями тира нельзя: при переходе может измениться и модель, и её reasoning depth.

Путь /openai/v1 называет исполнителя честно: имя модели прямо говорит, кто на него ответит, без подмены. Путь /gpt/v1 продолжает работать — менять его не обязательно, но на нём имена вида claude-* по-прежнему обслуживают Sol, Terra и Luna из таблицы выше, а не того, чьё имя стоит в запросе.

Честное имя на /openaiКто отвечает
gpt-claude-opus-5настоящий Claude Opus 5 — отдельная учётная запись, впервые доступная по протоколу OpenAI
gpt-5.6-solSol
kimi-k3-256kKimi K3; суффикс в имени не является измерением окна
glm-5.2GLM
Список моделей на /openai пока пуст Запрос GET /openai/v1/models сейчас возвращает пустой список — указывайте имя модели вручную, автообнаружение и /model здесь не помогут.

7Где хранить ключ

Годится: файл настроек оболочки, как выше, или личный ~/.claude/settings.json (на Windows — %USERPROFILE%\.claude\settings.json). Если используете оба способа, значения из settings.json перекрывают переменные из оболочки.

Не годится: .claude/settings.json внутри репозитория — он попадёт в коммит и уедет к остальным.

8Если сломалось

Напишите владельцу и приложите две вещи: код ответа от bh-check и время, когда это было.

Тексты запросов прикладывать не нужно — их нет ни в базе, ни в журналах, и просить их у вас никто не станет.