- 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
5.0 KiB
5.0 KiB
Статус підключення агентів до мікроДАО
📊 Поточна ситуація
✅ Що працює:
-
Отримання агентів з API:
- Endpoint:
GET /api/v1/agents?team_id={microDaoId} - Повертає список агентів, підключених до мікроДАО
- Файл:
src/api/agents.ts
- Endpoint:
-
Автоматичне додавання оркестратора:
- Оркестратор з НОДИ1 автоматично додається до списку агентів
- Логіка в
MicroDaoCabinetPage.tsx(рядки 141-165) - Використовує маппінг з
agentMicroDaoMapping.ts
-
Відображення агентів:
- Вкладка "Агенти" в кабінеті мікроДАО
- Показує оркестратора та інших агентів
- Кнопка "Додати агента" для створення нових
⚠️ Потенційні проблеми:
-
Агенти можуть не бути в базі даних:
- Таблиця
agentsмає полеteam_idдля зв'язку з мікроДАО - Якщо агенти не створені в БД, API поверне порожній список
- Оркестратор додається тільки з НОДИ1, але не зберігається в БД
- Таблиця
-
Відсутність автоматичного підключення:
- Агенти з НОДИ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:
- Відкрити кабінет мікроДАО:
http://localhost:8899/microdao/daarion - Перейти на вкладку "Агенти"
- Перевірити чи відображаються агенти
🔧 Рішення
Варіант 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
-
UI індикатор:
- Показувати статус підключення агентів
- Додати кнопку "Синхронізувати з НОДИ1"
-
Логування:
- Логувати всі спроби підключення агентів
- Відстежувати помилки синхронізації