Files
microdao-daarion/MONITOR-AGENT-COMPLETE-ARCHITECTURE.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

9.1 KiB
Raw Blame History

Monitor Agent - Повна архітектура та функціональність

🎯 Структура чатів

1. Головний Monitor Agent (на всіх сторінках)

Компонент: MonitorChat
Розташування: Всі сторінки http://localhost:8899/
Agent ID: monitor
Пам'ять: Загальна пам'ять (monitor) + всі події системи

Функціональність:

  • Кругляшок на всіх сторінках (правый нижній кут)
  • Відкривається діалогове вікно з головним Monitor Agent
  • Відображає ВСІ події з усіх НОД та мікроДАО
  • Автоматично показує зміни в проєкті в реальному часі
  • Всі події записуються в пам'ять
  • Може відповідати на питання про метрики та історію

2. Monitor Agent для НОДИ (в кабінетах НОД)

Компонент: NodeMonitorChat
Розташування: Кабінети НОД (/nodes/:nodeId)
Agent ID: monitor-node-{node_id}
Пам'ять: Загальна пам'ять (monitor) + пам'ять ноди (monitor-node-{node_id})

Функціональність:

  • Окремий чат діалогове вікно з Monitor Agent прив'язаним до НОДИ
  • Фільтрує події тільки для цієї НОДИ
  • Має доступ до загальної пам'яті + пам'яті своєї НОДИ
  • Може відповідати на питання про конкретну НОДУ

3. Monitor Agent для мікроДАО (в кабінетах мікроДАО)

Компонент: MicroDaoMonitorChat
Розташування: Кабінети мікроДАО (/microdao/:microDaoId)
Agent ID: monitor-microdao-{microdao_id}
Пам'ять: Загальна пам'ять (monitor) + пам'ять мікроДАО (monitor-microdao-{microdao_id})

Функціональність:

  • Окремий чат діалогове вікно з Monitor Agent прив'язаним до мікроДАО
  • Фільтрує події тільки для цього мікроДАО
  • Має доступ до загальної пам'яті + пам'яті свого мікроДАО
  • Може відповідати на питання про конкретне мікроДАО

4. Monitor Agent для DAARION (в кабінеті DAARION)

Компонент: DaarionMonitorChat
Розташування: Кабінет DAARION (/microdao/daarion)
Agent ID: monitor (загальний)
Пам'ять: Загальна пам'ять (monitor) - агрегація всіх НОД та мікроДАО

Функціональність:

  • Головний чат з Monitor Agent в кабінеті DAARION
  • Відображає ВСІ зміни в логах проєкту http://localhost:8899/
  • Реальні відображення змін що робляться на http://localhost:8899/
  • Агрегує події з усіх НОД та мікроДАО
  • Всі події записуються в пам'ять
  • Може відповідати на питання про метрики та історію розвитку проєкту

📊 Автоматичне збереження подій

Структура пам'яті

  1. Загальна пам'ять: monitor

    • Всі події системи
    • Агрегація з усіх НОД та мікроДАО
    • Доступна всім Monitor Agent
  2. Пам'ять для НОДИ: monitor-node-{node_id}

    • Події конкретної НОДИ
    • Доступна Monitor Agent цієї ноди
  3. Пам'ять для мікроДАО: monitor-microdao-{microdao_id}

    • Події конкретного мікроДАО
    • Доступна Monitor Agent цього мікроДАО

Як працює збереження

  1. WebSocket подіїuseMonitorEvents hook
  2. БатчингaddMonitorEventToBatch (10 подій або 5 секунд)
  3. Збереження → Memory Service /api/memory/monitor-events/batch
  4. Розподіл:
    • Загальна пам'ять: monitor (всі події)
    • Специфічна пам'ять: monitor-node-{node_id} або monitor-microdao-{microdao_id}

🔄 Відображення подій

Головний Monitor Agent (MonitorChat)

  • Показує ВСІ події (не фільтрує)
  • Відображає події з усіх НОД та мікроДАО
  • Автоматично додає нові події в чат
  • Показує шлях до файлу (якщо є)

Monitor Agent для НОДИ (NodeMonitorChat)

  • Фільтрує події тільки для цієї НОДИ
  • Показує інформацію про НОДУ в подіях
  • Має доступ до загальної пам'яті + пам'яті ноди

Monitor Agent для мікроДАО (MicroDaoMonitorChat)

  • Фільтрує події тільки для цього мікроДАО
  • Показує інформацію про мікроДАО в подіях
  • Має доступ до загальної пам'яті + пам'яті мікроДАО

Monitor Agent для DAARION (DaarionMonitorChat)

  • Показує ВСІ події (агрегує)
  • Відображає події з усіх НОД та мікроДАО
  • Показує інформацію про НОДУ в подіях
  • Відображає реальні зміни в проєкті

💬 Відповіді на питання

Monitor Agent може відповідати на:

  1. Питання про пам'ять:

    • "Чи запам'ятовуєш зміни?"
    • "Що зберігається в пам'яті?"
    • "Скільки подій зафіксовано?"
  2. Питання про статус:

    • "Який статус системи?"
    • "Як справи?"
    • "Що відбувається?"
  3. Питання про агентів:

    • "Скільки агентів на НОДА2?"
    • "Який статус деплою?"
    • "Які агенти активні?"
  4. Питання про історію/метрики:

    • "Яка історія розвитку проєкту?"
    • "Які зміни були зроблені?"
    • "Покажи метрики"
    • "Що змінилося в проєкті?"

Як працює відповідь

  1. Monitor Agent отримує запит
  2. Запитує пам'ять:
    • Загальна пам'ять (monitor) - 50% контексту
    • Специфічна пам'ять (якщо є) - 50% контексту
  3. Формує відповідь на основі контексту з пам'яті
  4. Використовує Mistral на НОДА2 для генерації відповіді

Перевірка функціональності

На всіх сторінках http://localhost:8899/:

  • Кругляшок Monitor Agent (правый нижній кут)
  • Відкривається діалогове вікно
  • Відображаються всі події
  • Всі події записуються в пам'ять

В кабінетах НОД:

  • Окремий чат з Monitor Agent ноди
  • Фільтрує події по ноді
  • Має доступ до пам'яті ноди

В кабінетах мікроДАО:

  • Окремий чат з Monitor Agent мікроДАО
  • Фільтрує події по мікроДАО
  • Має доступ до пам'яті мікроДАО

В кабінеті DAARION:

  • Головний чат з Monitor Agent
  • Відображає всі зміни в проєкті
  • Реальні відображення змін
  • Всі події записуються в пам'ять
  • Може відповідати на питання про метрики та історію

🎯 Результат

На всіх сторінках є кругляшок з головним Monitor Agent
В кабінетах НОД та мікроДАО є окремі чати з відповідними Monitor Agent
В головному чаті в кабінеті DAARION відображаються всі зміни в логах проєкту
Всі події записуються в пам'ять Monitor Agent
Можна запитати за всі метрики та історію розвитку проєкту і Monitor Agent все відповість


Last Updated: 2025-01-27
Status: Повна функціональність реалізована