Skip to content

Hermes Agent

Hermes Agent (от Nous Research) — персональный AI-агент, работающий через CLI, TUI, десктопное приложение и ~20 мессенджеров (Telegram, Discord, Slack и др.). Поддерживает любой OpenAI-совместимый эндпоинт через custom providers, поэтому с rout.my работает из коробки.

Быстрая настройка (интерактивно)

Самый простой путь — встроенный визард:

bash
hermes model

Выбери "Custom endpoint" и введи:

ПолеЗначение
Base URLhttps://api.rout.my/v1
API keyтвой sk_... ключ из дашборда
Modelлюбой ID из /v1/models, например anthropic/claude-fable-5

Hermes сохранит эндпоинт в ~/.hermes/config.yaml, настройка переживает перезапуски.

Ручная настройка

Либо отредактируй ~/.hermes/config.yaml напрямую:

yaml
model:
  default: anthropic/claude-fable-5
  provider: custom:rout.my
  base_url: https://api.rout.my/v1

custom_providers:
  - name: rout.my
    base_url: https://api.rout.my/v1
    api_key: ***
    model: anthropic/claude-fable-5
    prompt_caching: true        # см. предупреждение ниже — не пропускай
    models:
      anthropic/claude-fable-5:
        context_length: 200000
      openai/gpt-5.5:
        context_length: 128000

Запуск сессии:

bash
hermes chat

ВАЖНО — включи кэширование промптов (экономия ~75% на input-токенах)

По умолчанию Hermes отправляет Anthropic-брейкпоинты cache_control только известным ему провайдерам (OpenRouter, Nous Portal, нативный Anthropic). Для кастомного эндпоинта он не шлёт ничего — а без явных брейкпоинтов от клиента наша умная система кэширования вынуждена угадывать, где ставить якоря, что заметно менее эффективно для агентских нагрузок с огромными выводами инструментов.

rout.my полностью поддерживает Anthropic-разметку cache_control в OpenAI-формате для Claude-моделей, передаёт её как есть (клиентские маркеры всегда приоритетнее нашей автоматики) и тарифицирует чтение кэша по 0.1×.

Как включить — один из двух способов:

  1. Флаг в конфиге (если твоя сборка Hermes его поддерживает): добавь prompt_caching: true в запись rout.my в custom_providers, как в примере выше. Проверь после старта сессии: в usage должны расти cached_tokens от хода к ходу.

  2. Попроси агента настроить это самому. Hermes умеет патчить собственную provider policy. Вставь это в сессию Hermes:

    Enable Anthropic prompt caching for my custom provider rout.my (base_url https://api.rout.my/v1). Find anthropic_prompt_cache_policy in agent/agent_runtime_helpers.py and make it return (True, False) (envelope cache_control layout, same as the OpenRouter path) when the active provider is this custom endpoint and the model name contains "claude". The endpoint accepts Anthropic-style cache_control breakpoints on the OpenAI-compatible wire and serves real cache hits. After the change, verify that responses report non-zero cached_tokens in usage on the second turn of a conversation.

В обоих случаях проверить можно в дашборде: открой лог запросов и посмотри колонку cache_read — после первых пары ходов она должна расти вместе с размером контекста, а не стоять на месте.

Какие модели брать

Работает всё из /v1/models. Рекомендации для агентских нагрузок:

РольМодельПочему
Основнаяanthropic/claude-fable-5сильнейший tool-calling, 200K контекст, кэширование
Бюджетнаяz-ai/glm-5.2дёшево, быстро, хороший tool use
Длинный контекстgoogle/gemini-3.1-pro-preview1M контекст

Проверка ключа

bash
curl https://api.rout.my/v1/chat/completions \
  -H "Authorization: Bearer *** \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-fable-5",
    "messages": [{ "role": "user", "content": "Привет!" }]
  }'

Заметки

  • Hermes специально держит префикс диалога байт-в-байт стабильным ради кэширования — в паре с prompt_caching: true длинные агентские сессии дешевеют кратно.
  • Указывай context_length для каждой модели в models: (как в примере), чтобы компрессор контекста Hermes работал с правильным окном, а не с консервативным дефолтом.
  • Кэширование промптов относится к моделям anthropic/*. Для остальных семейств rout.my применяет своё умное кэширование автоматически, где апстрим его поддерживает (DeepSeek, Qwen, implicit caching у Gemini) — от клиента ничего не требуется.

API documentation for rout.my.