Files
microdao-daarion/docs/NODA1-AGENT-VERIFICATION.md
Apple a46a70c014 fix(ops): Add network aliases and stabilize DNS for NODA1
- docker-compose.node1.yml: Add network aliases (router, gateway,
  memory-service, qdrant, nats, neo4j) to eliminate manual
  `docker network connect --alias` commands
- docker-compose.node1.yml: ROUTER_URL now uses env variable with
  fallback: ${ROUTER_URL:-http://router:8000}
- docker-compose.node1.yml: Increase router healthcheck start_period
  to 30s and retries to 5
- .gitignore: Add noda1-credentials.local.mdc (local-only SSH creds)
- scripts/node1/verify_agents.sh: Improved output with agent list
- docs: Add NODA1-AGENT-VERIFICATION.md, NODA1-AGENT-ARCHITECTURE.md,
  NODA1-VERIFICATION-REPORT-2026-02-03.md
- config/README.md: How to add new agents
- .cursor/rules/, .cursor/skills/: NODA1 operations skill for Cursor

Root cause fixed: Gateway could not resolve 'router' DNS name when
Router container was named 'dagi-staging-router' without alias.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-03 05:55:56 -08:00

3.8 KiB
Raw Blame History

Перевірка роботи агентів на NODA1

Сервер: 144.76.224.179 (node1-daarion)
Корінь проекту на сервері: /opt/microdao-daarion/


Швидка перевірка (на сервері)

Підключіться по SSH і виконайте скрипт перевірки:

ssh root@144.76.224.179
cd /opt/microdao-daarion
./scripts/node1/verify_agents.sh

Скрипт перевіряє:

  1. Prober metrics (9108) — чи працює agent-e2e-prober
  2. Prometheus targets (9090) — чи збираються метрики
  3. POST /debug/agent_ping (9300) — E2E: Gateway → Router → Memory
  4. GET /health (9300) — стан Gateway та список агентів (prompt завантажено, Telegram токен налаштовано)
  5. Webhook Helion — відповідь на тестовий POST на /helion/telegram/webhook

Ручні перевірки (на NODA1, localhost)

Виконуйте після SSH на сервер (ssh root@144.76.224.179).

Health сервісів

curl -s http://localhost:9102/health   # Router
curl -s http://localhost:9300/health   # Gateway (тут список агентів)
curl -s http://localhost:8000/health   # Memory Service
curl -s http://localhost:6333/healthz  # Qdrant

Список агентів і їх конфіг (Gateway)

curl -s http://localhost:9300/health | jq '.agents'

Очікуваний вивід — по кожному агенту: name, prompt_loaded (true/false), telegram_token_configured (true/false).

E2E probe (Gateway → Router → Memory)

curl -s -X POST http://localhost:9300/debug/agent_ping -H "Content-Type: application/json" -d '{}' | jq .

Успіх: router_ok: true, memory_ok: true.

Статус контейнерів

docker ps --format 'table {{.Names}}\t{{.Status}}' | grep -E 'gateway|router|memory|qdrant'

Очікувані контейнери (залежить від docker-compose): dagi-gateway-node1, router, memory-service, qdrant.

Логи Gateway (останні рядки)

docker logs dagi-gateway-node1 --tail 50

Агенти в Gateway (реєстр)

У gateway-bot/http_api.py реєстр AGENT_REGISTRY містить:

agent_id Webhook path
daarwizz /telegram/webhook (default)
helion /helion/telegram/webhook
greenfood /greenfood/telegram/webhook
nutra /nutra/telegram/webhook
agromatrix /agromatrix/telegram/webhook
alateya /alateya/telegram/webhook
druid /druid/telegram/webhook
clan /clan/telegram/webhook
eonarch /eonarch/telegram/webhook

Router викликається як: POST {ROUTER_URL}/v1/agents/{agent_id}/infer.


Якщо з локальної машини (без SSH)

  • Порти 9102, 9300, 8000 тощо на NODA1 можуть бути недоступні ззовні (firewall).
  • Тоді єдиний варіант — виконувати перевірки після SSH на сервер (команди вище).
  • Альтернатива: налаштувати SSH-тунель і тоді curl http://localhost:9300/health на своєму ноутбуку через тунель.

Посилання

  • PROJECT-MASTER-INDEX.md — єдина точка входу до документації, порти, сервіси.
  • NODA1-CURRENT-STATUS-2026-01-26.md — поточний статус NODA1, health endpoints.
  • gateway-bot/http_api.py — реєстр агентів, /health, /debug/agent_ping.