[2026-06-17] hermes-eagle-mac.md: rewrite Eagle+zulip-router section — plan from thread

This commit is contained in:
Alexey Martemyanov
2026-06-17 15:48:03 +06:00
parent a1d1005c7a
commit 2115ff2d9d
+29 -28
View File
@@ -248,14 +248,28 @@ credentials Eagle для поллинга Zulip Events API, но Eagle сам в
--- ---
## Eagle: приём сообщений через zulip-router (2026-06-17) ## Eagle: переключение на zulip-router (2026-06-17)
### Текущее состояние ### Задача
Eagle использует webhook platform для приёма сообщений от zulip-router. Eagle должен получать сообщения **только через zulip-router** (вебхуки),
Напрямую в Zulip через Events API Eagle не подписан. без прямого Zulip polling. Кастомный код «роутера» в Hermes (`eagle-thread-guard`)
не должен мешаться.
**Конфиг Eagle:** `~/.hermes/config.yaml` ### План
1. Отключить Zulip polling у Eagle (если включён)
2. Настроить Eagle на приём вебхуков от zulip-router:
- webhook route `/webhooks/eagle` на порту 8645
- роутер шлёт на `host.docker.internal:8645/webhooks/eagle`
3. Проверить:
- curl POST `/webhooks/eagle` → 202
- `@**Орёл**` в Zulip → Eagle отвечает
- ответы только на @mention Орла (не на чужие)
### Конфиг Eagle
`~/.hermes/config.yaml` — секция `platforms`:
```yaml ```yaml
platforms: platforms:
webhook: webhook:
@@ -270,33 +284,20 @@ platforms:
deliver: zulip deliver: zulip
``` ```
**Проблема:** Eagle не отвечает на `@**Орёл**`. Роутер шлёт на `:8644`, Zulip platform (`platforms.zulip`) — отсутствует, polling отключён.
Eagle слушает на `:8645`. Второй gateway (PID 96351) запущен вручную,
занял порт 8644.
### План ### Что сделано
1. **Занять порт 8645** — Eagle должен слушать на 8645. Сейчас порт занят другим процессом. - Конфиг Eagle: порт 8645, webhook с route `eagle`
2. **Проверить** — curl POST `/webhooks/eagle` → 202, `@**Орёл**` отвечает - Eagle перезапущен, порт 8645 слушается
- curl POST `/webhooks/eagle` → 202 Accepted
- Роутер должен слать на `:8645`, но шлёт на `:8644` — не настроено
### Что сделано по zulip-router ### Статус
**2026-06-16 — деплой:** - [ ] **Порт 8645 занят** — сейчас на нём сидит Кит (Whale), Eagle на 8644
- Написан код роутера (`~/Developer/zulip-router/`, Go, ~260 LOC) - [ ] **Роутер шлёт на `:8644`** — надо поправить на `:8645`
- Создан compose (`~/Docker/zulip-router/docker-compose.yaml`) - [ ] **`@**Орёл**`** — не отвечает
- `.env` с API key Eagle
- Запущен, Events API polling отключён у balda-ботов
**2026-06-17 — отладка:**
- Eagle добавлен в роутер (webhook на `:8644`)
- Кит добавлен в роутер (webhook на `:8644`)
- Обнаружена проблема trigger=owner
- Конфиг Eagle исправлен: порт 8645, webhook route `eagle`
### Статус проблем
- [ ] **trigger=owner** — роутер не фильтрует @mention другого бота
- [ ] **Код в репе vs контейнере** — рассинхронизация
--- ---