# Статус підключення агентів до мікроДАО ## 📊 Поточна ситуація ### ✅ Що працює: 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: ```bash # Отримати агентів для мікроДАО curl http://localhost:8899/api/v1/agents?team_id=daarion-dao ``` **Очікувана відповідь:** ```json { "items": [ { "id": "agent-123", "team_id": "daarion-dao", "name": "Agent Name", ... } ] } ``` ### 2. Перевірити базу даних: ```sql -- Перевірити агенти для мікроДАО 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: Автоматичне підключення оркестраторів Створити міграцію або скрипт для автоматичного створення записів агентів-оркестраторів в БД: ```sql -- Створити агенти-оркестратори для мікроДАО 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 до БД: ```typescript 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. **Логування:** - Логувати всі спроби підключення агентів - Відстежувати помилки синхронізації