BrowserUse_and_ComputerUse_.../GUI_BROWSER_FIX.md
Кобылкевич Фёдор 74cb5455ca update skill
2026-03-26 23:28:59 +03:00

106 lines
3.4 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.

# 🎯 Решение: 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 браузером! 🎉**