Files
microdao-daarion/AGENTS-MICRODAO-CONNECTION-STATUS.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

Статус підключення агентів до мікроДАО

📊 Поточна ситуація

Що працює:

  1. Отримання агентів з API:

    • Endpoint: GET /api/v1/agents?team_id={microDaoId}
    • Повертає список агентів, підключених до мікроДАО
    • Файл: src/api/agents.ts
  2. Автоматичне додавання оркестратора:

    • Оркестратор з НОДИ1 автоматично додається до списку агентів
    • Логіка в MicroDaoCabinetPage.tsx (рядки 141-165)
    • Використовує маппінг з agentMicroDaoMapping.ts
  3. Відображення агентів:

    • Вкладка "Агенти" в кабінеті мікроДАО
    • Показує оркестратора та інших агентів
    • Кнопка "Додати агента" для створення нових

⚠️ Потенційні проблеми:

  1. Агенти можуть не бути в базі даних:

    • Таблиця agents має поле team_id для зв'язку з мікроДАО
    • Якщо агенти не створені в БД, API поверне порожній список
    • Оркестратор додається тільки з НОДИ1, але не зберігається в БД
  2. Відсутність автоматичного підключення:

    • Агенти з НОДИ1 не автоматично підключаються до мікроДАО
    • Потрібно вручну створювати записи в БД

🔍 Перевірка підключення

1. Перевірити API:

# Отримати агентів для мікроДАО
curl http://localhost:8899/api/v1/agents?team_id=daarion-dao

Очікувана відповідь:

{
  "items": [
    {
      "id": "agent-123",
      "team_id": "daarion-dao",
      "name": "Agent Name",
      ...
    }
  ]
}

2. Перевірити базу даних:

-- Перевірити агенти для мікроДАО
SELECT * FROM agents WHERE team_id = 'daarion-dao';

-- Перевірити всі мікроДАО
SELECT id, name, slug FROM teams WHERE type IN ('platform', 'community', 'guild', 'lab');

3. Перевірити UI:

  1. Відкрити кабінет мікроДАО: http://localhost:8899/microdao/daarion
  2. Перейти на вкладку "Агенти"
  3. Перевірити чи відображаються агенти

🔧 Рішення

Варіант 1: Автоматичне підключення оркестраторів

Створити міграцію або скрипт для автоматичного створення записів агентів-оркестраторів в БД:

-- Створити агенти-оркестратори для мікроДАО
INSERT INTO agents (id, team_id, name, description, config, created_at)
VALUES 
  ('agent-daarwizz', 'daarion-dao', 'DAARWIZZ', 'Оркестратор DAARION', '{"type": "orchestrator"}', now()),
  ('agent-greenfood', 'greenfood-dao', 'GREENFOOD', 'Оркестратор GREENFOOD', '{"type": "orchestrator"}', now()),
  ('agent-helion', 'energy-union-dao', 'Helion', 'Оркестратор ENERGY UNION', '{"type": "orchestrator"}', now())
ON CONFLICT (id) DO NOTHING;

Варіант 2: Синхронізація з НОДИ1

Створити endpoint для синхронізації агентів з НОДИ1 до БД:

POST /api/v1/teams/{teamId}/agents/sync

Варіант 3: UI для підключення

Додати кнопку "Підключити агентів з НОДИ1" в кабінеті мікроДАО.

📋 Чеклист перевірки

  • API endpoint /api/v1/agents?team_id={microDaoId} працює
  • База даних містить записи агентів з правильним team_id
  • Оркестратор відображається в UI (з НОДИ1)
  • Інші агенти відображаються в UI (з БД)
  • Кнопка "Додати агента" працює
  • Створення нового агента зберігає team_id

🎯 Рекомендації

  1. Автоматичне підключення оркестраторів:

    • При створенні мікроДАО автоматично створювати запис оркестратора в БД
    • Синхронізувати з агентами з НОДИ1
  2. UI індикатор:

    • Показувати статус підключення агентів
    • Додати кнопку "Синхронізувати з НОДИ1"
  3. Логування:

    • Логувати всі спроби підключення агентів
    • Відстежувати помилки синхронізації