Kernel Images: решение с открытым исходным кодом для легких браузеров с песочницей
Общее введение
Kernel Images - это проект с открытым исходным кодом, размещенный на GitHub, который предоставляет легкую среду Chrome с песочницей. Он основан на технологиях Docker и Unikraft для создания изолированных экземпляров браузера, поддерживает такие фреймворки автоматизации, как Playwright и Puppeteer, подходит для веб-тестирования, сбора данных и разработки агентов искусственного интеллекта. Проект поддерживается командой onkernel под лицензией Apache 2.0, с открытым кодом и вкладом сообщества. Пользователи могут развернуть браузерную среду с помощью простой конфигурации, наслаждаясь преимуществами низкого потребления ресурсов и быстрого запуска. Официальные лица также предоставляют услуги хостинга, пользователи могут присоединиться к списку ожидания для получения дополнительных возможностей.

Список функций
- Предоставляет предварительно настроенный браузер Chrome с поддержкой протокола Chrome DevTools.
- Совместимость с Playwright и Puppeteer для простой интеграции сценариев автоматизации.
- Предоставляет удаленный GUI-интерфейс через noVNC для визуального мониторинга и управления.
- интегрированный (как в интегральной схеме) Антропология (используется в форме номинального выражения) Компьютер Используйте агент, поддерживающий текстовые и голосовые действия.
- Реализация unikernel, основанная на Unikraft, поддерживает автоматический переход в спящий режим и снимки состояния.
- Поддерживает развертывание контейнеров Docker и совместим с Linux, macOS и Windows.
- Сверхнизкая задержка при холодном старте (менее 20 мс) для высокопроизводительных сценариев.
- Конфигурация открытого порта для простого подключения и отладки внешних инструментов.
Использование помощи
Процесс установки
Kernel Images поддерживает развертывание как в Docker, так и в Unikraft. Ниже приведены подробные шаги для Linux, macOS (пользователям Windows необходимо установить Docker Desktop).
1. Установите Docker
Убедитесь, что Docker установлен в вашей системе. Для проверки выполните следующую команду:
docker --version
Если он не установлен, обратитесь к официальному руководству:
- Ubuntu/Debian:
sudo apt update sudo apt install -y docker.io sudo usermod -aG docker $USER
- macOS: Загрузите Docker Desktop с официального сайта Docker.
- Windows: установите Docker Desktop и включите WSL 2.
2. Клонирование хранилищ проектов
Клонируйте репозиторий Kernel Images с помощью Git:
git clone https://github.com/onkernel/kernel-images.git
cd kernel-images
3. Создайте образ Docker
В корневом каталоге проекта создайте образ Docker:
docker build -t kernel-images -f containers/docker/Dockerfile .
Убедитесь, что образ был создан успешно:
docker images | grep kernel-images
4. Запустите контейнер Docker
Запустите экземпляр Chrome в режиме "песочницы":
docker run -d -p 9222:9222 -p 6080:6080 --name kernel-browser kernel-images
-p 9222:9222
: Карта портов Chrome DevTools для автоматического подключения фреймворков.-p 6080:6080
: Соединяет порт noVNC для удаленного доступа к графическому интерфейсу.--name kernel-browser
: Именованные контейнеры для удобства управления.
5. (Необязательно) Развертывание Unikraft
Unikraft обеспечивает более легкое развертывание юникернела для высокопроизводительных сценариев. Установите инструментарий Unikraft:
- консультация
unikernels/unikraft-cu/README.md
Ниже приведен список зависимостей, которые необходимо установить (например.kraftkit
). - Создайте образ юникернела:
cd unikernels/unikraft-cu make
- Запустите экземпляр:
kraft run
Основные функции
1. Система автоматизации подключения
Среда Chrome от Kernel Images поддерживает как Playwright, так и Puppeteer; ниже приведен пример Playwright:
- Установить драматурга:
npm install playwright
- Создание сценариев
test.js
::const { chromium } = require('playwright'); (async () => { const browser = await chromium.connectOverCDP('http://localhost:9222'); const page = await browser.newPage(); await page.goto('https://example.com'); console.log(await page.title()); await browser.close(); })();
- Запустите скрипт:
node test.js
2. Удаленный мониторинг графического интерфейса
Kernel Images предоставляет удаленный GUI-интерфейс через noVNC. После запуска контейнера зайдите в http://localhost:6080
(Убедитесь, что порт 6080
С помощью интерфейса noVNC можно следить за состоянием браузера, отлаживать скрипты или проверять сетевые запросы в режиме реального времени (mapped). Интерфейс поддерживает работу с мышью и клавиатурой и подходит для удаленного управления.
3. Автоматизированная спячка и моментальные снимки
В режиме Unikernel браузер автоматически переходит в спящий режим при отсутствии сетевой активности, занимая при этом очень мало ресурсов (почти ноль). Во время спящего режима система генерирует снимок состояния браузера (включая файлы cookie, положение страницы, масштаб окна и т. д.). Состояние восстанавливается:
kraft resume
Функция моментальных снимков подходит для длительных задач, таких как ползание или тестирование, обеспечивая беспрепятственное продолжение задач после прерывания.
4. Интеграция антропных агентов
Kernel Images интегрируется с агентом Anthropic's Computer Use для поддержки управления браузером с помощью текстовых или голосовых команд. Процедура:
- Зарегистрируйте аккаунт в Anthropic, чтобы получить ключ API.
- Установка переменных окружения:
export ANTHROPIC_API_KEY=your-api-key
- Запустите сценарий агента (находится в папке
agent-loop.py
):python agent-loop.py
- Введите инструкции на экране чата, например "Откройте сайт example.com и сделайте скриншот" или "Заполните форму".
5. холодный старт со сверхмалой задержкой
Время холодной загрузки в режиме Unikernel составляет менее 20 миллисекунд, что идеально подходит для сценариев, требующих быстрого времени отклика (например, для задач автоматизации, управляемых событиями), в то время как режим Docker загружается немного медленнее, но все равно превосходит традиционные виртуальные машины.
предостережение
- Убедитесь, что порт
9222
ответить пением6080
Не занято. - Регулярно обновляйте зеркала для получения новейших функций:
docker pull kernel-images:latest
- Развертывание Unikraft требует знакомства со средой Linux, поэтому рекомендуется обратиться к официальной документации.
- Системные требования: не менее 2 ГБ оперативной памяти, 10 ГБ дискового пространства.
сценарий применения
- Автоматическое веб-тестирование
Разработчики используют Kernel Images для запуска сценариев Playwright, чтобы имитировать действия пользователей и тестировать функциональность сайта. Среда "песочницы" обеспечивает изоляцию тестов и подходит для интеграции CI/CD. - Сбор данных
Аналитики данных развертывают Kernel Images для пакетного доступа к веб-страницам и извлечения структурированных данных. Функции гибернации и моментальных снимков поддерживают длительные задачи и снижают затраты на сервер. - Разработка агентов искусственного интеллекта
Разработчики ИИ используют агентов Anthropic для создания интеллектуальных систем, поддерживающих голосовое или текстовое управление для решения сложных задач, таких как автоматическое заполнение форм или поиск контента. - Удаленная отладка и совместная работа
Команды удаленно наблюдают за браузерами через интерфейс noVNC, что идеально подходит для совместной работы в разных местах или облачных разработок, и просматривают рендеринг страниц и выполнение сценариев в режиме реального времени.
QA
- Какие операционные системы поддерживает Kernel Images?
Режим Docker поддерживает Linux, macOS и Windows (требуется Docker Desktop). Режим unikraft в основном поддерживает Linux. - Как обеспечить безопасность среды "песочницы"?
Экземпляры браузера работают в изолированном контейнере Docker или юникернеле, полностью отделенном от хост-системы, что снижает риски безопасности. - Требуется ли функция "Антропный агент"?
Нет, учетная запись Anthropic не требуется для работы с базовым браузером. Для работы с прокси-функциями требуется ключ API. - Насколько мала задержка при холодном старте?
Режим Unikernel загружается менее чем за 20 миллисекунд, режим Docker работает немного медленнее, но все равно эффективно. - Как я могу принять участие в разработке проекта?
консультацияCONTRIBUTING.md
Если вы не знаете, что делать, отправьте запрос на доработку или создайте проблему на GitHub.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...