Files
microdao-daarion/MONITOR-AGENT-MEMORY-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

5.0 KiB
Raw Permalink Blame History

📊 Monitor Agent - Архітектура пам'яті

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

1. Загальна пам'ять (Global Memory)

Agent ID: monitor

Призначення:

  • Агрегація подій з усіх НОД та мікроДАО
  • Системні події всього DAARION
  • Загальна статистика та метрики

Використання:

  • Загальний Monitor Agent (DAARION кабінет)
  • Всі Monitor Agent мають доступ до загальної пам'яті

2. Пам'ять для НОДИ (Node-Specific Memory)

Agent ID: monitor-node-{node_id}

Приклади:

  • monitor-node-1 - пам'ять Monitor Agent для НОДА1
  • monitor-node-2 - пам'ять Monitor Agent для НОДА2
  • monitor-node-3 - пам'ять Monitor Agent для НОДА3

Призначення:

  • Події конкретної НОДИ
  • Метрики та статуси ноди
  • Агенти та сервіси ноди

Використання:

  • Monitor Agent конкретної НОДИ (NodeMonitorChat)
  • Має доступ до загальної пам'яті + пам'яті своєї ноди

3. Пам'ять для мікроДАО (MicroDAO-Specific Memory)

Agent ID: monitor-microdao-{microdao_id}

Приклади:

  • monitor-microdao-daarion-dao - пам'ять Monitor Agent для DAARION
  • monitor-microdao-greenfood - пам'ять Monitor Agent для GREENFOOD
  • monitor-microdao-energy-union - пам'ять Monitor Agent для ENERGY UNION

Призначення:

  • Події конкретного мікроДАО
  • Агенти та канали мікроДАО
  • Проєкти та задачі мікроДАО

Використання:

  • Monitor Agent конкретного мікроДАО (MicroDaoMonitorChat)
  • Має доступ до загальної пам'яті + пам'яті свого мікроДАО

🔄 Як працює пам'ять

Збереження подій

  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}

Отримання контексту

  1. Monitor Agent отримує запит
  2. Запитує пам'ять:
    • Загальна пам'ять (monitor) - половина контексту
    • Специфічна пам'ять (monitor-node-{node_id} або monitor-microdao-{microdao_id}) - половина контексту
  3. Комбінує контекст для формування відповіді

📊 Приклад роботи

Monitor Agent для НОДА2

Пам'ять:

  • Загальна: monitor (всі події системи)
  • Специфічна: monitor-node-2 (події НОДА2)

Контекст для відповіді:

Загальні події системи:
- [node_event] НОДА1 оновлено статус
- [agent_event] Агент Solarius задеплоєно
- [system_event] Оновлено конфігурацію

Події НОДА2:
- [agent_event] Агент Sofia активний
- [node_event] НОДА2 CPU: 45%
- [system_event] Swapper Service працює

Monitor Agent для DAARION мікроДАО

Пам'ять:

  • Загальна: monitor (всі події системи)
  • Специфічна: monitor-microdao-daarion-dao (події DAARION)

Контекст для відповіді:

Загальні події системи:
- [node_event] НОДА1 оновлено статус
- [agent_event] Агент Solarius задеплоєно

Події МікроДАО daarion-dao:
- [agent_event] DAARION Core команда активна
- [project_event] Створено новий проєкт
- [channel_event] Новий канал створено

Переваги

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

    • Агрегація даних з усієї системи
    • Загальна статистика
    • Системні події
  2. Специфічна пам'ять:

    • Детальна інформація про конкретну НОДУ/мікроДАО
    • Швидкий доступ до релевантних подій
    • Оптимізація контексту
  3. Комбінований доступ:

    • Monitor Agent має доступ до обох типів пам'яті
    • Більш інформативні відповіді
    • Контекстна релевантність

Last Updated: 2025-01-27
Status: Архітектура пам'яті реалізована