
Hermes + Telegram: что может ИИ-агент и как подключить его безопасно
Короткий ответ: связка превращает Telegram в мобильный интерфейс к запущенному Hermes Agent. Из чата можно вести долгие сессии, отправлять голосовые сообщения, изображения и документы, запускать поиск, работу с файлами, кодом и браузером, подключать MCP-серверы, создавать навыки и…

Короткий ответ: связка превращает Telegram в мобильный интерфейс к запущенному Hermes Agent. Из чата можно вести долгие сессии, отправлять голосовые сообщения, изображения и документы, запускать поиск, работу с файлами, кодом и браузером, подключать MCP-серверы, создавать навыки и получать результаты задач по расписанию. Возможности определяет не Telegram, а набор включённых инструментов, модель, учетные записи и права процесса Hermes. Для безопасного старта нужен закрытый бот с allowlist по числовому Telegram ID, отдельный непривилегированный runtime, минимальный набор tools и ручное подтверждение действий с последствиями.
В этой статье под Hermes понимается NousResearch/hermes-agent — открытая агентская среда Nous Research. На 6 сентября 2026 года последний стабильный релиз — v0.21.0 от 31 августа 2026 года. Это важно уточнить: Hermes 3 — отдельное семейство языковых моделей, архивный Hermes Bot Mode — интерфейс профилей в Desktop, а hermes-telegram-business — дополнительный модуль для черновиков ответов в Telegram Business.
Как устроена связка Hermes и Telegram
Telegram передаёт сообщение боту, gateway Hermes проверяет отправителя, выбирает сессию и отправляет запрос модели. Модель может вернуть обычный текст или вызвать доступный инструмент. Gateway выполняет разрешённый вызов на локальной машине, VPS, в контейнере или удалённой песочнице, сохраняет состояние и доставляет ответ через Bot API.
Пользователь в Telegram
↓
Telegram Bot API
↓
Hermes gateway: allowlist → профиль → чат/тема → сессия
↓
LLM-провайдер ↔ инструменты / skills / MCP / файловая система
↓
state.db, memory, cron, логи и созданные файлы
↓
Telegram Bot API → текст, кнопки, голос, изображение или документ
В этой цепочке несколько независимых границ.
| Слой | За что отвечает | Чего сам по себе не даёт |
|---|---|---|
| Telegram | сообщения, файлы, темы, кнопки, push-уведомления | модель, память Hermes, shell или доступ к SaaS |
| Hermes gateway | авторизация, маршрутизация сессий, tools, approvals, cron и доставка | отсутствующие API, учетные записи и права |
| LLM | анализирует запрос, строит план и выбирает вызовы инструментов | гарантированно правильный результат или право совершить действие |
| Tool или MCP | выполняет конкретную операцию: поиск, чтение файла, запрос к GitHub, браузер | безопасный бизнес-процесс без ограничений и проверки |
| Skill | подсказывает агенту процедуру и правила работы | новый технический доступ, если нужного инструмента и credentials нет |
| Runtime | предоставляет CPU, диск, сеть и изоляцию | конфиденциальность данных у Telegram и облачного LLM-провайдера |
| Оператор | выдаёт права, задаёт лимиты и подтверждает последствия | возможность делегировать ответственность модели |
Если подключить GitHub MCP только для чтения, Hermes сможет разбирать issues и diff, но не получит права merge. Если выдать браузеру сессию интернет-банка и разрешить клики, техническая поверхность резко расширится. Поэтому фраза «Hermes умеет отправлять письма» корректна лишь при трёх условиях: подключён инструмент почты, есть учетная запись с правами и оператор разрешил конкретную отправку.
Что можно делать из Telegram
В стандартной конфигурации Telegram использует широкий профиль hermes-telegram, совпадающий с набором инструментов интерактивного CLI. Это удобно для личного закрытого бота и слишком щедро для общей группы. Сначала полезно разложить возможности по зависимостям.
| Сценарий | Что подтверждено в Hermes | Что потребуется дополнительно |
|---|---|---|
| Диалог и длинная задача | streaming/status, остановка, уточняющие кнопки, продолжение сессии | работающий gateway и LLM |
| Поиск и исследование | web search/extract, браузерные инструменты | backend поиска или Tool Gateway, иногда API key |
| Код и shell | terminal, process, execute_code, чтение и изменение файлов | доступный runtime; для безопасности Docker/SSH/sandbox |
| Работа с репозиторием | локальные git-команды или GitHub MCP | scoped token, нужный репозиторий и отдельное разрешение на запись |
| Документы и таблицы | файлы можно принять, обработать и вернуть | подходящий skill/library; для облачного документа — API/MCP и credentials |
| Голосовые заметки | входящий voice транскрибируется | local faster-whisper либо Groq/OpenAI key; можно отключить STT и передать raw audio инструменту |
| Голосовой ответ | TTS отправляется как voice bubble | настроенный TTS; Edge TTS требует ffmpeg для Opus |
| Изображения | приём, vision-анализ, генерация и отправка | vision/image backend и подходящая модель или API |
| Автоматизация | one-shot и recurring cron, /bg, доставка результата в домашний чат |
постоянно доступный gateway; self-contained prompt и разрешённые tools |
| Внешние сервисы | MCP, native plugins и skills | установка проверенного кода, узкие tools, отдельная учетная запись |
| Память | сохранённые сессии, curated memory, поиск по прошлым разговорам | диск/volume, backup и понятная политика хранения |
Hermes также поддерживает /model: в Telegram можно переключаться между уже настроенными провайдерами и моделями. Первичную авторизацию нового провайдера безопаснее выполнять на сервере или локальном терминале, потому что API key и OAuth-коды не должны попадать в чат.
Что требует явного подтверждения
Техническая возможность и полномочие пользователя — разные вещи. Полезно заранее зафиксировать действия, которые агент только готовит:
- отправка письма, сообщения, комментария или публикации от имени человека;
- покупка, платёж, ставка, изменение тарифа или квоты;
- деплой в production, merge, push в защищённую ветку;
- удаление данных, ротация ключа, изменение DNS или firewall;
- приглашение пользователя, выдача роли или изменение доступа;
- загрузка конфиденциального файла во внешний сервис.
Встроенный approval ловит опасные shell-команды, но не знает смысл каждого вызова стороннего API. Например, MCP-метод send_invoice может выглядеть как обычный JSON-вызов. Для таких операций нужен процесс «preview → явное подтверждение → write → read-back», а в MCP стоит оставлять только методы, действительно нужные этому профилю.
Где запускать Hermes
Telegram не хостит Hermes. Gateway должен работать на устройстве, которое доступно в момент поступления сообщения или webhook.
| Вариант | Когда подходит | Основной риск или расход |
|---|---|---|
| Личный компьютер | эксперименты, работа только когда компьютер включён | сон, перезагрузка и смена сети останавливают бота |
| VPS | личный агент 24/7, cron, стабильный адрес | нужно обновлять ОС, хранить secrets и следить за процессом |
| Hermes в Docker | переносимое развертывание и простой restart | volume с ~/.hermes становится критичным; container сам по себе не ограничивает внешние credentials |
| Docker как terminal backend | Hermes на host, команды в изолированной среде | нельзя бездумно монтировать весь home и пробрасывать env |
| SSH/облачная песочница | отделить агентский runtime от gateway или основной машины | добавляются сеть, стоимость и управление credentials |
| Локальная модель | требования к приватности или офлайн-инференсу | нужен совместимый endpoint и достаточно CPU/GPU/RAM; качество tool calling зависит от модели |
Самостоятельный хостинг Hermes сохраняет его state.db, skills и конфигурацию на выбранной машине. Текст всё равно проходит через Telegram Cloud. При облачной модели часть запроса отправляется LLM-провайдеру, а web/MCP-инструменты могут передавать данные своим сервисам. Поэтому «self-hosted» описывает место работы gateway, а не обещание, что данные никогда не покидают сервер.
Polling или webhook
Официальная интеграция Hermes использует long polling по умолчанию. Gateway сам запрашивает новые updates у Telegram. Webhook меняет направление: Telegram отправляет HTTPS-запрос на публичный URL.
| Критерий | Long polling | Webhook |
|---|---|---|
| Настройка | токен, allowlist, запущенный gateway | публичный HTTPS URL, reverse proxy/port и secret |
| Входящее соединение | не требуется | требуется |
| Локальная машина/VPS | удобный default | имеет смысл при готовой HTTPS-инфраструктуре |
| Sleep-to-zero hosting | процесс должен просыпаться сам и опрашивать API | входящий запрос может разбудить сервис |
| Диагностика | логи gateway и доступ к api.telegram.org |
дополнительно DNS, TLS, routing, firewall и webhook status |
Bot API не позволяет одновременно получать updates через getUpdates и webhook. Для public Bot API Telegram указывает webhook-порты 443, 80, 88 и 8443. Hermes требует TELEGRAM_WEBHOOK_SECRET, когда задан URL, и сверяет заголовок X-Telegram-Bot-Api-Secret-Token.
Безопасная минимальная настройка
Ниже — маршрут для личного тестового бота. Команды приведены как инструкция; они не выполнялись при подготовке статьи. Перед подключением Hermes полезно проверить базовый шаг — как создать бота в Telegram.
Подготовьте отдельную среду
Создайте непривилегированного пользователя ОС и отдельный каталог данных. Для первого опыта используйте тестовую папку без production-ключей. На сервере заранее решите, будет ли Hermes работать как system service или в контейнере с persistent volume.
Официальная документация предлагает такие установщики:
#Linux, macOS, WSL2
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
#Native Windows PowerShell
iex (irm https://hermes-agent.nousresearch.com/install.ps1)
Pipe-to-shell экономит время, но исполняет свежий удалённый код. Для постоянного сервера сначала прочитайте скрипт, проверьте официальный домен и release notes, сохраните версию конфигурации и подготовьте rollback. После установки выполните hermes setup или отдельно hermes model, добейтесь ответа в CLI и только затем подключайте Telegram.
Создайте бота и узнайте ID
В диалоге с официальным @BotFather выполните /newbot, задайте имя и уникальный username, заканчивающийся на bot. BotFather выдаст token. Считайте его паролем: владелец токена управляет ботом. При утечке используйте /revoke и замените значение на сервере.
Hermes проверяет числовой Telegram user ID, а не @username. Его можно получить через проверенного ID-бота, собственный update/log flow или pairing. Для первого запуска проще заранее разрешить один личный ID.
Сохраните секреты вне YAML и git
Файл ~/.hermes/.env:
TELEGRAM_BOT_TOKEN=<BOT_TOKEN_FROM_BOTFATHER>
TELEGRAM_ALLOWED_USERS=<YOUR_NUMERIC_TELEGRAM_USER_ID>
#Добавляйте только при webhook-развертывании:
#TELEGRAM_WEBHOOK_URL=https://bot.example.com/telegram
#TELEGRAM_WEBHOOK_SECRET=<LONG_RANDOM_SECRET>
Не ставьте *, не включайте GATEWAY_ALLOW_ALL_USERS=true и не добавляйте группу до успешного теста в личном чате. Без allowlist или подтверждённого pairing Hermes по текущей документации запрещает доступ всем неизвестным пользователям.
Сузьте инструменты Telegram
Для справочного бота без доступа к диску и shell можно начать так:
#Файл ~/.hermes/config.yaml
platform_toolsets:
telegram:
- web
- memory
- session_search
- clarify
approvals:
mode: manual
timeout: 300
cron_mode: deny
single_query_mode: deny
unattended_mode: deny
Затем откройте hermes tools и проверьте фактический набор для Telegram. Если нужны только локальные ответы модели, уберите и web. Если требуется чтение файлов, одного toolset file недостаточно для строгой read-only-модели: он включает операции записи. Используйте read-only MCP, права файловой системы или read-only volume.
Для команд и кода поместите terminal в контейнер и не монтируйте host-каталог автоматически:
terminal:
backend: docker
docker_image: python:3.11-slim
cwd: /workspace
docker_mount_cwd_to_workspace: false
container_cpu: 1
container_memory: 2048
container_disk: 10240
container_persistent: true
Значения ресурсов — пример лимитов, а не системные требования. Подключайте отдельный volume только к нужной рабочей папке. Не передавайте весь .env внутрь terminal; docker_forward_env должен содержать короткий allowlist.
Ограничьте MCP
Пример вымышленного read-only сервера:
mcp_servers:
project_tracker:
url: https://mcp.example.com
headers:
Authorization: "Bearer ${PROJECT_TRACKER_READ_TOKEN}"
tools:
include:
- list_projects
- get_project
- list_tasks
prompts: false
resources: false
Не копируйте неизвестный npx -y, uvx или bootstrap из каталога без просмотра manifest, source и устанавливаемого кода. Curated catalog означает предварительное ревью Nous, но не превращает сторонний сервер в доверенную часть вашей инфраструктуры.
Запустите и проверьте
hermes gateway
Для Linux-сервиса предусмотрены hermes gateway install, start, stop и status. В Docker официальный пример использует persistent mount /opt/data и --restart unless-stopped.
Первый тест выполняйте по нарастающей:
- Отправьте короткое сообщение в DM.
- Проверьте
/whoami,/statusи/usage. - Дайте read-only запрос к вебу или тестовому каталогу.
- Убедитесь, что неразрешённый ID не получает доступ.
- Перезапустите gateway и проверьте продолжение сессии.
- Только после этого добавляйте file, terminal, MCP, группу и cron по одному.
Сессии, память и темы Telegram
Hermes хранит каноническое состояние разговоров в ~/.hermes/state.db: metadata, сообщения, tool calls/results, модель, token counts и timestamps. Команды /new, /resume, /sessions и /compress управляют активным контекстом. Читать полный обзор сервиса Hermes.
Три понятия легко перепутать:
| Механизм | Что хранит | Для чего нужен |
|---|---|---|
| Сессия | подробную историю конкретного чата или темы | продолжить текущую работу и увидеть прошлые шаги |
| Persistent memory | отобранные предпочтения и устойчивые факты | переносить важное между сессиями |
| Skill | процедуру, шаблоны, scripts и references | повторять рабочий способ решения задачи |
Большой файл не прикладывается к каждому следующему запросу целиком. В сессии остаются путь, извлечённый текст, описание или результат обработки. Контекст всё равно растёт из-за длинных логов и tool outputs, поэтому используйте /compress и сохраняйте большие артефакты в файлы.
Telegram topics помогают разделить проекты на независимые дорожки. Однако память профиля может оставаться общей. Для разных клиентов, компаний или уровней доверия безопаснее отдельные профили с отдельными bot tokens, memory, skills, credentials и runtime, а не только темы одного группового чата.
Почему бот не видит старую историю группы
Bot API передаёт новые updates, доступные боту по его privacy-настройке. Он не превращает Hermes в клиент Telegram с произвольным чтением архива группы. Privacy mode по умолчанию оставляет команды, ответы боту и service messages; администратор или отключённый privacy mode получает обычные новые сообщения группы, кроме сообщений других ботов. После смены privacy mode бота нужно удалить и добавить снова.
Если задача требует учитывать текущую беседу, используйте явно разрешённый group/chat ID, require_mention и documented observe mode. Даже тогда прошлый архив до подключения автоматически не появляется.
Skills, MCP и «самообучение»
Hermes называет learning loop сочетание памяти, поиска по прошлым сессиям и создания/улучшения skills. Это полезная процедурная адаптация: после повторяющейся задачи агент может сохранить инструкцию и вспомогательные файлы. Она не означает переобучение весов выбранной LLM на ваших сообщениях.
Skills загружаются по необходимости и могут вызываться slash-командами из Telegram. При этом skill способен содержать scripts и инструкции по работе с credentials. Перед установкой изучите все связанные файлы. Для agent-created skills включите подтверждение записи и держите каталог под version control или backup.
MCP даёт реальные внешние операции. Разница практическая:
- skill объясняет, как выполнить задачу;
- tool реализует локальную функцию;
- MCP подключает удалённую или отдельную инструментальную систему;
- plugin расширяет сам Hermes и выполняет код внутри его среды.
Чем ближе расширение к runtime и секретам, тем строже должно быть ревью.
Задачи по расписанию и фоновая работа
Hermes gateway проверяет cron примерно раз в 60 секунд. Задача запускается в свежей agent session, поэтому prompt должен содержать цель, источник, критерий результата и правила тишины/ошибки. Persistent memory доступна, а история предыдущего cron-run автоматически не становится текущим разговором.
Примеры подходящих задач:
- раз в час проверить status page и сообщить только об изменении;
- утром собрать read-only сводку по задачам;
- вечером сохранить локальный отчёт и отправить файл;
- запустить детерминированный health-check в no-agent mode без расходов на LLM.
Важные предохранители:
- pin provider/model для recurring job;
- оставьте
cron_mode: denyдля опасных команд; - задайте узкий workdir и skills;
- ограничьте частоту и параллельность;
- для мутаций используйте idempotency key и read-back;
- различайте «ничего нового» и «проверка упала»;
- delivery в Telegram считайте at-least-once.
Hermes хранит delivery ledger. После сбоя он может повторно отправить недоставленный ответ; если подтверждение платформы потерялось в момент падения, дубликат помечается как восстановленный. Такая честная модель не делает внешние side effects exactly-once. Создание issue, заказа или публикации должно дедуплицироваться на стороне бизнес-операции.
Файлы, изображения и голос
Публичный Telegram Bot API позволяет скачать через getFile файл до 20 МБ и отправить файл до 50 МБ. Hermes документирует local Bot API server как обход для больших входящих файлов, но такой вариант требует Telegram API credentials, отдельного daemon и обслуживания. Лимиты Telegram меняются, поэтому перед рабочим pipeline сверяйте актуальный Bot API.
При Docker terminal созданный файл должен быть виден процессу gateway на host. Если agent записал /workspace/report.xlsx только внутри container, Telegram не найдёт этот путь. Решение — явно смонтировать output-каталог и возвращать MEDIA: с host-visible path.
Для чувствительных аудио и документов решите до запуска:
- где лежит cache и когда он очищается;
- выполняется ли STT локально или во внешнем API;
- передаётся ли изображение основной vision-модели;
- попадает ли извлечённый текст в сессию и backup;
- кто имеет доступ к volume и логам.
Модель угроз для Telegram-агента
| Риск | Реалистичный пример | Защита |
|---|---|---|
| Утечка bot token | token попал в git или скриншот | .env/secret manager, redaction, /revoke, отдельный test bot |
| Чужой пользователь | бота нашли по username | numeric allowlist, deny by default, pairing с ручным approve |
| Prompt injection | страница или сообщение требует вывести env | untrusted-content discipline, узкие tools, запрет secret reads, egress control |
| Лишние права группы | любой участник вызывает terminal | отдельный профиль, chat/user allowlists, mention-only, без terminal |
| Ошибка модели | агент выбрал не тот файл/репозиторий | dry-run, exact target, checkpoint/backup, diff и read-back |
| Деструктивная команда | рекурсивное удаление или изменение системы | manual/smart approval, hard blocklist, sandbox, unprivileged user |
| Опасный MCP | plugin запускает bootstrap или предоставляет delete | review source/manifest, tools.include, read-only token, отключить prompts/resources |
| Вывод секрета в лог | tool error печатает header/key | scoped secrets, redaction, display.tool_progress: log, периодический audit |
| Незащищённый webhook | публичный endpoint принимает поддельные POST | HTTPS, webhook secret, body/rate limits, reverse proxy и firewall |
| Дубликат действия | retry повторно создаёт заказ | idempotency key, external unique constraint, read-before-write/read-back |
| Потеря состояния | VPS или volume повреждён | backup ~/.hermes, проверка restore, version pin и staged upgrade |
| Неожиданные расходы | frequent cron использует дорогую модель | provider budget/alerts, отдельный key, model pin, /usage, no-agent mode |
Telegram — не секретный канал
Обычные Telegram-чаты относятся к Cloud Chats. End-to-end encryption используется в Secret Chats, а бот работает через Bot API и backend. Не отправляйте боту recovery codes, приватные ключи, seed-фразы, полные production .env и документы, которым нужен E2E-канал.
Allowlist не заменяет изоляцию
Числовой ID отвечает на вопрос «кто может обратиться к gateway». Он не сужает права процесса после допуска. Текущий admin/user split в основном ограничивает slash-команды; обычный текстовый запрос всё ещё может побудить модель вызвать доступный tool. Для общего бота создайте профиль без shell, write и личной памяти.
Write guard не равен sandbox
Hermes защищает write_file/patch denylist и optional safe root. Terminal запускается от имени процесса и способен менять доступные ему пути. Настоящая граница строится правами ОС, контейнером, read-only mounts, отдельной сетью и scoped credentials.
Лимиты, retries и стоимость
Telegram советует не превышать примерно одно сообщение в секунду в одном чате, 20 сообщений в минуту в группе и около 30 сообщений в секунду при массовой бесплатной рассылке. Превышение ведёт к 429. Поэтому status updates лучше редактировать в одном сообщении, уведомления агрегировать, а retry выполнять с задержкой из ответа API.
Gateway повторяет подключение к недоступной платформе с ограниченным exponential backoff. Постоянная ошибка — отозванный token, неверный proxy или firewall — тоже может выглядеть как бесконечное «retrying». Следите за health и gateway.log, а не только за наличием процесса.
У Hermes нет одной универсальной цены. Состав расходов:
- VPS или sandbox;
- входные и выходные токены основной модели;
- вспомогательные вызовы для vision, transcription, TTS, compression и title;
- платные web/browser/MCP API;
- хранение и трафик;
- cron frequency и параллельные subagents.
Команда /usage помогает видеть токены и оценку стоимости сессии, но жёсткий бюджет лучше задавать у провайдера: отдельный key, monthly cap, alerts и запрещённый fallback на неожиданно дорогую модель. Для cron используйте model pin и drift guard. Точные правила списания по потребительским подпискам различаются; официальные docs Hermes прямо оставляют часть семантики OpenAI Codex subscription недокументированной.
Частые неисправности
| Симптом | Что проверить |
|---|---|
| Бот молчит в DM | TELEGRAM_BOT_TOKEN, numeric ID в allowlist, доступ к api.telegram.org, gateway logs, model credentials |
| Ответ «unauthorized» | ID пользователя, профиль, pairing store и формат списка без @username |
| Бот не видит группу | BotFather privacy mode, admin status, удаление/повторное добавление, allowed chat/user IDs, mention rule |
| Webhook не получает updates | HTTPS, DNS, public route, supported port, reverse proxy, firewall, secret и отсутствие активного polling |
| Голос не транскрибируется | stt.enabled, faster-whisper или provider key, ffmpeg для нужного output |
| Файл не отправляется из Docker | существует ли host-visible path, volume mapping, extension и размер |
| После reboot бот offline | установлен ли service/restart policy, доступен ли volume, что пишет status/log |
| Старый контекст не появился | правильная ли chat/topic session, был ли /new, reset policy, /resume, memory vs session |
| Расходы выросли | /usage, cron list, model/provider pins, auxiliary models, subagents, частота и длина outputs |
| Агент просит ключ в Telegram | не отправлять; выполнить local hermes setup или обновить .env/secret manager |
Hermes или собственный Telegram-agent bridge
Самописный bridge — небольшой сервис, который принимает update, вызывает LLM и отправляет ответ. Для простого FAQ он может быть короче и прозрачнее. Разница появляется, когда нужны память, файлы, cron, несколько моделей, approvals и инструменты.
| Критерий | Hermes Agent | Собственный bridge |
|---|---|---|
| Первый рабочий прототип | gateway и setup уже есть | нужно написать webhook/polling, auth, session store и delivery |
| Модели | много встроенных providers и custom endpoint | полный контроль, но каждый transport поддерживается вами |
| Tools/MCP/skills | развитая готовая система | только нужные функции, зато всё проектируется с нуля |
| Memory/sessions | state.db, search, compression, profiles |
своя schema, retrieval, migration и backup |
| Cron/background | встроенные jobs, delivery и no-agent mode | очередь, scheduler и workers нужно выбрать и обслуживать |
| Безопасность | allowlists, approvals, write guards, sandbox backends | можно добиться более узкой модели, но все controls надо реализовать и тестировать |
| Наблюдаемость | logs, usage, session history, delivery ledger | зависит от вашего tracing и storage |
| Обновления | быстрые upstream changes требуют regression test | изменения полностью под вашим контролем |
| Размер attack surface | широкий, особенно с default toolset | минимальный при одном сценарии |
| Специальная бизнес-логика | через skill/plugin/MCP | проще встроить точный state machine и policy engine |
Выбирайте Hermes, когда нужен личный или командный агент общего назначения и вы готовы администрировать права. Пишите свой bridge, когда сценарий узкий, требует строгой схемы данных, формальной авторизации каждого действия, высокой нагрузки или предсказуемого UX. Компромиссный вариант — Hermes как операторская среда с узким MCP-сервером: бизнес-правила и idempotency остаются в вашем сервисе, а Telegram, модель, сессии и инструменты обслуживает Hermes.
Вывод
Hermes делает Telegram полноценным интерфейсом к агенту: с сессиями, памятью, голосом, файлами, моделью, инструментами и расписанием. Практическая ценность появляется, когда бот не только пишет текст, но и безопасно выполняет проверяемые рабочие операции. Читать полный обзор сервиса Telegram.
Начинайте с закрытого DM, одного numeric ID, минимального toolset и test workspace. Затем по одному добавляйте web, read-only MCP, файлы, sandboxed terminal и cron. Каждое внешнее право должно отвечать конкретному сценарию, а каждое действие с последствиями — иметь preview, явное подтверждение, idempotency и read-back. Такой подход сохраняет удобство Telegram, не превращая мобильный чат в публичный root-доступ к серверу.
Автор статьи

Контент-менеджер AI-раздела
Отвечает за каталог нейросетей и AI-инструментов. Следит за обновлениями LLM-моделей, тестирует новые сервисы и ведёт раздел бесплатных инструментов.
Вопросы и ответы
Да, если gateway запущен на этом компьютере через long polling. Для круглосуточной работы нужен VPS, always-on host, container service или webhook-платформа, способная просыпаться по входящему запросу.
Можно подключить локальный OpenAI-compatible endpoint, LM Studio, Ollama/vLLM-подобный сервер или доступный provider path. Нулевая цена API не означает нулевую стоимость: остаются вычисления, электроэнергия, VPS и время поддержки. Для сложных tools важна надёжность tool calling выбранной модели.
При privacy mode по умолчанию бот получает команды, ответы и часть service messages. Для обычных новых сообщений privacy mode отключают или дают боту admin-права, затем при необходимости передобавляют его. Hermes всё равно не получает произвольный старый архив группы.
Да, через списки numeric user IDs, group user/chat allowlists или ручной pairing. Для людей с разными уровнями доверия лучше отдельные профили и credentials. Ограничение slash-команд не заменяет per-user isolation enabled tools.
Topic отделяет разговор и его сессию внутри чата. Профиль отделяет конфигурацию, память, skills, credentials и историю агента. Клиенты и независимые проекты обычно заслуживают разных профилей.
Сессии, memory и cron хранятся на диске. Они переживут restart, если /.hermes или /opt/data находится на persistent storage и не повреждён. Запущенный background process может не пережить reboot; его нужно оформлять как service, cron или воспроизводимый job.
Вероятно, соответствующий toolset отключён, backend не настроен, credential отсутствует или runtime не видит путь. Проверьте hermes tools, /status, logs и права ОС. Не расширяйте доступ до всего home ради одного файла.
Public Bot API ограничивает getFile 20 МБ, а исходящую загрузку — 50 МБ на момент проверки. Local Bot API server снимает часть ограничений, но заметно усложняет эксплуатацию. Для больших материалов часто лучше передавать защищённую ссылку с ограниченным сроком и отдельными правами.
Не используйте бот как хранилище секретов. Bot chats проходят через Telegram Cloud, а запрос может уйти LLM- и tool-провайдерам. Keys и tokens храните в secret manager или .env, вводите через локальный setup и выдавайте минимальные scopes.
Технически enabled tools могут позволить это, но безопасный default для headless dangerous commands — deny. Для representational и production-действий создавайте отдельный approval-gated workflow. Автопроверки и черновики подходят для cron лучше безусловной публикации.
Нет. Delivery ledger использует модель at-least-once и честно помечает неоднозначную повторную доставку. Любая внешняя мутация должна иметь idempotency key или уникальный бизнес-идентификатор и проверку состояния после запроса.
Когда нужен один строго определённый сценарий, формальная ролевая модель, собственная очередь, высокая нагрузка или сертифицируемая логика. Hermes выгоднее как готовая многофункциональная агентская среда; custom bridge — как минимальная система с меньшей поверхностью атаки.
Стандартный Hermes gateway работает с отдельным ботом. Telegram Business integration находится в отдельном репозитории/plugin и предлагает владельцу черновики с ручной кнопкой Send. Её требования и ограничения следует оценивать отдельно.




Комментарии(0)
Оставьте комментарий
Войдите, чтобы присоединиться к обсуждению