From 8f36dcd21bc96df657d767fd72d31fa0892804a8 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Wed, 17 Jun 2026 15:40:30 +0600 Subject: [PATCH] [2026-06-17] hermes-eagle-mac.md: add router history, remaining steps, trigger=owner problem --- family/how-to/hermes-eagle-mac.md | 60 +++++++++++++++++++++++++++++-- 1 file changed, 58 insertions(+), 2 deletions(-) diff --git a/family/how-to/hermes-eagle-mac.md b/family/how-to/hermes-eagle-mac.md index 70b2452b..a219f6fd 100644 --- a/family/how-to/hermes-eagle-mac.md +++ b/family/how-to/hermes-eagle-mac.md @@ -275,9 +275,65 @@ PID актуальный — проверить перед kill. --- -### Проблема (2026-06-17) — что было не так и что сделано +--- -Eagle не отвечал на `@**Орёл**`. Причины: +### Шаг 5. Поправить роутер — route `/webhooks/whale` + +В конфиге роутера (`~/Docker/zulip-router/config.yaml`) добавить бота `Кит` +с webhook на новый порт (8646): + +```yaml +bots: + - name: "Кит" + aliases: ["Whale", "whale", "кит"] + webhook: "http://host.docker.internal:8646/webhooks/whale" +``` + +### Шаг 6. Проверить @mention всех ботов + +- `@**Орёл**` → Eagle отвечает +- `@**Кит**` → Кит отвечает +- `@**Валера**` → Валера отвечает (через роутер) +- `@**Клавдий**` → Клавдий отвечает (через роутер) + +### Шаг 7. Обновить доку zulip-router.md + +Записать: +- Актуальную схему роутинга с портами +- Статус TODO (проверено/не проверено) +- Проблему с trigger=owner + +--- + +## Что сделано по zulip-router (история) + +### 2026-06-16 — деплой zulip-router + +- Написан код роутера (`~/Developer/zulip-router/`, Go, ~260 LOC) +- Создан compose (`~/Docker/zulip-router/docker-compose.yaml`) +- Сеть `balda_default` (external) — чтобы видел balda-контейнеры +- `.env` с API key Eagle (`eagle-bot@zulip.qentra.top`) +- `docker-compose up -d` — запущен +- Events API polling отключён у обоих balda-ботов (`events_polling.enabled: false`) + +### 2026-06-17 — отладка + +- Eagle добавлен в конфиг роутера как бот, webhook на `:8644` +- Кит добавлен в конфиг роутера как бот, webhook на `:8644` +- Выяснено: роутер форвардит все сообщения из треда с ownership, + даже если @mention адресован другому боту (проблема trigger=owner) +- Актуальный код роутера в контейнере не совпадает с кодом в репе + +### Статус проблем + +- [ ] **trigger=owner** — роутер не фильтрует @mention другого бота. + Должен: если @mention другого бота — ownership ставится, но НЕ форвардить. +- [ ] **Код в репе vs контейнере** — рассинхронизация. + Надо синхронизировать: `~/Developer/zulip-router/` → контейнер. + +--- + +## Связанные страницы Eagle использует webhook platform для приёма сообщений от zulip-router. Напрямую в Zulip через Events API Eagle **не подписан** — все сообщения