[2026-06-17] hermes-eagle-mac.md: rewrite Eagle+zulip-router section — plan from thread
This commit is contained in:
@@ -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`
|
||||
- [ ] **`@**Орёл**`** — не отвечает
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user