Files
microdao-daarion/docs/NODA1-AGENT-ARCHITECTURE.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

51 lines
2.4 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.
# Архітектура агентів на НОДА1
**Сервер:** node1-daarion (144.76.224.179)
**Призначення:** Схема підключення агентів, потік запитів, сервіси.
---
## Схема потоку (спрощена)
```
TELEGRAM → GATEWAY:9300 → ROUTER:9102 → LLM (Ollama/Swapper)
↓ ↓
Memory:8000 CrewAI (за потреби)
Qdrant + Neo4j + Postgres
```
- **Gateway** приймає webhook з Telegram, визначає агента за шляхом (`/{agent_id}/telegram/webhook`), завантажує system prompt з `gateway-bot/*_prompt.txt`, відправляє запит у **Router**.
- **Router** викликає LLM (через Swapper/Ollama), при потребі CrewAI; результат повертається в Gateway.
- **Memory** зберігає/віддає контекст по `agent_id`; використовує Qdrant, Postgres.
---
## Ключові сервіси (порти на НОДА1)
| Сервіс | Порт | Health |
|--------|------|--------|
| Router | 9102 | `/health` |
| Gateway | 9300 | `/health` (містить список агентів) |
| Memory Service | 8000 | `/health` |
| Qdrant | 6333 | `/healthz` |
| RAG | 9500 | `/health` |
| Swapper | 8890 | `/health` |
Контейнери: `dagi-gateway-node1`, `dagi-staging-router` (або `dagi-router-node1`), `dagi-memory-service-node1`, `dagi-qdrant-node1` тощо. Якщо Router на ноді називається `dagi-staging-router`, у `.env` на сервері задати `ROUTER_URL=http://dagi-staging-router:8000` для Gateway.
---
## Реєстр агентів (Gateway)
У `gateway-bot/http_api.py`**AGENT_REGISTRY**: daarwizz, helion, greenfood, agromatrix, alateya, nutra, druid, clan, eonarch. Кожен агент має webhook `/{agent_id}/telegram/webhook`, prompt-файл і env з Telegram-токеном.
---
## Пов’язані документи
- **PROJECT-MASTER-INDEX.md** — єдина точка входу, порти, сервіси, швидкі команди
- **NODA1-CURRENT-STATUS-2026-01-26.md** — поточний статус НОДА1
- **docs/NODA1-AGENT-VERIFICATION.md** — перевірка роботи агентів на НОДА1
- **config/README.md** — як додавати нових агентів