Skip to content

# Чеклист для повноцінної роботи агентів DAARION

Дата створення: 2025-11-18
Статус: У розробці

## ✅ Що вже працює

### 1. Інфраструктура

- ✅ DAGI Router (9102) - маршрутизація до агентів та провайдерів
- ✅ NATS (4222) - event streaming
- ✅ PostgreSQL (5432) - основна БД
- ✅ Telegram Gateway (8000) - Long Polling для 3 ботів
- ✅ Local Telegram Bot API (8081) - зменшення латентності
- ✅ Prometheus (9090) - збір метрик
- ✅ Grafana (3000) - візуалізація

### 2. LLM Infrastructure

- ✅ Ollama - локальна генерація (Qwen3:8b, Qwen2.5:14b)
- ✅ OpenRouter - fallback (DeepSeek-Chat)
- ✅ LLM Provider в Router - вибір оптимального провайдера

### 3. Агенти (Telegram боти)

- ✅ DAARWIZZ (`@DAARWIZZBot`) - microDAO оркестратор
- ✅ Helion (`@energyunionBot`) - Energy Union
- ✅ GREENFOOD (`@greenfoodliveBot`) - ERP для виробників (13 sub-agents)

### 4. Сервіси AI/ML

- ✅ CrewAI (9010) - multi-agent workflows
- ✅ Vision Encoder (8001) - розпізнавання зображень
- ✅ DevTools (8008) - інструменти розробника
- ⚠️ Parser (9400) - OCR/PDF (працює, unhealthy через curl)
- ⚠️ STT (9000) - Speech-to-Text (працює, unhealthy)
- ⚠️ TTS (9101) - Text-to-Speech (працює, unhealthy)
- ⚠️ Qdrant (6333) - Vector DB (працює, unhealthy)
- ⏸️ RAG Service - зупинено (потрібен рефакторинг Haystack 2.x)

### 5. Інтеграції

- ✅ Memory Service - зберігання контексту діалогів
- ✅ RBAC Service (9200) - управління правами
- ✅ Gateway Service (9300) - HTTP API

## 🔧 Що потрібно доопрацювати

### 1. Voice Processing (STT/TTS)

#### STT (Speech-to-Text)

- Статус: Сервіс працює, але потрібна інтеграція
- Що зробити:
- [ ] Перевірити чи `telegram-gateway` викликає STT для голосових повідомлень
- [ ] Додати логування STT викликів
- [ ] Протестувати українською та англійською
- [ ] Оптимізувати модель Whisper (tiny/base для швидкості)
- Пріоритет: 🔴 Високий (для голосової взаємодії)

#### TTS (Text-to-Speech)

- Статус: Сервіс працює, але не інтегровано
- Що зробити:
- [ ] Додати TTS endpoint в `telegram-gateway`
- [ ] Опція для користувачів: отримувати відповіді голосом
- [ ] Підтримка української/англійської мов
- Пріоритет: 🟡 Середній (nice-to-have)

### 2. Document Processing (Parser + RAG)

#### Parser Service

- Статус: ✅ Працює (але unhealthy через відсутність `curl`)
- Що зробити:
- [x] Додати curl в Dockerfile
- [ ] Rebuild контейнера
- [ ] Перевірити парсинг PDF через Telegram
- Пріоритет: 🟢 Низький (технічна проблема, не функціональна)

#### RAG Service

- Статус: ⏸️ Зупинено (проблеми з Haystack 2.x API)
- Що зробити:
- [ ] Рефакторинг `ingest_pipeline.py` для Haystack 2.x
- [ ] Виправити `async/await` синтаксис
- [ ] Додати тести
- [ ] Перезапустити сервіс
- Пріоритет: 🔴 Високий (для RAG queries по документах)

### 3. CrewAI Workflows

#### GREENFOOD Crew (13 agents)

- Статус: ✅ Агенти створені, але не підключені до Router
- Що зробити:
- [ ] Додати tools для агентів (API виклики, БД queries)
- [ ] Створити Tasks для кожного Crew
- [ ] Інтеграція з Router (`mode: "crew"`, `scenario: "onboard_vendor"`)
- [ ] Тестування всіх 4 Crews
- Пріоритет: 🟡 Середній (GREENFOOD assistant працює через LLM, Crew - для складних сценаріїв)

#### Інші Crews

- [ ] DAARWIZZ Crew (microDAO workflows)
- [ ] Helion Crew (Energy Union workflows)
- Пріоритет: 🟢 Низький (поки LLM достатньо)

### 4. Memory & Context Management

#### Memory Service

- Статус: ✅ Працює (контекст діалогів, user facts)
- Що зробити:
- [ ] Додати довгострокову пам'ять (summaries старих діалогів)
- [ ] Інтеграція з RAG для semantic memory
- [ ] User preferences storage
- Пріоритет: 🟡 Середній

#### Session Management

- Статус: ✅ Базова імплементація (`session_id = telegram:{chat_id}`)
- Що зробити:
- [ ] Підтримка multi-device (один user, кілька чатів)
- [ ] Session expiry та cleanup
- [ ] Cross-channel sessions (Telegram + Web)
- Пріоритет: 🟢 Низький

### 5. Monitoring & Observability

#### Prometheus Metrics

- Статус: ✅ DAGI Router та Telegram Gateway
- Що зробити:
- [ ] Додати `/metrics` в інші сервіси (Parser, STT, TTS, CrewAI)
- [ ] Створити custom metrics (LLM tokens, agent requests, STT duration)
- [ ] Налаштувати alerting (Slack/Telegram notifications)
- Пріоритет: 🟡 Середній

#### Grafana Dashboards

- Статус: ⏳ Grafana встановлено, дашбордів немає
- Що зробити:
- [ ] DAGI Router Dashboard (requests, latency, errors)
- [ ] Telegram Gateway Dashboard (messages, active chats)
- [ ] LLM Performance Dashboard (tokens, providers usage)
- [ ] System Dashboard (CPU, RAM, disk)
- Пріоритет: 🟡 Середній

#### Logging

- Статус: ⚠️ Логи є, але не централізовані
- Що зробити:
- [ ] Додати Loki для централізованих логів
- [ ] Інтеграція Grafana + Loki
- [ ] Structured logging (JSON format)
- Пріоритет: 🟢 Низький

### 6. Безпека та RBAC

#### Authentication

- Статус: ⚠️ Telegram auth через bot token, немає JWT для HTTP API
- Що зробити:
- [ ] JWT authentication для `/api/*` endpoints
- [ ] OAuth2 для frontend
- [ ] API keys для external integrations
- Пріоритет: 🔴 Високий (для production)

#### RBAC

- Статус: ✅ RBAC Service працює (9200)
- Що зробити:
- [ ] Інтеграція RBAC з усіма агентами
- [ ] Перевірка прав доступу до MicroDAO actions
- [ ] Audit log для всіх RBAC операцій
- Пріоритет: 🔴 Високий (для multi-user microDAO)

### 7. Performance & Scalability

#### LLM Optimization

- Статус: ⚠️ Одна Ollama інстанція, no rate limiting
- Що зробити:
- [ ] LLM Load Balancer (кілька Ollama nodes)
- [ ] Rate limiting (запобігання abuse)
- [ ] LLM response caching (Redis)
- [ ] Smart routing (urgent queries → fast model)
- Пріоритет: 🟡 Середній (для масштабування до 100+ користувачів)

#### Message Queue

- Статус: ✅ NATS працює, але синхронна обробка
- Що зробити:
- [ ] Async processing через NATS JetStream
- [ ] Retry mechanism для failed requests
- [ ] Dead letter queue
- Пріоритет: 🟢 Низький (поточний throughput достатній)

### 8. Тестування

#### Unit Tests

- Статус: ❌ Відсутні
- Що зробити:
- [ ] Тести для Router (`routing_engine.py`)
- [ ] Тести для LLM Provider
- [ ] Тести для Memory Service
- Пріоритет: 🟡 Середній

#### Integration Tests

- Статус: ❌ Відсутні
- Що зробити:
- [ ] End-to-end тест (Telegram → Router → LLM → Response)
- [ ] STT pipeline test
- [ ] Document processing test (PDF → Parser → RAG → Query)
- Пріоритет: 🟡 Середній

#### Load Testing

- Статус: ❌ Не проводилось
- Що зробити:
- [ ] Simulate 100 одночасних діалогів
- [ ] Тест STT під навантаженням
- [ ] LLM throughput benchmark
- Пріоритет: 🟢 Низький (для pre-production)

## 🎯 Пріоритизація (що робити далі)

### 🔴 Критично (наступні 1-2 дні)

1. ✅ Додати `/metrics` в Router та Gateway
2. 🔄 Перевірити голосовий чат (STT)
3. 🔄 Виправити RAG Service (Haystack 2.x)
4. ⏳ Додати JWT authentication для HTTP API

### 🟡 Важливо (наступні 1-2 тижні)

1. Завершити GREENFOOD Crew (додати tools та tasks)
2. Створити Grafana дашборди
3. Додати TTS інтеграцію
4. RBAC інтеграція з агентами
5. Memory Service improvements

### 🟢 Потім (1-2 місяці)

1. LLM Load Balancer
2. Centralized Logging (Loki)
3. Unit & Integration Tests
4. Load Testing
5. Масштабування до 1000+ агентів

## 📊 Поточний статус

Компонент | Статус | Готовність
--- | --- | ---
Core Router | ✅ Працює | 95%
Telegram Bots | ✅ 3 боти | 90%
LLM (Ollama) | ✅ Працює | 85%
STT (Whisper) | ⚠️ Потребує тестування | 70%
TTS | ⚠️ Не інтегровано | 50%
Parser/OCR | ✅ Працює | 80%
RAG | ⏸️ Зупинено | 40%
CrewAI | ⚠️ Базова імплементація | 60%
Monitoring | ✅ Prometheus + Grafana | 75%
RBAC | ✅ Працює | 80%
Memory | ✅ Працює | 75%
Security | ⚠️ Базова (Telegram) | 50%
Tests | ❌ Відсутні | 10%

Загальна готовність: ~70% для MVP
Для production: ~50%

Документ оновлюється: 2025-11-18