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>
This commit is contained in:
50
docs/NODA1-AGENT-ARCHITECTURE.md
Normal file
50
docs/NODA1-AGENT-ARCHITECTURE.md
Normal file
@@ -0,0 +1,50 @@
|
||||
# Архітектура агентів на НОДА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** — як додавати нових агентів
|
||||
Reference in New Issue
Block a user