hubris

Crush

Подключение Hubris к Crush — терминальному агенту от Charm. Провайдер и модели добавляются двумя командами.

Crush — агент для терминала от Charm: читает и правит файлы проекта, запускает команды, работает с git, умеет подключать MCP-серверы. Живёт в консоли, интерфейс — на всю ширину терминала.

Hubris подключается как провайдер типа openai-compat.

Требования

Подключение

Crush настраивается файлом crushrc — это обычный Bash с несколькими встроенными командами Crush. У Crush собственный интерпретатор Bash, поэтому файл одинаково работает на Linux, macOS и Windows. Положите его в корень проекта как .crushrc или глобально в ~/.config/crush/crushrc (на Windows — %USERPROFILE%\.config\crush\crushrc).

Добавьте провайдера и хотя бы одну модель:

# .crushrc
provider add hubris --type openai-compat \
  --base-url "https://api.hubris.pw/v1" \
  --api-key "$HUBRIS_API_KEY"

model add hubris/anthropic/claude-sonnet-5 \
  --name "Claude Sonnet 5" \
  --context-window 1000000 \
  --default-max-tokens 8192

Ключ в файл не пишите — оставьте $HUBRIS_API_KEY и задайте переменную окружения в оболочке, из которой запускаете Crush:

export HUBRIS_API_KEY=sk-gw-ваш-ключ

provider add и model add — команды внутри crushrc, а не подкоманды crush в терминале: crush provider add … ответит «Unknown command». Старый формат crush.json с секцией providers Crush ещё читает, но считает устаревшим.

Тип провайдера — именно openai-compat, а не openai. В Crush тип openai означает «запрос идёт в саму OpenAI или через прокси к ней», а openai-compat — «сторонний сервис с OpenAI-совместимым API». Это ровно наш случай.

Адрес — https://api.hubris.pw/v1, с api. в начале и /v1 в конце. Домен hubris.pw — это сайт и личный кабинет, запросы к API он не обслуживает.

Проверить подключение, не заходя в интерфейс, можно одним запросом:

crush models | grep hubris
crush run -m hubris/anthropic/claude-sonnet-5 "Ответь одним словом: ок"

Имя модели

В model add имя составное: сначала провайдер, потом наш ID целиком, вместе с вендором — hubris/anthropic/claude-sonnet-5. Значения --context-window и --default-max-tokens берите из карточки модели в каталоге, а не наугад: если поставить окно больше настоящего, Crush отправит слишком длинный контекст и получит ошибку.

Добавьте столько моделей, сколько нужно, — переключаться между ними можно прямо в сессии.

# .crushrc
model add hubris/google/gemini-3.7-flash \
  --name "Gemini 3.7 Flash" \
  --context-window 1048576 \
  --default-max-tokens 8192

Выбор моделей

IDКогда подходит
anthropic/claude-sonnet-5основной выбор для работы с кодом
openai/gpt-6-astraсамые сложные задачи
deepseek/deepseek-v4-proнедорогая альтернатива
google/gemini-3.7-flashбыстрые мелкие правки

Каталог у нас открыт без ключа — список можно посмотреть прямо в браузере: api.hubris.pw/v1/models.

Каталог моделей Crush

Список моделей, который Crush предлагает из коробки, ведётся в отдельном репозитории Catwalk. Мы отправили туда Hubris — pull request на ревью. После приёма провайдер и модели появятся в списке сами, и команды выше станут не нужны. Пока PR не принят, добавляйте руками — результат тот же.

Решение проблем

Провайдер добавился, но модели не отвечают

Проверьте тип: должен быть openai-compat. С типом openai Crush построит запрос иначе и обратится не туда. Убедитесь, что HUBRIS_API_KEY задан в той же оболочке, откуда запущен Crush: crushrc подставляет переменную при загрузке, пустое значение уйдёт в запрос как пустой ключ.

Ошибка про модель

ID должен совпадать с каталожным символ в символ, вместе с вендором перед косой чертой. Короткие имена без вендора и имена с датой на конце мы не принимаем.

Агент упирается в длину ответа

Поднимите --default-max-tokens у модели: обрыв на полуслове означает лимит ответа, а не ошибку.

Ошибка про недостаточный баланс

Пополните баланс в кабинете — от 300 ₽, через СБП, банковской картой или по счёту для юридических лиц.

Проверено на Crush v0.92.0, 9 сентября 2026.

Что дальше

Обновлено: