# Швидкий старт Node Guardian для НОДА2 (MacBook) ## Крок 1: Перевірка доступності сервісів ```bash # Перевірити чи Router доступний curl http://localhost:9102/health # Перевірити чи Swapper доступний curl http://localhost:8890/health ``` Якщо обидва повертають `{"status":"healthy"}`, продовжуйте. ## Крок 2: Встановлення залежностей ```bash cd /Users/apple/github-projects/microdao-daarion pip3 install httpx ``` ## Крок 3: Запуск Node Guardian ### Варіант А: Одноразовий запуск (для тестування) ```bash cd /Users/apple/github-projects/microdao-daarion ./scripts/start-node2-guardian.sh ``` ### Варіант Б: Запуск у фоновому режимі (рекомендовано) ```bash cd /Users/apple/github-projects/microdao-daarion # Запустити в фоні nohup ./scripts/start-node2-guardian.sh > /tmp/node-guardian.log 2>&1 & # Перевірити логи tail -f /tmp/node-guardian.log ``` ### Варіант В: Запуск через launchd (macOS) Створіть файл `~/Library/LaunchAgents/com.daarion.node-guardian.plist`: ```xml Label com.daarion.node-guardian ProgramArguments /usr/bin/python3 /Users/apple/github-projects/microdao-daarion/scripts/node-guardian-loop.py --node-id node-2-macbook-m4max --node-name НОДА2 --city-url https://daarion.space/api/city --environment development --roles gpu,ai_runtime --hostname $(hostname) --interval 60 EnvironmentVariables NODE_SWAPPER_URL http://localhost:8890 NODE_ROUTER_URL http://localhost:9102 RunAtLoad KeepAlive StandardOutPath /tmp/node-guardian.log StandardErrorPath /tmp/node-guardian-error.log ``` Завантажити: ```bash launchctl load ~/Library/LaunchAgents/com.daarion.node-guardian.plist launchctl start com.daarion.node-guardian ``` Перевірити статус: ```bash launchctl list | grep node-guardian ``` ## Крок 4: Перевірка роботи ### Перевірити логи ```bash # Якщо запущено через nohup tail -f /tmp/node-guardian.log # Якщо через launchd tail -f /tmp/node-guardian.log /tmp/node-guardian-error.log ``` ### Перевірити в БД (на сервері) ```bash ssh root@144.76.224.179 "docker exec daarion-postgres psql -U postgres -d daarion -c \"SELECT node_id, swapper_healthy, swapper_models_total, router_healthy, last_heartbeat FROM node_cache WHERE node_id = 'node-2-macbook-m4max';\"" ``` ### Перевірити в UI Відкрийте `https://daarion.space/nodes/node/node-2-macbook-m4max` та перевірте: - Swapper Service показує моделі ✅ - DAGI Router показує статус "Up" ✅ - Агенти відображаються в списку ✅ ## Troubleshooting ### Guardian не запускається 1. Перевірте чи Python 3 встановлений: ```bash python3 --version ``` 2. Перевірте чи httpx встановлений: ```bash python3 -c "import httpx; print('OK')" ``` 3. Перевірте чи сервіси доступні: ```bash curl http://localhost:9102/health curl http://localhost:8890/health ``` ### Guardian не оновлює метрики 1. Перевірте з'єднання з city-service: ```bash curl -v https://daarion.space/api/city/health ``` 2. Перевірте логи на помилки: ```bash tail -50 /tmp/node-guardian.log | grep -i error ``` 3. Перевірте чи node_id правильний: ```bash # В логах має бути: Node ID: node-2-macbook-m4max ``` ### Агенти не відображаються 1. Перевірте чи агенти мають правильний node_id: ```bash ssh root@144.76.224.179 "docker exec daarion-postgres psql -U postgres -d daarion -c \"SELECT id, display_name, node_id FROM agents WHERE node_id = 'node-2-macbook-m4max';\"" ``` 2. Якщо потрібно оновити node_id для агентів: ```bash ./scripts/setup-node2-agents.sh ```