Перейти к содержимому

Hermes Agent

Hermes Agent это агент от Nous Research: терминальный интерфейс, шлюзы в мессенджеры, свои скиллы и планировщик. Модель он берёт у любого OpenAI-совместимого эндпоинта, поэтому Waibee подключается правкой конфига.

Установка Hermes (см. его документацию):

Окно терминала
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

Ключ Hermes читает из своего .env:

~/.hermes/.env
WAIBEE_API_KEY=sk_live_...
~/.hermes/config.yaml
model:
provider: "custom"
base_url: "https://api.waibee.com/v1"
api_key: "${WAIBEE_API_KEY}"
default: "anthropic/claude-sonnet-4.6"

provider: "custom" это путь для любого OpenAI-совместимого эндпоинта, поэтому base_url указывается с суффиксом /v1: запросы уходят на POST /v1/chat/completions.

То же самое без редактора:

Окно терминала
hermes config set model.provider custom
hermes config set model.base_url https://api.waibee.com/v1
hermes config set model.api_key '${WAIBEE_API_KEY}'
hermes config set model.default anthropic/claude-sonnet-4.6
Окно терминала
hermes doctor # проверить конфигурацию и ключ
hermes # интерактивная сессия
hermes chat -q "что делает этот репозиторий?" # разовый запрос
hermes chat -q "..." -m google/gemini-3.6-flash # другая модель на один запуск

Идентификатор модели указывается полностью, как в каталоге: <провайдер>/<модель>. Работает и waibee/auto, тогда модель подбирает роутер, см. Autorouting.

Доступные идентификаторы:

Окно терминала
curl -s https://api.waibee.com/v1/models \
-H "Authorization: Bearer $WAIBEE_API_KEY" | jq -r '.data[].id'

Второй рабочий вариант: представиться Hermes как OpenAI API с подменённым адресом.

~/.hermes/config.yaml
model:
provider: "openai-api"
default: "anthropic/claude-sonnet-4.6"
~/.hermes/.env
OPENAI_API_KEY=sk_live_...
OPENAI_BASE_URL=https://api.waibee.com/v1

Плюс этого пути: интерактивный выбор модели (hermes model) подтягивает список из GET /v1/models, то есть каталог виден прямо в пикере. Минус: hermes doctor предупреждает, что идентификатор вида anthropic/claude-sonnet-4.6 выглядит как слаг агрегатора, а не как модель OpenAI. Предупреждение косметическое, запросы работают.

  • Инструменты Hermes (чтение файлов, команды, поиск) работают как обычно: он вызывает их через tool calling, см. Вызов инструментов.
  • Модели с рассуждениями работают, уровень задаётся настройками Hermes.
  • Кэширование промптов у моделей Claude включается само на стороне роутера.

HTTP 401: {"error":"unauthorized"} при provider: "custom". С этим провайдером Hermes не берёт ключ из OPENAI_API_KEY: нужен явный model.api_key в config.yaml (можно подстановкой ${WAIBEE_API_KEY}). Проверьте hermes config get model.api_key.

404 или model_not_found. Идентификатор без префикса провайдера. Нужен полный, например anthropic/claude-sonnet-4.6, см. Модели.

hermes doctor пишет, что ключ не настроен. .env лежит не там, где Hermes его ищет: путь виден в выводе hermes doctor (по умолчанию ~/.hermes/.env).

Каталог не тот, что ожидался. Список моделей зависит от вашего ключа. Сверьтесь с GET /v1/models тем же ключом, который прописан в Hermes.