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

9.3 KiB
Raw Blame History

🚀 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: Через скрипт (рекомендовано)

cd /Users/apple/github-projects/microdao-daarion
./scripts/start-memory-node2.sh

Варіант 2: Напряму через Docker Compose

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. Перевірити здоров'я сервісів

# 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

# Створити колекції для Sofiia
python3 scripts/init-sofiia-memory.py

Це створить:

  • sofiia_messages - історія повідомлень
  • sofiia_docs - документація
  • sofiia_memory_items - довгострокова пам'ять
  • sofiia_user_context - контекст користувачів

3. Перевірити колекції

# Список всіх колекцій
curl http://localhost:6333/collections | jq

# Інформація про конкретну колекцію
curl http://localhost:6333/collections/sofiia_messages | jq

🎯 Інтерфейси:

Qdrant 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


🔌 Підключення до Sofiia:

Для OpenClaw:

{
  "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 коду:

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

# Зупинити всі сервіси
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

# Список колекцій
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

# Підключитись до БД
docker exec -it dagi-postgres-node2 psql -U daarion -d daarion_memory

# Створити таблицю
CREATE TABLE test_table (
    id SERIAL PRIMARY KEY,
    name TEXT
);

# Переглянути таблиці
\dt

Neo4j

# Підключитись через 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;

📊 Моніторинг:

Перевірка використання ресурсів

# Всі контейнери
docker stats --no-stream

# Конкретний контейнер
docker stats --no-stream dagi-qdrant-node2 dagi-postgres-node2 dagi-neo4j-node2

Перевірка дискового простору

# Розмір даних
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:

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

Використання:

# Локальна пам'ять (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 не стартує

# Перевірити логи
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 не приймає підключення

# Перевірити чи готовий
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

# Перевірити мережу
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

    ./scripts/start-memory-node2.sh
    
  2. Ініціалізувати колекції

    python3 scripts/init-sofiia-memory.py
    
  3. Налаштувати OpenClaw

    • Додати конфігурацію пам'яті
  4. Протестувати

    • Зберегти тестове повідомлення
    • Отримати контекст
    • Перевірити в Qdrant UI
  5. Підключити Sofiia

    • Telegram бот з пам'яттю
    • Notion інтеграція
    • GitHub інтеграція

Готові до запуску! 🚀

./scripts/start-memory-node2.sh