hubris

Claude Code (VS Code)

Подключение Claude Code (CLI и расширение VS Code) к Hubris через эндпоинт /v1/messages — Fable, Sonnet, Opus, Haiku, reasoning effort, кэширование, статусная строка.

Claude Code — официальный агент Anthropic. Работает в терминале и как расширение VS Code, понимает контекст проекта, умеет редактировать файлы, исполнять команды, читать скриншоты, держит долгую сессию с кэшированием промптов. Поддерживает любой Anthropic-совместимый бэкенд через переменные окружения. Hubris подходит из коробки — и для CLI, и для VS Code.

Что вы получите

  • Доступ ко всему семейству Claude (Fable 5, Sonnet 5, Opus 4.8, Haiku 4.5 и предыдущие поколения) с оплатой в рублях.
  • Не только Claude: любая чат-модель каталога — GPT, Gemini, DeepSeek и другие.
  • Нативное prompt caching для длинных сессий — экономит до десятков рублей на каждом турне.
  • Чтение скриншотов и других изображений (vision).
  • Использование инструментов (tool use) для редактирования файлов и запуска команд.
  • Опциональная statusline в TUI с балансом, расходом сессии и текущей моделью.

Требования

  • macOS / Linux / WSL / современный терминал на Windows — либо VS Code с расширением Claude Code.
  • Аккаунт на hubris.pw и API-ключ формата sk-gw-… (создать на /keys).
  • Положительный баланс — пополнить можно здесь.

Установка Claude Code

Подробная инструкция — в официальной документации. Варианты:

  • VS Code: Extensions (Ctrl+Shift+X) → «Claude Code» (издатель Anthropic) → Install.
  • CLI:
npm install -g @anthropic-ai/claude-code

Альтернатива — однострочный установщик:

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

Убедитесь, что Claude Code запускается: claude --version (для CLI) или иконка Claude в сайдбаре VS Code.

Подключение к Hubris

Рекомендуемый способ — блок env в файле ~/.claude/settings.json (Windows: C:\Users\<имя>\.claude\settings.json). Его подхватывают и CLI, и расширение VS Code, поэтому конфиг настраивается один раз:

{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "sk-gw-ВАШ_КЛЮЧ",
    "ANTHROPIC_BASE_URL": "https://api.hubris.pw",
    "ANTHROPIC_API_KEY": "",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "anthropic/claude-haiku-4.5",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "anthropic/claude-sonnet-5",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "anthropic/claude-opus-4.8",
    "ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES": "effort,xhigh_effort,max_effort,thinking,adaptive_thinking,interleaved_thinking",
    "ANTHROPIC_MODEL": "anthropic/claude-opus-4.8",
    "ANTHROPIC_SMALL_FAST_MODEL": "anthropic/claude-haiku-4.5"
  }
}

Пояснения к неочевидным строкам:

  • ANTHROPIC_API_KEY: "" — предохранитель: если в системе уже лежит настоящий ключ Anthropic, пустая строка не даст Claude Code случайно отправить его на шлюз.
  • ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES — возвращает ползунок reasoning effort, см. ниже.
  • Вход в аккаунт Anthropic не нужен — авторизация идёт по ключу sk-gw-….

После сохранения файла перезапустите VS Code (или откройте новый терминал) и запустите агента из папки проекта. Первый же запрос уйдёт в Hubris вместо api.anthropic.com и спишется с вашего баланса в рублях — проверить можно на странице Использование.

Альтернатива для CLI — обычные переменные окружения в ~/.bashrc / ~/.zshrc (или профиле PowerShell):

export ANTHROPIC_BASE_URL="https://api.hubris.pw"
export ANTHROPIC_AUTH_TOKEN="sk-gw-..."

Выбор модели

В рабочей сессии переключайте модель командой /model. Полный список — в каталоге.

Какие имена принимает Hubris:

  • Канонические id с провайдеромanthropic/claude-opus-4.8, anthropic/claude-sonnet-5, anthropic/claude-fable-5. Работают для всех моделей каталога — рекомендуем именно их.
  • Короткие Anthropic-именаclaude-sonnet-4-5, claude-opus-4-7, claude-haiku-4-5 (в том числе с датой или -latest на конце). Поддерживаются для поколений до Sonnet 4.6 / Opus 4.7 включительно.

Чтобы зафиксировать модель по умолчанию, задайте ANTHROPIC_MODEL в конфиге выше или передайте её при запуске CLI:

claude --model anthropic/claude-sonnet-5

Какая модель когда подходит

МодельКогда брать
anthropic/claude-haiku-4.5быстрые ответы, поиск по коду, простые правки, дёшево.
anthropic/claude-sonnet-5основной рабочий вариант: качественные правки, рефакторинги, длинные сессии.
anthropic/claude-opus-4.8сложные архитектурные задачи, миграции, разбор багов в больших кодовых базах.
anthropic/claude-fable-5максимум качества для самых трудных задач; заметно дороже Opus.

Reasoning effort: ползунок low/medium/high

Claude Code показывает выбор глубины рассуждения (low / medium / high) только для моделей, чьи имена он узнаёт. Канонические id вида anthropic/claude-opus-4.8 под встроенные шаблоны не подпадают, поэтому без дополнительной настройки ползунок пропадает — хотя сама модель effort полностью поддерживает.

Решение — объявить возможности модели явно через переменную ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES (уже включена в рекомендуемый конфиг выше). После перезапуска ползунок возвращается в /model и в VS Code. Аналогичная переменная с суффиксом _SUPPORTED_CAPABILITIES есть и у ANTHROPIC_DEFAULT_SONNET_MODEL.

Управлять уровнем можно и без ползунка:

  • команда /effort high прямо в сессии;
  • поле "effortLevel": "high" в ~/.claude/settings.json (вне блока env) — сохраняет выбор между сессиями;
  • флаг CLI claude --effort high.

Любые чат-модели каталога — GPT, Gemini, DeepSeek и другие

Claude Code через Hubris не ограничен моделями Anthropic. Эндпоинт /v1/messages принимает любую чат-модель каталога: формат Anthropic конвертируется на стороне агрегатора, ответ приходит в привычном Claude Code виде — со стримингом, tool use и токен-статистикой. Проверено вживую на openai/gpt-4o-mini, google/gemini-3.6-flash и deepseek/deepseek-chat.

Просто укажите канонический id модели из каталога в тех же переменных:

{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "sk-gw-ВАШ_КЛЮЧ",
    "ANTHROPIC_BASE_URL": "https://api.hubris.pw",
    "ANTHROPIC_API_KEY": "",
    "ANTHROPIC_MODEL": "openai/gpt-4o-mini",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "google/gemini-3.6-flash",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek/deepseek-chat",
    "ANTHROPIC_SMALL_FAST_MODEL": "anthropic/claude-haiku-4.5"
  }
}

Слоты переключателя /model (Haiku / Sonnet / Opus) — это просто «ярлыки»: какую модель подставить в каждый, решаете вы через ANTHROPIC_DEFAULT_*_MODEL. В сессии можно указать и произвольную модель напрямую: /model google/gemini-3.6-flash.

Вариант конфигурации: настройки расширения VS Code

Вместо ~/.claude/settings.json те же переменные можно задать прямо в настройках VS Code — поле claudeCode.environmentVariables (массив объектов {"name", "value"}). Важно: настройка применяется только из User Settings (Ctrl+Shift+P → «Preferences: Open User Settings (JSON)»), в workspace-файле проекта она игнорируется.

{
  "claudeCode.environmentVariables": [
    { "name": "ANTHROPIC_BASE_URL", "value": "https://api.hubris.pw" },
    { "name": "ANTHROPIC_AUTH_TOKEN", "value": "sk-gw-ВАШ_КЛЮЧ" },
    { "name": "ANTHROPIC_API_KEY", "value": "" },
    { "name": "ANTHROPIC_MODEL", "value": "openai/gpt-4o-mini" }
  ]
}

Не задавайте одну и ту же переменную и здесь, и в ~/.claude/settings.json — выберите одно место, чтобы конфигурация оставалась предсказуемой.

Ограничения

  • Работают только чат-модели (text-вывод). Image-, видео- и embedding-модели каталога через Claude Code недоступны.
  • Ползунок reasoning effort показывается только для Claude-моделей — у остальных глубина рассуждений управляется самой моделью.
  • Экономия на кэшировании промптов — сильная сторона именно Claude-моделей; у других провайдеров кэш работает иначе или не работает вовсе.
  • Claude Code — агент, обученный в первую очередь под Claude. С другими моделями он работает, но качество агентных сценариев (инструменты, длинные сессии) может отличаться.

Statusline с балансом

В нижней строке TUI Claude Code можно выводить текущий баланс Hubris, расход сессии и активную модель. Скрипт обновляется на каждом турне и не блокирует ответ модели.

Установка (Linux / macOS / WSL)

curl -fsSL https://hubris.pw/scripts/claude-statusline.sh \
  -o ~/.claude/hubris-statusline.sh
chmod +x ~/.claude/hubris-statusline.sh

Добавьте в ~/.claude/settings.json:

{
  "statusLine": {
    "type": "command",
    "command": "~/.claude/hubris-statusline.sh"
  }
}

Установка (Windows / кросс-платформа на Node.js)

Invoke-WebRequest -Uri https://hubris.pw/scripts/claude-statusline.mjs `
  -OutFile $env:USERPROFILE\.claude\hubris-statusline.mjs

В ~/.claude/settings.json:

{
  "statusLine": {
    "type": "command",
    "command": "node ~/.claude/hubris-statusline.mjs"
  }
}

Скрипт читает ANTHROPIC_AUTH_TOKEN из среды (тот же ключ, что использует CC) и обращается к /v1/usage за расходом и балансом. Запросы на статус — бесплатны (не списываются с баланса).

Пример вывода:

 hubris │ Sonnet 5 │ session 0,42 ₽ · today 12,18 ₽ · balance 1 287 ₽

Прочая конфигурация

Переменная окруженияЧто делает
ANTHROPIC_BASE_URLURL шлюза. Для Hubris — https://api.hubris.pw.
ANTHROPIC_AUTH_TOKENAPI-ключ sk-gw-…. Используется как Authorization: Bearer.
ANTHROPIC_MODELмодель по умолчанию.
ANTHROPIC_SMALL_FAST_MODELмодель для лёгких подзадач (резюмирование, выбор имени). Оставляйте anthropic/claude-haiku-4.5.
ANTHROPIC_DEFAULT_HAIKU_MODEL / ..._SONNET_MODEL / ..._OPUS_MODELкакие модели подставляются в стандартные пункты переключателя /model.
ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIESявное объявление возможностей модели (effort, thinking) — нужно при канонических id, см. раздел про reasoning effort.
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC1 — отключает фоновые запросы Claude Code к сервисам Anthropic (телеметрия, проверка обновлений). Необязательно.

Дневные лимиты

Если на ключе включён дневной лимит трат (можно поставить на /keys), Hubris вернёт 429 rate_limit_error. Claude Code отобразит ошибку в TUI и предложит остановить сессию. Лимит обнуляется ежедневно в 00:00 UTC.

Кэширование промптов

Claude Code сам управляет cache_control для длинных системных промптов и расшаренного контекста. Hubris передаёт это поле в Anthropic без изменений и списывает по фактической стоимости с учётом cache hit (0,1× от обычной цены) или cache write (1,25×). Подробности — в API-референсе /v1/messages.

Часто задаваемые вопросы

Можно ли использовать через настоящий ключ Anthropic параллельно? Да: переменные ANTHROPIC_* локальные. Достаточно открыть второй терминал без них — Claude Code пойдёт напрямую.

Где увидеть детальный расход? Все запросы появляются на странице Использование с разбивкой по моделям и времени. Через API — GET /v1/usage.

Поддерживается ли Privacy Mode для маскирования PII? В первой версии — нет. Если нужно маскирование, делайте запросы через /v1/chat/completions с заголовком X-Hubris-Privacy-Mask. Поддержка на /v1/messages появится позже.

Что делать, если Hubris отвечает 404 not_found_error на модель? Чаще всего это короткое имя новой модели (например claude-opus-4-8), которое шлюз пока не распознаёт. Используйте канонический id из каталогаanthropic/claude-opus-4.8 — или переключитесь командой /model.

Пропал ползунок low/medium/high у Opus — как вернуть? Добавьте ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES в блок env (см. рекомендуемый конфиг) и перезапустите VS Code. Подробности — в разделе про reasoning effort.

Что дальше

Обновлено: