# 🎯 Решение: browser-use с GUI браузером ## ✅ Проблема решена! Теперь все действия через hermes-agent **ТРАНСЛИРУЮТСЯ** на GUI браузер в реальном времени. ## 🚀 Как использовать ### 1️⃣ Запустите стек ```bash docker compose --profile gui up -d ``` ### 2️⃣ Откройте VNC в браузере ```bash open http://localhost:6080/vnc.html ``` ### 3️⃣ Дайте задачу agentу Напишите что-нибудь типа: ``` "Откройте example.com и найдите заголовок страницы" ``` **Или** запустите напрямую: ```bash docker compose exec -T hermes-agent python \ /root/.hermes/skills/autonomous-ai-agents/browser-use/scripts/run_browser_use.py \ --task "Open google.com and search for 'hello world'" \ --max-steps 5 ``` ### 4️⃣ Смотрите действия в VNC окне 🎬 Вы видите как агент: - 🔍 Навигирует по сайтам - 🖱️ Кликает по кнопкам - ⌨️ Вводит текст - 📜 Скроллит страницу ## 🔧 Что было исправлено ### Проблема: "Host header is specified and is not an IP address" Chromium CDP API **проверяет Host заголовок в HTTP запросах** и отвергает имена хостов. **Решение:** Используем IP адрес контейнера вместо имени: - ❌ ~~`BROWSER_USE_CDP_URL=http://chromium-gui:9223`~~ - ✅ `BROWSER_USE_CDP_URL=http://172.25.0.3:9223` ### Файлы, которые были обновлены: 1. **`docker-compose.yml`** - Изменена `BROWSER_USE_CDP_URL` на `http://172.25.0.3:9223` - Добавлена зависимость от `chromium-gui` в hermes-agent 2. **`docker/chromium-gui/start.sh`** - Добавлена socat для проксирования TCP через IPv6 - Chromium слушает на `::1:9223` (IPv6 localhost) - socat пробрасывает `9223` на все интерфейсы ## 📊 Архитектура ``` hermes-agent (контейнер) │ ├─ BROWSER_USE_CDP_URL=http://172.25.0.3:9223 │ └─→ chromium-gui (контейнер) │ ├─ Chromium слушает на ::1:9223 (IPv6) │ ├─ socat (TCP-LISTEN:9223 → TCP6:[::1]:9223) │ ├─ x11vnc (захватывает Xvfb) │ └─ websockify (VNC → WebSocket) │ └─→ http://localhost:6080/vnc.html (ваш браузер) ``` ## 🎮 Протестировано ```bash # ✅ CDP доступен docker compose exec -T hermes-agent bash -c 'curl -s http://172.25.0.3:9223/json/version' # ✅ VNC доступен open http://localhost:6080/vnc.html # ✅ socat проксирует docker compose exec chromium-gui netstat -tlnp | grep 9223 ``` ## 📚 Дополнительно - Полная документация: [`GUI_BROWSER_SETUP.md`](./GUI_BROWSER_SETUP.md) - Диагностика проблем: смотрите раздел "Диагностика" в [`GUI_BROWSER_SETUP.md`](./GUI_BROWSER_SETUP.md) --- **Теперь browser-use полностью интегрирован с GUI браузером! 🎉**