Подключение ИИ-агента к Steel Browser на VPS: практическое руководство

ИИ-агенту нужен браузер для динамических страниц, заполнения форм и проверки результатов. Steel Browser предоставляет среду на VPS: модель выбирает действие, инструменты выполняют его и возвращают наблюдения. Здесь используются установка при первом запуске LightNode и небольшой пример Playwright.
Разделите модель, агента и браузер
Схема: задача → ИИ-агент → браузерный инструмент → Steel на VPS → наблюдение агенту. Модель и агент могут работать на вашем компьютере или в вашем сервисе; Steel предоставляет HTTP и CDP. Браузер доступен, пока работает VPS, но локальный агент остановится при переходе ноутбука в сон. Steel не планирует задачи и не выполняет вывод модели.
1. Разверните Steel Browser Latest
В LightNode выберите доступный регион, Steel Browser, Latest и Ubuntu 24.04. Нужны минимум 4 ГБ RAM; для тяжёлых страниц и дополнительных вкладок — 8 ГБ или больше. При первом запуске скачивается ghcr.io/steel-dev/steel-browser:latest и запускается сервис Docker. Загрузка занимает время. Через обычную учётную запись SSH проверьте /opt/steel-browser/install.log и /opt/steel-browser/README.txt.
2. Подключитесь через SSH
Выполните команду на своём компьютере, замените YOUR_VPS_IP адресом сервера и используйте обычную SSH-аутентификацию. Не закрывайте туннель. Если локальные порты заняты, выберите другие и измените URL.
ssh -N -L 127.0.0.1:3000:127.0.0.1:3000 -L 127.0.0.1:9223:127.0.0.1:9223 root@YOUR_VPS_IP
Откройте просмотр браузера и документацию API. Сервис слушает только интерфейс loopback сервера; туннель подключает к нему ваш компьютер.
3. Начните с небольшого инструмента
Создайте локальный проект Node.js и установите Playwright. Chromium работает на VPS, поэтому скачивать его локально не нужно. Сохраните код как browser-tool.mjs и выполните node browser-tool.mjs при открытом туннеле.
mkdir steel-agent
cd steel-agent
npm init -y
npm install playwright@latest
import { chromium } from 'playwright';
const browser = await chromium.connectOverCDP('ws://127.0.0.1:3000/');
const page = await browser.contexts()[0].newPage();
try {
await page.goto('https://example.com', { waitUntil: 'domcontentloaded' });
const observation = {
url: page.url(),
title: await page.title(),
text: (await page.locator('body').innerText()).slice(0, 4000),
};
await page.screenshot({ path: 'steel-agent.png', fullPage: true });
console.log(JSON.stringify(observation, null, 2));
} finally {
await page.close();
await browser.close();
}
Скрипт открывает публичную страницу примера, возвращает наблюдение и сохраняет steel-agent.png на компьютере. Закрывается только созданная вкладка. Оберните действие в инструмент агента и добавьте явные инструменты чтения, заполнения и нажатия. Передавайте модели результат каждого действия для выбора следующего шага. Сначала проверяйте свои тестовые страницы, затем реальные аккаунты.
4. Пусть человек выполнит вход
На странице входа приостановите агента и откройте просмотр. Войдите лично, отсканируйте QR или введите код, затем продолжите задачу. Сайт может потребовать дополнительные подтверждения. Отображение QR не доказывает успешный вход. Мы проверили переходы, китайский ввод в формы, выбор, флажки и отправку; процессы с авторизацией нужно тестировать отдельно.
5. Сохранение профиля и значение Latest
Профиль находится в /opt/steel-browser/data/profile, загрузки — в /opt/steel-browser/data/exports. Перед резервным копированием остановите сервис. Тестовые cookies и локальное хранилище сохранились после перезапусков сервиса, но сайт может отозвать вход или завершить сессию. Latest определяется при новой установке, перезапуски сохраняют текущий образ. Его ID и digest записаны в /opt/steel-browser/installed-image.json.
Выберите Steel Browser VPS на странице продукта и изучите официальные материалы по API сессий и Playwright. VPS и использование модели оплачиваются отдельно. Для автономных задач должен работать и процесс агента, а не только браузер.
