[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.
Напрямую в Zulip через Events API Eagle не подписан.
Eagle должен получать сообщения **только через zulip-router** (вебхуки),
без прямого 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
platforms:
webhook:
@@ -270,33 +284,20 @@ platforms:
deliver: zulip
```
**Проблема:** Eagle не отвечает на `@**Орёл**`. Роутер шлёт на `:8644`,
Eagle слушает на `:8645`. Второй gateway (PID 96351) запущен вручную,
занял порт 8644.
Zulip platform (`platforms.zulip`) — отсутствует, polling отключён.
### План
### Что сделано
1. **Занять порт 8645** — Eagle должен слушать на 8645. Сейчас порт занят другим процессом.
2. **Проверить** — curl POST `/webhooks/eagle` → 202, `@**Орёл**` отвечает
- Конфиг Eagle: порт 8645, webhook с route `eagle`
- Eagle перезапущен, порт 8645 слушается
- curl POST `/webhooks/eagle` → 202 Accepted
- Роутер должен слать на `:8645`, но шлёт на `:8644` — не настроено
### Что сделано по zulip-router
### Статус
**2026-06-16 — деплой:**
- Написан код роутера (`~/Developer/zulip-router/`, Go, ~260 LOC)
- Создан 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 контейнере** — рассинхронизация
- [ ] **Порт 8645 занят** — сейчас на нём сидит Кит (Whale), Eagle на 8644
- [ ] **Роутер шлёт на `:8644`** — надо поправить на `:8645`
- [ ] **`@**Орёл**`** — не отвечает
---