- 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
4.3 KiB
4.3 KiB
✅ Кабінети агентів з CrewAI командами - Повна реалізація
Дата: 2025-11-23
Статус: ✅ Готово до використання
🎉 Що реалізовано
✅ Frontend (React)
Файл: src/pages/AgentCabinetPage.tsx
Функціонал:
- ✅ Детальні метрики агента (uptime, запити, успішність, час відповіді)
- ✅ Кнопка "Стати оркестратором" для звичайних агентів
- ✅ Відображення команди агентів для оркестраторів
- ✅ Відображення CrewAI команд для оркестраторів
- ✅ Вікно чату з агентом
- ✅ 5 вкладок: Огляд, Метрики, Команда, CrewAI Команди, Налаштування
Маршрутизація:
- ✅ Додано маршрут
/agent/:agentIdвsrc/App.tsx
✅ Backend (FastAPI)
Файл: services/agent-cabinet-service/app/main.py
Endpoints:
- ✅
GET /health- Health check - ✅
GET /api/agent/{agent_id}/metrics- Метрики агента - ✅
GET /api/agent/{agent_id}/crews- CrewAI команди - ✅
POST /api/agent/{agent_id}/become-orchestrator- Стати оркестратором - ✅
POST /api/agent/{agent_id}/crews/create- Створити CrewAI команду - ✅
POST /api/agent/{agent_id}/add-sub-agent- Додати агента до команди - ✅
POST /api/agent/{agent_id}/remove-sub-agent- Видалити агента з команди - ✅
POST /api/agent/{agent_id}/chat- Чат з агентом
Інтеграція:
- ✅ Docker Compose конфігурація
- ✅ Інтеграція з DAGI Router для чату
- ✅ In-memory storage (готово для заміни на PostgreSQL)
✅ CrewAI Інтеграція
Файл: /opt/microdao-daarion/router/crews/yaromir_crew.py
Виправлено:
- ✅ Використання
LLMобгортки з CrewAI - ✅ Правильні шляхи до prompt файлів
- ✅ Всі 4 субагенти налаштовані з правильними LLM
🚀 Швидкий старт
1. Запустити Backend
# Локально
cd services/agent-cabinet-service
pip install -r requirements.txt
python -m uvicorn app.main:app --host 0.0.0.0 --port 8898 --reload
# Або через Docker
docker-compose up -d agent-cabinet
2. Запустити Frontend
npm run dev
3. Відкрити кабінет агента
http://localhost:8899/agent/yaromir
http://localhost:8899/agent/clan
http://localhost:8899/agent/soul
📊 Структура
Frontend (React)
├── src/pages/AgentCabinetPage.tsx # Компонент кабінету
└── src/App.tsx # Маршрутизація
Backend (FastAPI)
└── services/agent-cabinet-service/
├── app/main.py # API endpoints
├── Dockerfile # Docker образ
└── requirements.txt # Залежності
CrewAI
└── router/crews/yaromir_crew.py # Конфігурація команди Яромира
🔧 Налаштування
Environment Variables
Backend:
ROUTER_URL=http://localhost:9102
Frontend:
VITE_AGENT_CABINET_URL=http://localhost:8898
📝 API Документація
Після запуску backend доступна Swagger UI:
http://localhost:8898/docs
✅ Статус
Готово:
- ✅ Frontend компонент
- ✅ Backend сервіс
- ✅ Всі API endpoints
- ✅ Docker Compose інтеграція
- ✅ CrewAI інтеграція виправлена
- ✅ Документація створена
Потрібно (опціонально):
- ⏳ Інтеграція з PostgreSQL (замість in-memory)
- ⏳ Реальні метрики з Prometheus
- ⏳ Автоматичне створення кабінету при реєстрації
Кабінети агентів з CrewAI командами повністю реалізовані! 🎉