Files
microdao-daarion/docs/TEST_AGENTS_FIX.md

129 lines
5.3 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.
# Виправлення проблеми з тестовими агентами
## Проблема
Тестові агенти (`ag_atlas`, `ag_oracle`, `ag_builder`, `ag_greeter`) з'являлися в базі даних після застосування міграцій або відновлення з бекапу, замінюючи реальні агенти з НОДА2.
## Причини
1. **Міграції**: Раніше міграція `013_city_map_coordinates.sql` містила INSERT для тестових агентів
2. **Бекапи**: Старі бекапи містили тестові агенти
3. **Старий скрипт**: `scripts/setup-node2-agents.sh` намагався призначити тестові агенти до НОДА2
4. **Відсутність захисту**: Не було автоматичного видалення тестових агентів
## Виправлення
### 1. Міграції оновлено
Файл `migrations/013_city_map_coordinates.sql`:
- INSERT для тестових агентів закоментовано
- Додано коментар про те, що тестові агенти не повинні створюватися
### 2. Видалено проблемний скрипт
**`scripts/setup-node2-agents.sh`** (видалено):
- Намагався призначити тестові агенти до НОДА2
- Замінений на `scripts/sync-node2-dagi-agents.py`
### 3. Створено скрипт видалення
**`scripts/remove-test-agents.sh`**:
- Автоматично видаляє тестові агенти
- Може викликатися після міграцій або вручну
### 4. Інтегровано в health check
**`scripts/db-health-check.sh`**:
- Автоматично перевіряє наявність тестових агентів
- Видаляє їх при виявленні
- Запускається кожні 30 хвилин через cron
### 5. Sync скрипт для НОДА2
**`scripts/sync-node2-dagi-agents.py`**:
- Завантажує 50 реальних DAGI агентів з `config/agents_city_mapping.yaml`
- Призначає їх до `node-2-macbook-m4max`
- **Використовуйте цей скрипт замість setup-node2-agents.sh**
## Використання
### Видалити тестові агенти вручну
```bash
cd /opt/microdao-daarion
bash scripts/remove-test-agents.sh
```
### Завантажити агентів НОДА2 (правильний спосіб)
```bash
cd /opt/microdao-daarion
python3 scripts/sync-node2-dagi-agents.py
```
### Перевірити стан
```bash
docker exec daarion-postgres psql -U postgres -d daarion -c "
SELECT
COUNT(*) as total,
COUNT(CASE WHEN node_id = 'node-2-macbook-m4max' THEN 1 END) as node2,
COUNT(CASE WHEN id IN ('ag_atlas', 'ag_oracle', 'ag_builder', 'ag_greeter') THEN 1 END) as test
FROM agents;
"
```
## Тестові агенти (не повинні існувати)
- `ag_atlas` - Atlas
- `ag_oracle` - Oracle
- `ag_builder` - Builder Bot
- `ag_greeter` - Greeter
**Ці агенти автоматично видаляються health check скриптом кожні 30 хвилин.**
## Реальні агенти НОДА2
50 агентів з `config/agents_city_mapping.yaml`, організовані по районах:
- **Leadership Hall (4)**: Solarius, Sofia, PrimeSynth, Nexor
- **System Control (6)**: monitor-node2, vindex, helix, aurora...
- **Engineering Lab (5)**: byteforge, vector, chainweaver, cypher, canvas
- **Marketing Hub (6)**: roxy, mira, tempo, harmony, faye...
- **Finance Office (4)**: financial-analyst, accountant, budget-planner...
- **Web3 District (5)**: smart-contract-dev, defi-analyst, tokenomics-expert...
- **Security Bunker (7)**: shadelock, exor, penetration-tester...
- **Vision Studio (4)**: iris, lumen, spectra, video-analyzer
- **R&D Lab (6)**: protomind, labforge, testpilot, modelscout...
- **Memory Vault (3)**: somnia, memory-manager, knowledge-indexer
## Запобігання повторенню
1. **Health check**: Автоматично видаляє тестові агенти кожні 30 хвилин
2. **Міграції**: Тестові агенти закоментовані в міграціях
3. **Sync скрипт**: Завжди використовувати `sync-node2-dagi-agents.py` для завантаження реальних агентів
4. **Старий скрипт видалено**: `setup-node2-agents.sh` більше не існує
## Перевірка після відновлення з бекапу
```bash
# 1. Видалити тестові агенти
bash scripts/remove-test-agents.sh
# 2. Завантажити агентів НОДА2
python3 scripts/sync-node2-dagi-agents.py
# 3. Перевірити
docker exec daarion-postgres psql -U postgres -d daarion -c "
SELECT COUNT(*) FROM agents WHERE node_id = 'node-2-macbook-m4max';
"
# Має бути: 50
```
## Поточний стан
- ✅ Тестові агенти видалені
- ✅ 50 агентів НОДА2 завантажено
- ✅ Health check автоматично видаляє тестові агенти
- ✅ Старий скрипт видалено