diff --git a/docs/ACTION_PLAN.md b/docs/ACTION_PLAN.md index 2aef7a70..2e5e567c 100644 --- a/docs/ACTION_PLAN.md +++ b/docs/ACTION_PLAN.md @@ -16,7 +16,7 @@ ### 2. **Neo4j** 📊 - **Статус**: ✅ Працює (ports 7474, 7687) - **Що робити**: Підключити до Router для knowledge graphs -- **UI**: http://144.76.224.179:7474 +- **UI**: [http://144.76.224.179:7474](http://144.76.224.179:7474) - **Час**: 45 хв - **Пріоритет**: 🟡 СЕРЕДНІЙ @@ -42,7 +42,7 @@ ### 5. **Memory Service** 🧠 - **Проблема**: PostgreSQL не має `pgvector` extension -- **Рішення**: +- **Рішення**: 1. Встановити pgvector в PostgreSQL container 2. АБО використовувати Memory з Dify/Neo4j - **Час**: 1 год @@ -50,7 +50,7 @@ ### 6. **RAG Service** 📚 - **Проблема**: Haystack 2.x API changes -- **Рішення**: +- **Рішення**: 1. Виправити imports 2. АБО використовувати Dify RAG (через Weaviate) - **Час**: 1-2 год @@ -263,17 +263,17 @@ receivers: ## 📊 Пріоритизований Timeline -### Сьогодні (3-4 год): +### Сьогодні (3-4 год) 1. ✅ Дослідити Dify (1 год) - може має все що треба! 2. ✅ Інтегрувати CrewAI (30 хв) - web search для агентів 3. ✅ Vision через Dify або OpenAI (30 хв) - описи зображень -### Завтра (2-3 год): +### Завтра (2-3 год) 4. ✅ Підключити Neo4j (45 хв) - knowledge graphs 5. ✅ Streaming TTS (1 год) - якісний голос 6. ✅ Grafana Alerts (30 хв) - моніторинг -### Опційно (якщо потрібно): +### Опційно (якщо потрібно) 7. ⚠️ Виправити RAG Service (2 год) - АБО використовувати Dify RAG 8. ⚠️ Виправити Memory Service (1 год) - АБО використовувати Neo4j 9. ⚠️ Запустити Milvus (15 хв) - тільки якщо Qdrant недостатньо @@ -282,19 +282,19 @@ receivers: ## 💡 Ключові висновки -### Що маємо: +### Що маємо - ✅ **35 Docker контейнерів** - величезна інфраструктура! - ✅ **Dify AI Platform** - може замінити багато сервісів - ✅ **CrewAI** - готовий до використання - ✅ **Neo4j** - готовий до використання - ✅ **3 Vector DBs** - Qdrant, Weaviate, (Milvus) -### Що можна зробити швидко: +### Що можна зробити швидко 1. **Dify exploration** - може вже все є! 2. **CrewAI integration** - web search для агентів 3. **Neo4j integration** - knowledge graphs -### Що не критично: +### Що не критично - Memory Service (є альтернативи) - RAG Service (є Dify RAG) - Milvus (є Qdrant і Weaviate) @@ -316,4 +316,3 @@ receivers: *Створено: 2025-11-18* *Базується на: SERVER_AUDIT_REPORT.md* - diff --git a/docs/DEPLOY_MIGRATIONS.md b/docs/DEPLOY_MIGRATIONS.md index 24768b07..30556898 100644 --- a/docs/DEPLOY_MIGRATIONS.md +++ b/docs/DEPLOY_MIGRATIONS.md @@ -133,7 +133,7 @@ INSERT INTO city_rooms (id, slug, name, ...) VALUES (...) ON CONFLICT (id) DO NOTHING; ``` -### Re-apply конкретної міграції: +### Re-apply конкретної міграції ```bash # Якщо потрібно перезастосувати (тільки якщо idempotent!) docker compose -f docker-compose.all.yml exec -T postgres \ @@ -204,14 +204,14 @@ chmod +x scripts/migrate.sh ## 🔙 Rollback Strategy -### Створення rollback файлів (для майбутнього): +### Створення rollback файлів (для майбутнього) ```text migrations/ ├── 010_create_city_backend.sql └── 010_create_city_backend_rollback.sql ``` -### Приклад rollback: +### Приклад rollback ```sql -- 010_create_city_backend_rollback.sql DROP TABLE IF EXISTS secondme_messages CASCADE; @@ -231,7 +231,7 @@ docker compose -f docker-compose.all.yml exec -T postgres \ ## 🧪 Testing міграцій -### Pre-deployment testing (на dev environment): +### Pre-deployment testing (на dev environment) ```bash # 1. Backup поточної БД docker compose -f docker-compose.all.yml exec postgres \ @@ -349,4 +349,3 @@ docker compose -f docker-compose.all.yml exec postgres \ **Статус:** ✅ Migrations Guide Complete **Версія:** 1.0.0 **Дата:** 24 листопада 2025 - diff --git a/docs/NODE2_GUARDIAN_SETUP.md b/docs/NODE2_GUARDIAN_SETUP.md index 3db62719..c5ff792d 100644 --- a/docs/NODE2_GUARDIAN_SETUP.md +++ b/docs/NODE2_GUARDIAN_SETUP.md @@ -31,7 +31,7 @@ GUARDIAN_INTERVAL=60 ### 2. Запуск Node Guardian -#### Як фонове завдання (рекомендовано): +#### Як фонове завдання (рекомендовано) ```bash # Створити systemd service @@ -67,7 +67,7 @@ sudo systemctl start node-guardian sudo systemctl status node-guardian ``` -#### Або вручну: +#### Або вручну ```bash cd /path/to/microdao-daarion @@ -76,7 +76,7 @@ python3 scripts/node-guardian-loop.py ### 3. Перевірка роботи -#### Перевірити логи: +#### Перевірити логи ```bash # Якщо systemd service @@ -85,7 +85,7 @@ sudo journalctl -u node-guardian -f # Або якщо запущено вручну - дивитись stdout ``` -#### Перевірити в БД: +#### Перевірити в БД ```sql -- Перевірити чи оновлюються метрики для НОДА2 @@ -104,7 +104,7 @@ ORDER BY updated_at DESC LIMIT 1; ``` -#### Перевірити Swapper State: +#### Перевірити Swapper State ```sql SELECT @@ -167,7 +167,7 @@ WHERE node_id = 'node-2-macbook-m4max' На НОДА1 guardian зазвичай запускається автоматично через docker-compose або systemd. -### ENV змінні для НОДА1: +### ENV змінні для НОДА1 ```bash NODE_ID=node-1-hetzner-gex44 @@ -182,7 +182,7 @@ CITY_SERVICE_URL=https://daarion.space/api/city ## Архітектура -``` +```text ┌─────────────────┐ │ Node Guardian │ (на кожній ноді) │ (loop script) │ @@ -214,9 +214,14 @@ CITY_SERVICE_URL=https://daarion.space/api/city ## Важливі моменти -1. **Один Router/Swapper для всіх нод у проді**: На НОДА1 є один DAGI Router та один Swapper Service, які обслуговують всі ноди. Guardian на кожній ноді просто збирає метрики та пушить їх в БД з правильним `node_id`. +1. **Один Router/Swapper для всіх нод у проді**: + На НОДА1 є один DAGI Router та один Swapper Service, які обслуговують всі ноди. + Guardian на кожній ноді просто збирає метрики та пушить їх в БД + з правильним `node_id`. -2. **ENV змінні мають пріоритет**: Guardian використовує `NODE_SWAPPER_URL` та `NODE_ROUTER_URL` з ENV, якщо вони встановлені. Це дозволяє для НОДА2 використовувати `localhost`, а для НОДА1 - Docker service names. +2. **ENV змінні мають пріоритет**: + Guardian використовує `NODE_SWAPPER_URL` та `NODE_ROUTER_URL` з ENV, + якщо вони встановлені. Це дозволяє для НОДА2 використовувати `localhost`, + а для НОДА1 - Docker service names. 3. **Heartbeat оновлює node_cache**: Кожен heartbeat оновлює метрики в `node_cache` для конкретного `node_id`, тому дані не перетираються між нодами. - diff --git a/docs/standards/lint_scope.txt b/docs/standards/lint_scope.txt index a66f80d3..5a68ba43 100644 --- a/docs/standards/lint_scope.txt +++ b/docs/standards/lint_scope.txt @@ -30,6 +30,9 @@ docs/AGENTS_SYNC_AND_DASHBOARD_REPORT.md docs/STRATEGY_MODELS.md docs/DAARWIZZ.md docs/DEPLOYMENT_OVERVIEW.md +docs/DEPLOY_MIGRATIONS.md +docs/ACTION_PLAN.md +docs/NODE2_GUARDIAN_SETUP.md docs/consolidation/README.md docs/consolidation/SOURCES.md docs/runbooks/DOCS_SERVICES_AUTOMATION_RUNBOOK.md