Подключить ИИ-агента к Chrome — значит дать языковой модели возможность открывать страницы, нажимать кнопки и заполнять формы вместо вас. Этот гайд решает задачу первичной настройки браузерной автоматизации на настольном компьютере (Windows, macOS или Linux) с установленным Chrome. Подход универсален: мы описываем общие шаги, которые работают с любым агентским фреймворком, управляющим браузером через программный интерфейс (API — набор команд, по которым программы общаются друг с другом). Если вы только знакомитесь с темой, сначала посмотрите обзор AI agents for task automation: a guide — он объясняет, чем агент отличается от обычного чата с моделью.
1. **Создайте отдельный профиль Chrome.** Откройте Chrome → иконка аватара справа вверху → «Добавить» → задайте имя, например `ai-agent`. Ожидаемый результат: откроется новое окно с чистым профилем без ваших закладок и входов. Это работает, потому что у каждого профиля свои cookie и пароли — агент не получит доступ к вашим аккаунтам.
2. **Запустите Chrome в режиме отладки (remote debugging).** Это режим, в котором Chrome открывает порт, через который внешние программы могут им управлять. Закройте все окна Chrome, затем в терминале выполните:
# macOS / Linux
google-chrome --remote-debugging-port=9222 --user-data-dir="$HOME/chrome-agent-profile"
# Windows (PowerShell)
& "C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 --user-data-dir="C:\chrome-agent-profile"
Ожидаемый результат: открывается обычное окно Chrome, а по адресу `http://localhost:9222/json/version` в другом браузере виден JSON с полем `"Browser": "Chrome/..."`. Флаг `--remote-debugging-port=9222` открывает управляющий интерфейс, а `--user-data-dir` указывает на отдельный профиль из шага 1.
3. **Установите агентский фреймворк.** Выберите библиотеку, которая умеет управлять браузером по командам модели (например, любой популярный Python-пакет для browser automation с LLM-агентом), и поставьте её через pip — менеджер пакетов Python:
pip install browser-agent-framework
Ожидаемый результат: в терминале — строки `Successfully installed ...`. Почему это работает: pip скачивает пакет и его зависимости из публичного репозитория.
4. **Пропишите API-ключ в переменную окружения** — так агент прочитает его, а ключ не попадёт в код и в git:
# macOS / Linux
export LLM_API_KEY="sk-ваш-ключ"
# Windows (PowerShell)
$env:LLM_API_KEY = "sk-ваш-ключ"
Ожидаемый результат: команда выполняется без вывода; проверка `echo $LLM_API_KEY` (или `echo $env:LLM_API_KEY` в PowerShell) печатает ваш ключ.
5. **Напишите минимальный скрипт подключения.** Агент должен соединиться с уже запущенным Chrome по порту 9222, а не запускать свой браузер:
from browser_agent_framework import Agent
agent = Agent(
api_key_env="LLM_API_KEY", # ключ читается из переменной окружения
cdp_url="http://localhost:9222", # подключение к запущенному Chrome
)
result = agent.run("Открой example.com и выведи заголовок страницы")
print(result)
Ожидаемый результат: в окне Chrome из шага 2 сама открывается вкладка `example.com`, а в терминале печатается `Example Domain`. Это работает, потому что фреймворк общается с Chrome по протоколу CDP (Chrome DevTools Protocol — официальный протокол управления браузером).
6. **Проверьте на реальной задаче.** Дайте агенту простую многошаговую инструкцию, например: «Открой поисковик, найди "weather today" и скажи температуру». Ожидаемый результат: вы видите, как курсор-действия выполняются в окне Chrome, а финальный ответ появляется в терминале. Если всё сработало — базовая связка готова, и можно переходить к более сложным сценариям (подбор готовых сценариев автоматизации — в гайде GPT-6.1 Sol for Automation: Ready-Made Scenarios and Examples).
7. **Добавьте чек-лист безопасности перед постоянным использованием:**
Нужно ли что-то устанавливать в сам Chrome (расширения)?
Нет. В описанной схеме агент управляет браузером через порт отладки (CDP), расширение не требуется.
Можно ли подключить агента к уже открытому Chrome с моими вкладками?
Технически да, но не рекомендуется: агент будет видеть ваши сессии и может случайно что-то нажать. Используйте отдельный профиль.
Какой модели «отдаётся» управление браузером?
Любой, чей API-ключ вы указали: фреймворк отправляет модели скриншот/описание страницы, а модель возвращает следующее действие (клик, ввод текста).
Чем агент отличается от обычного чата с нейросетью?
Чат только отвечает текстом, а агент может выполнять действия — открывать страницы, заполнять формы, нажимать кнопки. Подробнее — в гайде How to turn a regular LLM chat into a full-fledged AI agent.
Безопасно ли давать агенту доступ к браузеру?
При соблюдении чек-листа из шага 7 — да: отдельный профиль, ключ в переменной окружения, никаких паролей и банковских страниц, порт закрыт от внешнего доступа.