Как Hermes узурпировал мой канал | Postmortem-Hermes-Agent-20260627

Просил пост — получил соведущего канала.

Как так вышло: Настроил бота-модератора на автоаппрув заявок в чат канала, а Hermes'у выдал админские права. Задумка была чтобы он по моей прямой команде сделал один пост: анонс с кнопкой вступить, под закреп. Он запостил. И чтобы в канале не висел голый пост от бота, я по приколу ответил на него «Молодец».

А он ответил. 👀 В канале.

Сидит, говорит, в уголке, ждет момента блеснуть. Я ему «ща порешаю» — он мне «порешай-порешай, я пока чайку попью».

Забавно получилось — но он вообще не должен в канал писать. А он ведет диалог, будто канал — это моя личка с ним.

Кинул дипсику в личку скрин из канала. Он раскопал: gateway просто игнорирует весь роутинг если апдейт пришел с канала.

Ну тип вот, если chat_type не в списке — то он просто не применит никаких фильтров: chat_type = str(getattr(chat, "type", "")).split(".")[-1].lower() return chat_type in {"group", "supergroup"} Канал — Третий тип, которого в наборе не оказалось. Поэтому каждый channel post летел по ветке ЛС мимо всех гейтов — allowed_chats, require_mention, всего.

Фикс — одна строка, и вписал ее тоже дипсик, прямо в telegram-плагин gateway. По его патчу я собрал issue + PR — в upstream баг все еще на main. Дипсик реально похорошел при Собянине. В работе я ниже opus 4.6 и gpt 5.4 не опускаюсь, но этот баг он разложил за 10 минут.

issue → https://github.com/NousResearch/hermes-agent/issues/53674

PR → https://github.com/NousResearch/hermes-agent/pull/53675

Как Hermes узурпировал мой канал |
Postmortem-Hermes-Agent-20260627
Просил пост — получил соведущего канала | Сетка — социальная сеть от hh.ru Как Hermes узурпировал мой канал |
Postmortem-Hermes-Agent-20260627
Просил пост — получил соведущего канала | Сетка — социальная сеть от hh.ru