- 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>
106 lines
3.8 KiB
Markdown
106 lines
3.8 KiB
Markdown
# Перевірка роботи агентів на NODA1
|
||
|
||
**Сервер:** 144.76.224.179 (node1-daarion)
|
||
**Корінь проекту на сервері:** `/opt/microdao-daarion/`
|
||
|
||
---
|
||
|
||
## Швидка перевірка (на сервері)
|
||
|
||
Підключіться по SSH і виконайте скрипт перевірки:
|
||
|
||
```bash
|
||
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 сервісів
|
||
|
||
```bash
|
||
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)
|
||
|
||
```bash
|
||
curl -s http://localhost:9300/health | jq '.agents'
|
||
```
|
||
|
||
Очікуваний вивід — по кожному агенту: `name`, `prompt_loaded` (true/false), `telegram_token_configured` (true/false).
|
||
|
||
### E2E probe (Gateway → Router → Memory)
|
||
|
||
```bash
|
||
curl -s -X POST http://localhost:9300/debug/agent_ping -H "Content-Type: application/json" -d '{}' | jq .
|
||
```
|
||
|
||
Успіх: `router_ok: true`, `memory_ok: true`.
|
||
|
||
### Статус контейнерів
|
||
|
||
```bash
|
||
docker ps --format 'table {{.Names}}\t{{.Status}}' | grep -E 'gateway|router|memory|qdrant'
|
||
```
|
||
|
||
Очікувані контейнери (залежить від docker-compose): `dagi-gateway-node1`, router, memory-service, qdrant.
|
||
|
||
### Логи Gateway (останні рядки)
|
||
|
||
```bash
|
||
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`.
|