[2026-06-16] balda: sync docs with disabled events polling; add zulip-router bot creation guide

This commit is contained in:
Alexey Martemyanov
2026-06-16 13:12:59 +06:00
parent 9b15ebf92b
commit 7668508911
3 changed files with 35 additions and 16 deletions
+9 -9
View File
@@ -19,24 +19,24 @@ docker-compose build && docker-compose up -d
## Архитектура получения сообщений
Валера — **outgoing webhook bot** (bot_type=3). Zulip отправляет webhook только для @mention и DM.
Для получения всех сообщений в теме — Events API polling (горутина в коде):
- `events_polling.enabled: true` в config.yaml
- Очередь регистрируется с `all_public_streams=true`
- Бот подписывается на все публичные стримы при старте (`SubscribeToPublicStreams`)
Для получения всех сообщений в теме — **Events API polling** (отключён, после деплоя zulip-router будет удалён из кода):
- `events_polling.enabled: false` в config.yaml (текущее состояние)
- Сообщения приходят только через **outgoing webhook** (webhook_token в .env)
- После @mention создаётся сессия; последующие сообщения без @mention обрабатываются
**После перезапуска**: нужно один раз написать `@Валера <текст>` чтобы создать сессию в теме.
## Диагностика молчания
1. Проверить логи: `docker logs balda-agent-valera-1 --tail 50`
2. Проверить что Events API polling запустился: `zulip events queue registered` в логах
2. Проверить что бот запущен и webhook слушает: в логах `zulip webhook server starting addr=0.0.0.0:8091`
3. Стухший NATS-таск (симптом: логов нет после @mention)
Фикс: `docker-compose restart` (NATS embedded, состояние в памяти)
4. Бот не подписан на стримы (симптом: `processing zulip message trigger=stream` не появляется):
4. Проверить webhook со стороны: отправить POST с curl:
```bash
curl -u "<bot_email>:<api_key>" https://zulip.qentra.top/api/v1/users/me/subscriptions
curl -X POST http://localhost:8091/zulip/webhook \
-H "Content-Type: application/json" \
-d '{"type":"test"}'
```
Если пустой — должен подписаться при следующем старте. Или вручную через API.
## Патчи в коде (общие с Клавдием)
@@ -82,7 +82,7 @@ balda:
provider: deepseek
zulip:
events_polling:
enabled: true
enabled: false # true → если events polling нужен (сейчас отключён)
stream_only_with_session: true
runtime:
providers:
+3 -3
View File
@@ -22,9 +22,9 @@ docker-compose build && docker-compose up -d # после изменений в
Клавдий — **outgoing webhook bot** (bot_type=3). Zulip отправляет webhook только для @mention и DM.
Для получения всех сообщений в теме — **Events API polling**:
- Подписан на все публичные стримы при старте
- После @mention создаётся сессия; последующие сообщения без @mention обрабатываются
Для получения всех сообщений в теме — **Events API polling** (отключён, после деплоя zulip-router будет удалён из кода):
- `events_polling.enabled: false` в config.yaml (текущее состояние)
- Сообщения приходят только через **outgoing webhook**
## Отличие от Валеры