Hubris
Скачать из Google PlayСкачайте из RuStore
hubris

Hermes Agent

Подключение Hermes Agent от Nous Research к Hubris: агент с памятью, навыками и чатом через Telegram или почту, в том числе на своём сервере.

Hermes Agent — открытый AI-агент от Nous Research. Работает с файлами и терминалом, сам формирует «навыки» из опыта, хранит память между сессиями и принимает задачи через Telegram, почту и другие мессенджеры. Подключается к любому OpenAI-совместимому провайдеру.

Требования

  • Linux (в том числе VPS), macOS, WSL2 или Windows
  • Python 3.14: установщик ставит свой, системный не нужен
  • Аккаунт на hubris2.ru и API-ключ

Установка

curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
source ~/.bashrc   # или source ~/.zshrc

На Windows без WSL — в PowerShell:

iex (irm https://hermes-agent.nousresearch.com/install.ps1)

Настройки Hermes лежат в ~/.hermes/ (на Windows — в %LOCALAPPDATA%\hermes\): ключи и пароли в .env, остальное в config.yaml.

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

Через мастер

hermes model

Выберите в списке Custom endpoint (enter URL manually) и ответьте на вопросы:

ВопросОтвет
API base URLhttps://api.hubris2.ru/v1
API keyваш ключ из личного кабинета
API modeChat Completions
ModelHermes сам загрузит наш каталог и покажет список, выберите, например, anthropic/claude-haiku-4.5
Context lengthоставьте пустым, Hermes определит сам
Display nameлюбое, например Hubris
Reasoning effortоставьте предложенное

Мастер сохранит ключ в .env под именем HERMES_CUSTOM_API_HUBRIS_PW_API_KEY, а адрес и модель — в config.yaml. При первом запуске hermes setup тоже приводит к этому мастеру: выберите Full setup, затем шаг Model & Provider.

Через файлы конфигурации

~/.hermes/.env:

HUBRIS_API_KEY=sk-gw-...

~/.hermes/config.yaml:

model:
  default: anthropic/claude-haiku-4.5
  provider: custom
  base_url: https://api.hubris2.ru/v1
  key_env: HUBRIS_API_KEY

Адрес задаётся только полем base_url в config.yaml: строка OPENAI_BASE_URL в .env его не задаёт.

Проверка

hermes -z "Ответь одним словом: столица Франции?"

Команда печатает только ответ модели. Интерактивный режим — просто hermes. Сменить модель: hermes model или /model внутри сессии.

На сервере: работа в фоне

Чтобы Hermes отвечал в мессенджерах и почте без открытого терминала, установите его шлюз службой:

hermes gateway install
sudo loginctl enable-linger $USER   # служба не останавливается после выхода из SSH
hermes gateway start
hermes gateway status

Или службой системы, которая сама поднимается после перезагрузки сервера:

sudo hermes gateway install --system
sudo hermes gateway start --system

Журнал: journalctl --user -u hermes-gateway -f (для службы системы — journalctl -u hermes-gateway -f). Платформы для шлюза подключаются в ~/.hermes/.env, как в разделах ниже; после правки — hermes gateway restart. Выбрать и настроить их можно и мастером: hermes gateway setup.

Telegram

  1. У @BotFather создайте бота (/newbot), скопируйте токен.
  2. У @userinfobot узнайте свой Telegram ID.
  3. Добавьте в ~/.hermes/.env и перезапустите шлюз:
TELEGRAM_BOT_TOKEN=ваш_токен_от_BotFather
TELEGRAM_ALLOWED_USERS=ваш_telegram_id

Почта

Hermes читает входящие письма по IMAP и отвечает в той же переписке. Заведите для агента отдельный ящик: Hermes разбирает все новые письма в нём, а письма, пришедшие до запуска, пропускает.

Пример для Почты Mail.ru в ~/.hermes/.env:

EMAIL_ADDRESS=agent@mail.ru
EMAIL_PASSWORD=пароль_для_внешнего_приложения
EMAIL_IMAP_HOST=imap.mail.ru
EMAIL_IMAP_PORT=993
EMAIL_SMTP_HOST=smtp.mail.ru
EMAIL_SMTP_PORT=465
EMAIL_ALLOWED_USERS=ваш@адрес.ru
EMAIL_AUTHSERV_ID=значение_из_заголовка
  • Пароль. Обычный пароль от ящика не подойдёт. В Mail.ru: «Все настройки» → «Безопасность» → «Пароли для внешних приложений» → «Создать», доступ «Полный доступ к Почте»; к ящику должен быть привязан телефон (справка Mail.ru). В Gmail — пароль приложения, хосты imap.gmail.com и smtp.gmail.com, порт SMTP 587.
  • EMAIL_ALLOWED_USERS — адреса, от которых агент принимает задачи, через запятую. Письма с других адресов он пропускает.
  • EMAIL_AUTHSERV_ID: без него Hermes отбрасывает все письма. Откройте в ящике агента любое входящее письмо, посмотрите его служебные заголовки (в Mail.ru пункт «Служебные заголовки» в меню письма, в Gmail «Показать оригинал») и возьмите из верхней строки Authentication-Results текст до первой ;. У Gmail это mx.google.com.

После правки .env перезапустите шлюз: hermes gateway restart.

Веб-дашборд

hermes dashboard

Открывается на http://127.0.0.1:9119, в нём управляют сессиями, памятью и навыками. Дашборд хранит API-ключи: на сервере не открывайте его наружу, заходите через SSH-туннель:

ssh -L 9119:localhost:9119 user@ваш-сервер

Рекомендуемые модели

Hermes — агент с длинной сессией и многократными вызовами инструментов. Подойдут модели с хорошим tool calling:

IDКогда уместна
anthropic/claude-haiku-4.5быстрые типовые задачи
openai/gpt-4o-miniуниверсальный выбор
google/gemini-3.7-flashмультимодальные сценарии, большой контекст

Для сложных автономных задач (рефакторинг, длинные сессии) — Claude Sonnet/Opus из каталога. Каждый вопрос несёт около 12 тыс. токенов служебной инструкции с описанием инструментов, поэтому цена входных токенов у модели заметно влияет на расход.

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

hermes: command not found после установки

source ~/.bashrc   # или ~/.zshrc

Проверьте, что ~/.local/bin в PATH: echo $PATH.

HTTP 401: Неверный API-ключ

  • Ключ в .env записан без пробелов и кавычек и начинается с sk-gw-.
  • Имя переменной совпадает с key_env в config.yaml. Если настраивали мастером, ключ лежит в HERMES_CUSTOM_API_HUBRIS_PW_API_KEY.

provider 'custom' resolved without credentials

В config.yaml нет base_url. Допишите блок model: из раздела «Через файлы конфигурации». Строка OPENAI_BASE_URL в .env адрес не задаёт.

No usable credentials found for provider 'deepseek'

Hermes принял ваш провайдер за встроенный: так бывает, если назвать его именем встроенного (deepseek, openai). Укажите provider: custom и base_url, как в примере выше, а своему провайдеру не давайте имя встроенного. Модель DeepSeek задайте в default полным ID из каталога, например deepseek/deepseek-v4-flash.

rejected this request as malformed … HTTP 400

Это общая фраза Hermes для любого отказа 400. Причина — в тексте после Provider said: и в ~/.hermes/logs/agent.log; сам запрос виден в логах кабинета.

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

ID пишется полностью, с вендором, в точности как в каталоге: anthropic/claude-haiku-4.5, а не claude-haiku-4.5. Список — в каталоге или в мастере hermes model.

hermes doctor предупреждает о ключе или custom_providers

  • «No API key found in .env»: doctor знает только встроенные имена переменных; на работу с Hubris не влияет.
  • «Legacy custom_providers entry 'Hubris' has no providers: twin»: мастер дописал запись в старом формате; подключение работает и с ней.

Бот в Telegram или почта не отвечают

  • Проверьте шлюз: hermes gateway status и журнал службы.
  • Telegram ID в TELEGRAM_ALLOWED_USERS и адрес в EMAIL_ALLOWED_USERS записаны без пробелов и комментариев в той же строке (TOKEN=xyz # comment ломает разбор: комментарий выносите на отдельную строку).
  • Почта: строки «Dropping sender» в журнале значат, что не задан или не совпал EMAIL_AUTHSERV_ID.
Подключение к Hubris проверено на Hermes Agent 0.22.5, 24 октября 2026.

Что дальше

Обновлено: