Files
microdao-daarion/docs/NODA2-MEMORY-QUICKSTART.md
Apple 67225a39fa docs(platform): add policy configs, runbooks, ops scripts and platform documentation
Config policies (16 files): alert_routing, architecture_pressure, backlog,
cost_weights, data_governance, incident_escalation, incident_intelligence,
network_allowlist, nodes_registry, observability_sources, rbac_tools_matrix,
release_gate, risk_attribution, risk_policy, slo_policy, tool_limits, tools_rollout

Ops (22 files): Caddyfile, calendar compose, grafana voice dashboard,
deployments/incidents logs, runbooks for alerts/audit/backlog/incidents/sofiia/voice,
cron jobs, scripts (alert_triage, audit_cleanup, migrate_*, governance, schedule),
task_registry, voice alerts/ha/latency/policy

Docs (30+ files): HUMANIZED_STEPAN v2.7-v3 changelogs and runbooks,
NODA1/NODA2 status and setup, audit index and traces, backlog, incident,
supervisor, tools, voice, opencode, release, risk, aistalk, spacebot

Made-with: Cursor
2026-03-03 07:14:53 -08:00

390 lines
9.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🚀 Memory Stack - NODA2 Quick Start
## ✅ Що вже готово:
1. **Cohere API Key** додано в .env ✅
2. **Docker Compose конфігурація** створена ✅
3. **Скрипти запуску** готові ✅
---
## 📦 Компоненти Memory Stack:
| Сервіс | Порт | Призначення | Статус |
|--------|------|-------------|--------|
| **Qdrant** | 6333, 6334 | Векторна БД | ⏳ To Start |
| **PostgreSQL** | 5433 | Реляційна БД | ⏳ To Start |
| **Neo4j** | 7474, 7687 | Графова БД | ⏳ To Start |
| **Memory Service** | 8000 | API для пам'яті | ⏳ To Start |
| **Redis** | 6379 | Кешування | ⏳ To Start |
| **Adminer** | 8080 | UI для БД | ⏳ To Start |
---
## 🚀 Запуск Memory Stack:
### Варіант 1: Через скрипт (рекомендовано)
```bash
cd /Users/apple/github-projects/microdao-daarion
./scripts/start-memory-node2.sh
```
### Варіант 2: Напряму через Docker Compose
```bash
cd /Users/apple/github-projects/microdao-daarion
# Запустити всі сервіси
docker-compose -f docker-compose.memory-node2.yml up -d
# Перевірити статус
docker-compose -f docker-compose.memory-node2.yml ps
# Переглянути логи
docker-compose -f docker-compose.memory-node2.yml logs -f
```
---
## 📝 Після запуску:
### 1. Перевірити здоров'я сервісів
```bash
# Qdrant
curl http://localhost:6333/healthz
# PostgreSQL
docker exec dagi-postgres-node2 pg_isready -U daarion
# Memory Service
curl http://localhost:8000/health
# Neo4j (може потребувати 30-40 сек)
curl http://localhost:7474
```
### 2. Ініціалізувати колекції Sofiia
```bash
# Створити колекції для Sofiia
python3 scripts/init-sofiia-memory.py
```
Це створить:
- `sofiia_messages` - історія повідомлень
- `sofiia_docs` - документація
- `sofiia_memory_items` - довгострокова пам'ять
- `sofiia_user_context` - контекст користувачів
### 3. Перевірити колекції
```bash
# Список всіх колекцій
curl http://localhost:6333/collections | jq
# Інформація про конкретну колекцію
curl http://localhost:6333/collections/sofiia_messages | jq
```
---
## 🎯 Інтерфейси:
### Qdrant Dashboard
- **URL:** http://localhost:6333/dashboard
- **Функції:** Перегляд колекцій, пошук векторів, статистика
### Neo4j Browser
- **URL:** http://localhost:7474
- **Login:** neo4j
- **Password:** daarion_node2_secret
- **Функції:** Візуалізація графу, Cypher запити
### Adminer (PostgreSQL UI)
- **URL:** http://localhost:8080
- **System:** PostgreSQL
- **Server:** postgres-node2
- **Username:** daarion
- **Password:** daarion_secret_node2
- **Database:** daarion_memory
### Memory Service API
- **Health:** http://localhost:8000/health
- **API Docs:** http://localhost:8000/docs (Swagger UI)
- **ReDoc:** http://localhost:8000/redoc
---
## 🔌 Підключення до Sofiia:
### Для OpenClaw:
```json
{
"agents": {
"list": [
{
"id": "sofiia",
"memory": {
"enabled": true,
"serviceUrl": "http://localhost:8000",
"collections": {
"messages": "sofiia_messages",
"docs": "sofiia_docs",
"memory": "sofiia_memory_items",
"context": "sofiia_user_context"
}
}
}
]
}
}
```
### Для Python коду:
```python
import requests
# Збереження повідомлення
response = requests.post(
"http://localhost:8000/agents/sofiia/memory",
json={
"user_id": "telegram:123456",
"channel_id": "telegram:sofiia",
"content": "User asked about DAARION architecture",
"role": "user",
"metadata": {
"topic": "architecture",
"project": "DAARION"
}
}
)
# Отримання контексту
context = requests.get(
"http://localhost:8000/agents/sofiia/context",
params={
"user_id": "telegram:123456",
"query": "архітектура",
"limit": 10
}
)
```
---
## 🔧 Корисні команди:
### Docker Compose
```bash
# Зупинити всі сервіси
docker-compose -f docker-compose.memory-node2.yml down
# Перезапустити конкретний сервіс
docker-compose -f docker-compose.memory-node2.yml restart memory-service-node2
# Переглянути логи сервісу
docker-compose -f docker-compose.memory-node2.yml logs -f memory-service-node2
# Статус всіх сервісів
docker-compose -f docker-compose.memory-node2.yml ps
```
### Qdrant
```bash
# Список колекцій
curl http://localhost:6333/collections
# Створити колекцію вручну
curl -X PUT http://localhost:6333/collections/test_collection \
-H "Content-Type: application/json" \
-d '{"vectors": {"size": 1024, "distance": "Cosine"}}'
# Видалити колекцію
curl -X DELETE http://localhost:6333/collections/test_collection
```
### PostgreSQL
```bash
# Підключитись до БД
docker exec -it dagi-postgres-node2 psql -U daarion -d daarion_memory
# Створити таблицю
CREATE TABLE test_table (
id SERIAL PRIMARY KEY,
name TEXT
);
# Переглянути таблиці
\dt
```
### Neo4j
```bash
# Підключитись через Cypher Shell
docker exec -it dagi-neo4j-node2 cypher-shell -u neo4j -p daarion_node2_secret
# Створити тестовий вузол
CREATE (n:Test {name: 'Sofiia'}) RETURN n;
# Переглянути всі вузли
MATCH (n) RETURN n LIMIT 10;
```
---
## 📊 Моніторинг:
### Перевірка використання ресурсів
```bash
# Всі контейнери
docker stats --no-stream
# Конкретний контейнер
docker stats --no-stream dagi-qdrant-node2 dagi-postgres-node2 dagi-neo4j-node2
```
### Перевірка дискового простору
```bash
# Розмір даних
du -sh /Users/apple/github-projects/microdao-daarion/data/*
# Docker volumes
docker volume ls
docker system df
```
---
## 🔄 Гібридний режим (NODA1 + NODA2):
### Увімкнути доступ до NODA1:
Відкоментуйте в `docker-compose.memory-node2.yml`:
```yaml
environment:
# Remote NODA1 access
- REMOTE_QDRANT_HOST=144.76.224.179
- REMOTE_QDRANT_PORT=6333
- REMOTE_DATABASE_URL=postgresql://daarion_reader:***@144.76.224.179:5432/daarion_memory
- READ_ONLY_MODE=false
```
### Використання:
```python
# Локальна пам'ять (NODA2)
local_memory = MemoryService(url="http://localhost:8000")
# Віддалена пам'ять (NODA1)
remote_memory = MemoryService(url="http://144.76.224.179:8000")
# Гібридний пошук
results = await hybrid_search(
query="архітектура",
local_service=local_memory,
remote_service=remote_memory
)
```
---
## 🚨 Troubleshooting:
### Проблема: Qdrant не стартує
```bash
# Перевірити логи
docker logs dagi-qdrant-node2
# Перевірити права доступу
ls -la /Users/apple/github-projects/microdao-daarion/data/qdrant-node2
# Перезапустити
docker-compose -f docker-compose.memory-node2.yml restart qdrant-node2
```
### Проблема: PostgreSQL не приймає підключення
```bash
# Перевірити чи готовий
docker exec dagi-postgres-node2 pg_isready
# Перевірити логи
docker logs dagi-postgres-node2
# Перевірити пароль
docker exec -it dagi-postgres-node2 psql -U daarion -d daarion_memory
```
### Проблема: Memory Service не бачить Qdrant
```bash
# Перевірити мережу
docker network inspect dagi-memory-network-node2
# Перевірити DNS
docker exec dagi-memory-service-node2 ping qdrant-node2
# Перевірити з'єднання
docker exec dagi-memory-service-node2 curl http://qdrant-node2:6333/healthz
```
---
## ✅ Чек-лист:
- [ ] Cohere API Key в .env
- [ ] Docker Compose запущено
- [ ] Всі сервіси healthy
- [ ] Колекції Sofiia створено
- [ ] Memory Service API доступний
- [ ] UI (Qdrant, Neo4j, Adminer) відкриваються
- [ ] OpenClaw налаштовано
- [ ] Тестове повідомлення збережено
---
## 🎯 Наступні кроки після запуску:
1. **Запустити Memory Stack**
```bash
./scripts/start-memory-node2.sh
```
2. **Ініціалізувати колекції**
```bash
python3 scripts/init-sofiia-memory.py
```
3. **Налаштувати OpenClaw**
- Додати конфігурацію пам'яті
4. **Протестувати**
- Зберегти тестове повідомлення
- Отримати контекст
- Перевірити в Qdrant UI
5. **Підключити Sofiia**
- Telegram бот з пам'яттю
- Notion інтеграція
- GitHub інтеграція
---
**Готові до запуску! 🚀**
```bash
./scripts/start-memory-node2.sh
```