Практика с Hermes Agent: сборка AI‑ассистента для всех платформ Telegram/Feishu/корпоративный WeCom

April 1, 2026

Сложность: средняя · Время: ~ 20 минут · Результат: освоить ключевые настройки подключения Hermes на всех платформах

Вы когда-нибудь думали — один и тот же AI‑ассистент, который одновременно работает в Telegram, Feishu и WeCom, и при этом разворачивается всего один раз? Hermes Agent это позволяет.

Это самообучающийся AI Agent с открытым исходным кодом от Nous Research. Одна из его главных особенностей — встроенный единый шлюз сообщений для всех платформ. Вам достаточно запустить один процесс на сервере — и вы сразу подключаете 10+ платформ, включая Telegram, Discord, Slack, Feishu, WeCom, Signal, WhatsApp и др. Сообщения автоматически маршрутизируются, память между платформами общая, настройка выполняется один раз и действует постоянно.

В этой статье мы вместе подключим все три самых популярных платформы — Telegram, Feishu (Lark) и корпоративный WeCom — полностью.


Целевая аудитория

Эта статья будет полезна следующим разработчикам:

  • Тем, у кого уже есть базовые знания Linux / командной строки, и кто хочет самостоятельно хостить AI Agent на сервере
  • Независимым разработчикам или небольшим командам, которым нужен доступ к сообщениям на нескольких платформах
  • Командам, которые оценивают Hermes Agent как замену OpenClaw

TIP

Если у вас ещё нет LLM API Key, рекомендуем получить его в Defapi. На Defapi Claude Opus 4.6 стоит $2.5 за ввод / $12.5 за вывод за миллион токенов — вдвое дешевле, чем официальные цены. Очень выгодное соотношение цены и качества. Поддерживаемые протоколы интерфейсов см. в документации Defapi Claude.


Ключевые зависимости и окружение

ЗависимостьОписание
Python3.11+ (установочный скрипт всё настроит автоматически)
Операционная системаLinux (Ubuntu 22.04+), macOS или WSL2
Аккаунты платформTelegram Bot Token / Feishu корпоративное приложение / WeCom
LLM API KeyРекомендуется Defapi (Claude Opus 4.6 — полцены)
DockerНеобязательно; начиная с v0.6.0 контейнерная сборка официально поддерживается

WARNING

На Windows «из коробки» не поддерживается. Установите WSL2, а затем запускайте всё в терминале WSL2.


Полная структура проекта

hermes-agent/
├── scripts/
│   └── install.sh              # скрипт для установки «в один клик»
└── ~/.hermes/                   # главная директория настроек (создаётся автоматически после установки)
    ├── config.yaml              # ключевая конфигурация (модель, набор инструментов)
    ├── .env                     # API Keys (не отправляйте в Git!)
    ├── skills/                  # директория навыков
    ├── memory/                  # постоянная память
    ├── sessions/                # история сессий (FTS5 полнотекстовый поиск)
    └── gateway/                 # настройки шлюза (отдельные YAML для каждой платформы)
        ├── telegram.yaml
        ├── feishu.yaml
        └── wecom.yaml

Пошаговая инструкция

Шаг 1: установка Hermes Agent «в один клик»

На Linux / macOS / WSL2 выполните официальный установочный скрипт:

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

Установочный скрипт автоматически настроит Python, Node.js и все зависимости — никакого ручного вмешательства на всём пути не потребуется. После завершения перезагрузите shell:

source ~/.bashrc    # для пользователей bash
source ~/.zshrc     # для пользователей zsh

Проверьте, что установка прошла успешно:

hermes doctor

TIP

hermes doctor автоматически диагностирует проблемы окружения — версию Python, API Key, сетевую связность, зависимости инструментов и т. п. Настоятельно рекомендуется выполнить это на первом запуске.

Шаг 2: настройка LLM Provider — подключаем Defapi

Далее нужно указать Hermes, где искать большую языковую модель. Запишем API Key в файл .env:

hermes config set ANTHROPIC_API_KEY <your-defapi-key>

Defapi совместим с протоколом интерфейса Anthropic v1/messages, и Hermes может подключаться напрямую. Также можно интерактивно выбрать модель и Provider с помощью команды hermes model:

hermes model
# интерактивный выбор:
# 1. Nous Portal
# 2. OpenRouter (200+ моделей)
# 3. OpenAI
# 4. Defapi / пользовательский endpoint
# 5. Другое...

Если используете Defapi, в интерактивном меню выберите пользовательский endpoint (Custom) и укажите:

API Endpoint: https://api.defapi.org
Model: anthropic/claude-opus-4.6

WARNING

Файл .env содержит ваш API Key — ни в коем случае не отправляйте его в Git‑репозиторий. Если вы запускаете через Docker, передавайте ключ через переменные окружения или Docker Secrets, а не записывайте напрямую в Dockerfile.

Шаг 3: подключаем первую платформу — Telegram Bot

Это самый простой вариант для проверки: у Telegram Bot API открытый доступ, поэтому не нужна корпоративная сертификация.

3.1 Создаём бота

В Telegram найдите @BotFather, отправьте /newbot, затем задайте имя бота по подсказкам и получите BOT_TOKEN. Формат примерно такой: 123456789:ABCdefGHIjklMNOpqrsTUVwxyz.

3.2 Настраиваем шлюз Hermes

hermes gateway setup
# выбираем telegram и переходим в интерактивную настройку

Или создайте вручную ~/.hermes/gateway/telegram.yaml:

platform: telegram
enabled: true
bot_token: "123456789:ABCdefGHIjklMNOpqrsTUVwxyz"

# Контроль доступа: разрешены только определённые пользователи
allowed_users:
  - your_telegram_username

# Настройки безопасности
require_approval_for_dangerous_tools: true

3.3 Проверка

После запуска шлюза отправьте боту сообщение:

hermes gateway start
# или запуск в фоне:
hermes gateway start --daemon

В Telegram отправьте боту /new — бот должен ответить приветственным сообщением. Отправьте короткое сообщение на русском, например «привет», и посмотрите, отвечает ли AI.

TIP

Если бот не отвечает, проверьте: hermes gateway status (состояние), hermes logs (последние логи). Частые причины — неверно введён Bot Token или порт занят.

Шаг 4: подключаем Feishu (корпоративное приложение Lark)

Подключение Feishu чуть сложнее: нужно создать в Feishu Open Platform корпоративное приложение (self-built app).

4.1 Создаём приложение в Feishu Open Platform

  1. Откройте Feishu Open Platform и создайте корпоративное self-built приложение
  2. В разделе «Документы и базовая информация» получите App ID и App Secret
  3. Включите возможности «бот»

4.2 Настраиваем подписку на события

В разделе «Подписки на события» для приложения:

  • URL для запроса: https://ваш_домен/gateway/feishu/webhook
  • Выбор событий: im.message.receive_v1 (получение сообщений)

WARNING

Feishu требует, чтобы callback URL был доступен из публичной сети по HTTPS. Если у вашего сервера нет публичного доменного имени, используйте ngrok для временного проброса во внутреннюю сеть: ngrok http 8080, а затем укажите сгенерированный HTTPS‑адрес в Feishu.

4.3 Устанавливаем приложение в компанию

В разделе «Управление версиями и публикация» создайте версию и опубликуйте её — иначе бот не сможет получать сообщения.

4.4 Настраиваем шлюз Hermes

hermes gateway setup
# выбираем feishu; в интерактивной форме укажите App ID и App Secret

Отредактируйте вручную ~/.hermes/gateway/feishu.yaml:

platform: feishu
enabled: true
app_id: "cli_xxxxxxxxxxxxxx"
app_secret: "xxxxxxxxxxxxxxxxxxxx"
verification_token: "your_verification_token"

# Шифрование сообщений (опционально, но рекомендуется)
encrypt_key: "your_encrypt_key"

# Разрешённые группы и пользователи
allowed_chats: []
require_mention: false

4.5 Проверка

В Feishu отправьте боту /new и проверьте, есть ли ответ. Формат сообщений в Feishu отличается от Telegram: бот поддерживает карточки с расширенным форматированием, а Hermes автоматически адаптирует сообщения.

Шаг 5: подключаем корпоративный WeCom (WeCom)

WeCom подключается похоже на Feishu — также используется режим callback Webhook.

5.1 Создаём приложение в админке WeCom

  1. Войдите в административную панель WeCom
  2. Перейдите в «Управление приложениями» → «Создать приложение» → выберите «Корпоративное self-built»
  3. Получите AgentId, Secret и CorpId компании
  4. Настройте «Доверенные IP» на IP вашего сервера

5.2 Настраиваем приём сообщений

В настройках приложения включите режим «Приём сообщений»:

  • Укажите URL: https://ваш_домен/gateway/wecom/webhook
  • Выберите «совместимый режим» или «режим событий»

5.3 Настраиваем шлюз Hermes

# ~/.hermes/gateway/wecom.yaml
platform: wecom
enabled: true
corp_id: "wwxxxxxxxxxxxxxx"
agent_id: "1000001"
corp_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
encrypt_mode: "safe"    # безопасный режим требует настройки encoding_aes_key
encoding_aes_key: "your_32_char_aes_key"

5.4 Проверка

В WeCom найдите ваше приложение и отправьте тестовое сообщение.

TIP

WeCom строго требует IP‑белый список. Если вы развернули систему на облачном сервере (например, DigitalOcean или Hetzner), обязательно добавьте публичный IP сервера в список доверенных IP в админке. Иначе сообщения будут отклоняться WeCom напрямую.

Шаг 6: запускаем шлюз — один раз, три платформы

После завершения настройки всех платформ запускайте шлюз одной командой:

hermes gateway start

Hermes автоматически загрузит все включённые платформы из ~/.hermes/gateway/ и запустит все адаптеры параллельно. Если какая-то платформа не стартует (например, из-за неверного токена), это не повлияет на корректную работу остальных.

Проверить состояние платформ можно командой hermes gateway status:

Platform  Status   Users   Messages
telegram  ● online   3         142
feishu    ● online   7          89
wecom     ● online   2          15

Остановите шлюз через Ctrl+C или запускайте в фоне после добавления --daemon:

hermes gateway start --daemon

Шаг 7: проверка сообщений на нескольких платформах

Теперь вы можете отправлять сообщения на трёх платформах по отдельности, чтобы протестировать бота:

# Telegram
/new
привет, представься

# Feishu
/new
кто ты?

# WeCom
/new
чем я могу помочь?

Ответы на всех трёх сторонах полностью совпадают, память общая — то, что вы сказали в Telegram, знают и Feishu, и WeCom. Именно это — ключевая ценность Hermes: одна настройка — единый опыт на всех платформах.

TIP

Если вы хотите, чтобы для каждой платформы работали разные экземпляры Agent (разные модели, разные наборы навыков), можно использовать добавленную в Hermes v0.6.0 функцию Profiles: hermes -p telegram profile create. Затем в разных profile настраивайте разные модели и платформы. Profile полностью изолированы и не влияют друг на друга.


Частые проблемы и диагностика

1. Telegram Bot не получает сообщения

Симптом: бот полностью не реагирует, и в логах нет никаких записей.

Шаги диагностики:

# 1. Убедитесь, что Token правильный
hermes config get telegram.bot_token

# 2. Проверьте, что порт не занят
ss -tlnp | grep 8080

# 3. Если вы используете webhook‑режим, проверьте настройки Telegram Bot API
# Webhook URL должен быть доступен из публичной сети; для локальной разработки используйте ngrok
ngrok http 8080

# 4. Сбросьте webhook (иногда бот «залипает» на старом webhook)
curl -X POST "https://api.telegram.org/bot<YOUR_TOKEN>/deleteWebhook"

2. Ошибка валидации callback в Feishu

Симптом: в Feishu Open Platform отображается «Ошибка проверки URL callback».

Шаги диагностики:

# 1. Убедитесь, что публичный URL доступен
curl -X GET "https://your-domain.com/gateway/feishu/webhook"

# 2. Проверьте подпись/проверку Feishu
# Feishu использует AES‑шифрование сообщений, encrypt_key должен совпадать с настройками в админке
# Посмотреть логи Hermes:
hermes logs --platform feishu

WARNING

Шифровальный режим Feishu (encrypt_mode) должен совпадать с тем, что задано в админке. Если в админке выбрано «безопасный режим», то в конфигурации Hermes тоже нужно указать encrypt_mode: safe и соответствующий encoding_aes_key.

3. Сообщения WeCom без ответа

Симптом: сообщение отправлено, но ответа нет, в логах нет записей.

Шаги диагностики:

# 1. Убедитесь, что CorpId / AgentId / Secret указаны правильно
# 2. Самое важное: проверьте IP белого списка
# WeCom требует, чтобы сервер, который вызывает API, был в списке доверенных IP

# 3. Протестируйте получение AccessToken
curl "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=wwxxx&corpsecret=secret"

# Если вернётся "errmsg": "ip not in whitelist", значит IP не добавлен

4. Модель не отвечает

Симптом: сообщение бот получает, но AI не отвечает; постоянно отображается «thinking».

Шаги диагностики:

# 1. Проверка валидности API Key
curl -X POST "https://api.defapi.org/api/v1/messages" \
  -H "Authorization: Bearer <your-key>" \
  -H "Content-Type: application/json" \
  -d '{"model":"anthropic/claude-opus-4.6","messages":[{"role":"user","content":"hi"}],"max_tokens":10}'

# 2. Проверить настройки модели
hermes config get model

# 3. Проверить fallback_providers (рекомендуется)
# Добавьте резервный Provider в ~/.hermes/config.yaml:
fallback_providers:
  - provider: openrouter
    api_key: "${OPENROUTER_API_KEY}"

TIP

Рекомендуется, кроме Defapi, как минимум настроить один запасной Provider. Hermes v0.6.0 поддерживает цепочечные вызовы через fallback_providers: если основной Provider таймаутит или возвращает ошибку, Hermes автоматически переключится на резервный и Agent не «отвалится».

5. Ошибки при выполнении инструментов

Симптом: бот отвечает, что не может выполнить какую-то операцию.

Шаги диагностики:

# 1. Посмотреть, какие наборы инструментов включены
hermes tools

# 2. Включить нужные наборы
hermes tools enable web_search
hermes tools enable terminal

# 3. Опасные команды требуют ручного подтверждения
# Проверьте конфигурацию:
hermes config get approval_required
# Если поставить true, все опасные команды потребуют вашего ручного подтверждения

6. Конфликт при параллельном запуске на разных платформах

Симптом: после получения сообщения одним из платформ остальные платформы тоже перестают отвечать.

Шаги диагностики:

Механизм token-lock в Hermes v0.6.0 предотвращает конфликт, если два экземпляра платформы используют один и тот же Bot Token. Но если вы запускаете на нескольких машинах несколько экземпляров для одного и того же бота, тогда эта проблема возникает.

# Убедитесь, что работает только один экземпляр Hermes шлюза
ps aux | grep hermes
pkill -f hermes-agent

# Затем запустите снова
hermes gateway start

TIP

С помощью функции Profiles можно запускать для каждой платформы полностью независимые экземпляры Hermes: у каждого profile есть собственные директории конфигурации, память и сессии. Profile изолированы друг от друга — это удобно, когда в команде разные участники используют «свой» Bot.


Дальнейшее чтение / направления для углубления

Переход с OpenClaw

Если вы уже используете OpenClaw, Hermes предоставляет официальную утилиту миграции: она автоматически импортирует SOUL.md, MEMORY.md, Skills, API Keys и настройки платформ сообщений.

hermes claw migrate              # интерактивная полная миграция
hermes claw migrate --dry-run    # сначала предпросмотр
hermes claw migrate --preset user-data  # не переносить чувствительную информацию

Режим MCP Server

В Hermes v0.6.0 добавлена возможность MCP Server: одной командой можно «выставить наружу» инструменты Hermes.

hermes mcp serve
# поддерживаются два протокола передачи: stdio и Streamable HTTP

После подключения Cursor, VS Code, Zed и другие IDE смогут вызывать все инструменты и диалоговые возможности Hermes через протокол MCP.

Пользовательская система Skills

Система Skills в Hermes поддерживает автоматическое создание навыков на основе описания на естественном языке. Также можно написать навыки вручную:

# Посмотреть имеющиеся навыки
hermes skills

# Просмотреть Skills Hub (сообщество/маркет навыков)
/skills

# Установить community skills из agentskills.io

Cron по расписанию

Задавайте расписание задач естественным языком: Hermes автоматически выполнит их и отправит результат на любую платформу.

# Каждый день в 8 утра отправлять Telegram отчёт о погоде
/cron "Every day at 8am, summarize today's weather and send to me" --platform telegram

Итог

Дизайн полного платформенного шлюза в Hermes Agent очень удачный: вам достаточно поддерживать одну конфигурацию, чтобы один и тот же экземпляр Agent работал на любых нескольких платформах сообщений. Память общая между платформами, настройка делается один раз, а потребление ресурсов заметно ниже, чем при запуске нескольких независимых Bot.

Если вы всё ещё используете OpenClaw или ищете действительно сильный open-source AI Agent, Hermes стоит того, чтобы выделить 20 минут на тест. В связке с Defapi (Claude Opus 4.6 со скидкой 50%) ежемесячные расходы можно сократить вдвое, а качество при этом не теряется.

Updated April 1, 2026