Files
microdao-daarion/NODE2-TELEGRAM-BOTS-ANALYSIS.md
Apple 3de3c8cb36 feat: Add presence heartbeat for Matrix online status
- 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
2025-11-27 00:19:40 -08:00

6.4 KiB
Raw Permalink Blame History

📡 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. Що саме виправлено

  1. Автоініціалізація ботів

    • Додано завантаження bots.yaml при старті (app/main.py).
    • Gateway перезапускає polling для кожного активного бота.
  2. Повний Telegram listener

    • telegram_listener.py отримав підтримку:
      • текстових, голосових, аудіо, video-note повідомлень;
      • фото з передачою file_url;
      • PDF документів (parser);
      • автоматичний STT (до 60 секунд, handle_voice_message);
      • metadata → Router для Vision/Parser.
  3. STT / TTS / Parser маршрут

    • Події з metadata обробляє router_handler:
      • _handle_photo → vision спеціаліст;
      • _handle_document → parser + контекст;
      • _text_to_speech → відповіді голосом.
  4. Нові API в telegram-gateway

    • GET /bots/status/{agent_id} для UI;
    • DELETE /bots/{agent_id} відʼєднати бота;
    • CORS дозволяє звертатися з http://localhost:8899;
    • подія bot.unregistered у NATS.
  5. UI модуль "Підключення до Telegram бота"

    • У кабінеті кожного агента (/agent/:agentId) новий блок:
      • показує статус (registered/polling);
      • підключення через токен від @BotFather;
      • відʼєднання одним кліком;
      • авто-оновлення раз на 20 секунд.

4. Як перевірити

  1. Деплой gateway
    cd telegram-infrastructure
    docker compose up -d --build telegram-gateway
    
  2. Перевірити health
    curl -s http://localhost:8000/healthz
    
  3. Список ботів
    curl -s http://localhost:8000/bots/list | jq
    
  4. Статус конкретного агента
    curl -s http://localhost:8000/bots/status/helion | jq
    
  5. UI
    • Відкрити http://localhost:8899/agent/helion
    • Використати модуль "Підключення до Telegram бота"

5. Наступні кроки

  1. Отримати токени для CLAN, Soul, DRUID, EONARCH, Яромир, NUTRA.
  2. Додати secrets до telegram-gateway/bots.yaml та перезапустити сервіс.
  3. Розширити router-config (LLM профілі) для нових агентів, щоби вони отримували власний system_prompt.
  4. Підготувати шаблони промптів у docs/prompts/telegram/.

Результат: боти НОДА2 можуть отримувати текст, голос, фото, PDF, виконувати веб-пошук та відповідати голосом. UI для підключення доступний у кожному агентському кабінеті.