Интеграции · Средний

Как подключить ИИ-агента к прокси: переменные окружения, Playwright MCP и браузерные агенты

Агенты просматривают сайты как нетерпеливые люди: открывают много страниц, переходят к непредсказуемым целям и не помнят, какой сайт их заблокировал. Стабильную конфигурацию обеспечат отдельный выходной узел резидентского прокси для каждой задачи, сессия на всё время её выполнения и предельный лимит расходов.

3 минуты чтения 7 разделов Проверено Редакция Proxy Cyber

Три проблемы, которые создают агенты#

  • Непредсказуемые цели. Агент сам решает, куда перейти, поэтому нельзя заранее выбрать серверный прокси для одного сайта и резидентский для другого. Надёжный вариант по умолчанию — выходной узел резидентского прокси.
  • Много переходов в одной задаче. Найти, открыть, нажать, прочитать и повторить: задача представляет собой сессию и должна до конца выполняться через один выходной узел.
  • Неограниченные расходы. Зациклившийся агент способен загрузить гигабайты данных. Установите для него лимит, который он не сможет превысить.

Переменные окружения для всей цепочки инструментов#

В стандартной конфигурации requests, HTTPX и urllib могут читать переменные окружения прокси. Для aiohttp нужен ClientSession(trust_env=True) либо явный аргумент proxy. Браузеры и инструменты со своим сетевым стеком могут игнорировать эти переменные. Проверьте выходной IP каждого инструмента; в NO_PROXY указывайте только узлы для прямого подключения.

Командная оболочка
export HTTPS_PROXY="http://AGENTUSER-cc-us-sid-task-4f2a-ttl-2h:PASS@res.proxy-cyber.com:9000"
export HTTP_PROXY="$HTTPS_PROXY"
export NO_PROXY="localhost,127.0.0.1,api.openai.com,api.anthropic.com"
python agent.py

Исключите хосты API поставщика модели с помощью NO_PROXY: запросам к LLM не требуется выход через резидентский прокси, и такой маршрут лишь расходовал бы трафик.

Агенты на Node.js#

В поддерживаемых версиях Node.js переменная NODE_USE_ENV_PROXY=1 включает HTTP_PROXY, HTTPS_PROXY и NO_PROXY для встроенного fetch; флаг --use-env-proxy доступен в Node.js 22.21+ и 24.5+. Альтернатива — явно настроить ProxyAgent или EnvHttpProxyAgent из undici. Библиотеки со своим транспортом или агентом требуют отдельной проверки: одна настройка не охватывает автоматически весь процесс.

Node.js
import { EnvHttpProxyAgent, setGlobalDispatcher } from "undici";
setGlobalDispatcher(new EnvHttpProxyAgent()); // читает HTTPS_PROXY / NO_PROXY

Сервер Playwright MCP#

Сервер Playwright MCP, с помощью которого Claude, инструменты наподобие ChatGPT и агенты в IDE управляют браузером, позволяет задать прокси при запуске. Передайте шлюз с именем пользователя для закреплённой сессии и список обхода прокси для локальных хостов.

Конфигурация MCP
{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "@playwright/mcp@latest",
        "--proxy-server=http://res.proxy-cyber.com:9000",
        "--proxy-bypass=localhost,127.0.0.1"
      ]
    }
  }
}

Подайте заявку с фактическим исходящим публичным IPv4 сервера в разделе «Доступ» и дождитесь активации администратором. NAT или VPN могут менять адрес, который видит шлюз. Подключение без пароля работает только после подтверждения записи для выданной услуги. Географию и сессию уточняйте отдельно: белый список не передаёт параметры имени пользователя.

Браузерные агенты на основе Playwright#

Фреймворки наподобие browser-use предоставляют доступ к настройкам прокси Playwright (сервер, имя пользователя и пароль) в конфигурации браузера. При каждом запуске агента задавайте новый идентификатор сессии, чтобы параллельные запуски не использовали один выходной узел, а локаль и часовой пояс контекста устанавливайте в соответствии со страной выходного узла.

Агент на Python и Playwright
proxy = {
    "server": "http://res.proxy-cyber.com:9000",
    "username": f"AGENTUSER-cc-us-sid-{run_id}-ttl-1h",
    "password": "PASS",
}
# передайте `proxy` там, где фреймворк принимает настройки прокси Playwright

Ограничение расходов с помощью субпользователей#

В разделе «Доступ» создайте заявку на субпользователя с отдельной меткой, сетью и нужным лимитом в ГБ. Администратор выдаст реквизиты и подтвердит активацию и применение лимита на шлюзе. Ожидающая заявка не является активным доступом. Дополнительно ограничьте расход в приложении; при утечке действующих реквизитов запросите их отзыв или замену у поддержки.

Ограничивайте нагрузку#

  • Ограничьте число запросов агента к каждому домену и в минуту: ротация IP не оправдывает чрезмерную нагрузку.
  • Блокируйте изображения, мультимедиа и шрифты в контексте браузера: агенты читают текст.
  • Записывайте идентификатор сессии вместе с каждой задачей, чтобы для заблокированного запуска можно было определить выходной узел и повторить задачу на новом.

Частые вопросы#

Нужно ли также направлять вызовы API LLM через прокси?

Нет. Исключите хосты поставщика с помощью NO_PROXY: этим запросам не нужен выход через резидентский прокси, и они лишь расходовали бы трафик.

Какую сеть выбрать для агента, который в основном читает документацию и открытые сайты?

Разные идентификаторы сессии разделяют настройки маршрутизации, но не cookie браузера или состояние приложения. Начните с небольшого числа процессов, измерьте ошибки и расход, затем постепенно увеличивайте нагрузку в пределах условий заказа и ограничений целевого сайта. Узкий выбор города или оператора может уменьшить доступную ёмкость.

Ваш аккаунт

Управляйте прокси в одном кабинете

Сравнивайте сети, оформляйте заказы и проверяйте баланс и обращения в одном кабинете. Платежи проверяются вручную, а данные для подключения появляются после выдачи.

Создать аккаунт