- matrix-gateway: POST /internal/matrix/presence/online endpoint - usePresenceHeartbeat hook with activity tracking - Auto away after 5 min inactivity - Offline on page close/visibility change - Integrated in MatrixChatRoom component
6.4 KiB
6.4 KiB
📡 Node #2 — Telegram бот-аналітика (23.11.2025)
Мета: перевірити всі Telegram боти, прив’язані до агентів НОДА2, зафіксувати стан сервісів (STT, TTS, Parser, Web Search, Vision) та результати по кожному агенту.
1. Зведена таблиця ботів
| # | Агент / Бот | Username | Token prefix | Нода / Модель | Статус до фіксу | Статус після фіксу | Коментар |
|---|---|---|---|---|---|---|---|
| 1 | DAARWIZZ | @DAARWIZZBot | 83234123 | Node1/Node2 · qwen3:8b | не відповідає | ✅ активний | Автоініціалізація + polling |
| 2 | Helion | @HelionEnergyBot | 81120625 | Node1/Node2 · qwen3:8b | не відповідає | ✅ активний | system_prompt + STT/TTS |
| 3 | GREENFOOD | @greenfoodliveBot | 74951653 | Node1 · qwen3:8b | не підключений | ✅ активний | Додано у bots.yaml |
| 4 | CLAN | @clan_bot | 85168721 | Node2 · DeepSeek | токен відсутній | ⏳ чекає токен | Потрібно отримати новий BotFather токен |
| 5 | Soul | @soul_bot | 80415964 | Node2 · qwen3:8b | токен не внесено | ⏳ чекає токен | Ready після отримання |
| 6 | DRUID | @druid_bot | 81456184 | Node2 · qwen3:8b | токен не внесено | ⏳ чекає токен | Той самий gateway |
| 7 | EONARCH | @eonarch_bot | 79623915 | Node2 · DeepSeek | токен не внесено | ⏳ чекає токен | DeepSeek модель |
| 8 | Яромир | @yaromir_bot | 81281806 | Node2 · qwen3:8b / DeepSeek | токен не внесено | ⏳ чекає токен | Використовує CrewAI |
| 9 | NUTRA | — | PLACEHOLDER | Node2 · qwen3:8b | токен відсутній | 🔴 потрібен бот | Потрібно зареєструвати |
| 10 | Dario | Discord | — | Node2 · qwen3:8b | Discord only | 🔄 прогрес | Поза Telegram |
✅ – бот зареєстрований у
telegram-gateway, polling активний.
⏳ – gateway готовий, потрібно тільки токен.
🔴 – немає ні токена, ні бота.
2. Сервіси, що задіяні
| Сервіс | URL (Node1) | Опис | Статус |
|---|---|---|---|
| Local Telegram Bot API | http://144.76.224.179:8081 |
офіційний Telegram API (long polling) | ✅ |
| telegram-gateway | http://144.76.224.179:8000 |
FastAPI, multi-bot, NATS | ✅ |
| NATS | nats://144.76.224.179:4222 |
черга agent.telegram.update |
✅ |
| DAGI Router | http://144.76.224.179:9102 |
маршрутизація до LLM | ✅ |
| STT Service | http://dagi-stt:9000/stt |
розпізнавання voice/audio | ✅ (через docker network) |
| TTS Service | http://dagi-tts:9100/tts |
відповіді голосом | ✅ |
| Parser Service | http://dagi-parser:9400 |
PDF / DOC | ✅ |
| Vision / Swapper | http://144.76.224.179:8890 |
qwen3-vl:8b (vision) | ✅ |
| Web Search bridge | Router mode=web_search |
використовується при запитах | ✅ |
3. Що саме виправлено
-
Автоініціалізація ботів
- Додано завантаження
bots.yamlпри старті (app/main.py). - Gateway перезапускає polling для кожного активного бота.
- Додано завантаження
-
Повний Telegram listener
telegram_listener.pyотримав підтримку:- текстових, голосових, аудіо, video-note повідомлень;
- фото з передачою
file_url; - PDF документів (parser);
- автоматичний STT (до 60 секунд,
handle_voice_message); - metadata → Router для Vision/Parser.
-
STT / TTS / Parser маршрут
- Події з
metadataобробляєrouter_handler:_handle_photo→ vision спеціаліст;_handle_document→ parser + контекст;_text_to_speech→ відповіді голосом.
- Події з
-
Нові API в telegram-gateway
GET /bots/status/{agent_id}– для UI;DELETE /bots/{agent_id}– відʼєднати бота;- CORS дозволяє звертатися з
http://localhost:8899; - подія
bot.unregisteredу NATS.
-
UI модуль "Підключення до Telegram бота"
- У кабінеті кожного агента (
/agent/:agentId) новий блок:- показує статус (registered/polling);
- підключення через токен від @BotFather;
- відʼєднання одним кліком;
- авто-оновлення раз на 20 секунд.
- У кабінеті кожного агента (
4. Як перевірити
- Деплой gateway
cd telegram-infrastructure docker compose up -d --build telegram-gateway - Перевірити health
curl -s http://localhost:8000/healthz - Список ботів
curl -s http://localhost:8000/bots/list | jq - Статус конкретного агента
curl -s http://localhost:8000/bots/status/helion | jq - UI
- Відкрити
http://localhost:8899/agent/helion - Використати модуль "Підключення до Telegram бота"
- Відкрити
5. Наступні кроки
- Отримати токени для CLAN, Soul, DRUID, EONARCH, Яромир, NUTRA.
- Додати secrets до
telegram-gateway/bots.yamlта перезапустити сервіс. - Розширити router-config (LLM профілі) для нових агентів, щоби вони отримували власний
system_prompt. - Підготувати шаблони промптів у
docs/prompts/telegram/.
✅ Результат: боти НОДА2 можуть отримувати текст, голос, фото, PDF, виконувати веб-пошук та відповідати голосом. UI для підключення доступний у кожному агентському кабінеті.