Skip to main content
Glama
sh7vansh

chrome-orchestrator

by sh7vansh

Chrome Orchestrator

chrome-orchestrator — это легковесный Python SDK и CLI, который абстрагирует управление Docker для headless-сред браузера, а именно Arthur и gloria-headless.

Он запускает долгоживущий фоновый демон, работающий как единый HTTP-прокси. ИИ-агенты запрашивают сеанс браузера, а демон динамически разворачивает запрошенный Docker-контейнер, монтирует постоянное хранилище и бесшовно проксирует stateless HTTP/SSE MCP (Model Context Protocol) эндпоинты на порту 3000.

Возможности

  • Архитектура прокси-демона: предоставляет единый порт (3000 по умолчанию) и проксирует MCP-трафик к динамически выделяемым Docker-контейнерам (порт 8000 для Arthur, 8787 для Gloria).

  • Манифесты агентов: SDK возвращает ContainerManifest с инструкциями по окружению, чтобы ИИ-агенты автоматически понимали возможности только что созданной среды.

  • Постоянное хранилище: автоматически монтирует локальный каталог (~/.chrome-orchestrator/data/<image>), чтобы сохранять состояние между сеансами браузера.

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

Related MCP server: hronaut

Среды

Обе среды предоставляют одинаковый инструмент execute_python для работы с объектом браузера chrome, что позволяет ИИ-агентам без проблем писать Python-код независимо от используемого бэкенда.

  • Arthur (по умолчанию): чистое минималистичное окружение Chromium с точным соответствием DOM и нативным взаимодействием через CDP WebSockets. Оптимально для соблюдения лимитов токенов и стандартного веб-сурфинга.

  • Gloria-Headless: окружение с предустановленным uBlock Origin Lite, которое взаимодействует через расширение Chrome Bridge (Native Messaging). Используйте его для «сложных задач», например обхода капчи, так как оно больше похоже на реальный браузер пользователя.

Требования

  • Python 3.9+

  • Установленный и запущенный Docker or Podman. При использовании Docker убедитесь, что у вас есть разрешение на доступ к демону Docker (/var/run/docker.sock). Для Podman нативно поддерживается rootful-сокет (unix:///run/podman/podman.sock) как бесшовный запасной вариант.

Установка

# From PyPI
pip install chrome-orchestrator

# Or without installing via uvx
uvx --from chrome-orchestrator orchestrator <command>

# Or from source
pip install -e .

Использование

1. Запуск демона

Сначала запустите фоновый демон-прокси. Имя службы должно работать, чтобы CLI и SDK могли выполнять свои функции.

uvx --from chrome-orchestrator orchestrator daemon

По умолчанию демон работает на http://0.0.0.0:3000.

2. Использование CLI

Управлять контейнерами arthur и gloria можно через CLI:

# Provision an Arthur container
uvx --from chrome-orchestrator orchestrator arthur up

# Stop an Arthur container
uvx --from chrome-orchestrator orchestrator arthur down

# Provision a Gloria-headless container
uvx --from chrome-orchestrator orchestrator gloria up

# Stop all running orchestrator containers
uvx --from chrome-orchestrator orchestrator down

Команда up создаст контейнер и выведет статический MCP HTTP URL, к которому можно подключить клиент, например http://localhost:3000/arthur/mcp.

3. Использование Python SDK

Действующие ИИ-агенты и Python-скрипты могут использовать SDK для программного развертывания и старта окружений:

from chrome_orchestrator import sdk

# Provision the environment (defaults to Arthur)
manifest = sdk.up(sdk.ContainerImage.ARTHUR)

print(f"Connected! MCP URL: {manifest.mcp_url}")
print(f"Agent Instructions:\n{manifest.instructions}")

# Your automation/MCP client connects to `manifest.mcp_url` here...

# Tear down the session when finished
sdk.down(sdk.ContainerImage.ARTHUR)

Тестирование

В проекте используется pytest. Тесты нацелены на верхние уровни интеграции (CLI и SDK) и имитируют HTTP-прокси взаимодействия.

pytest tests/

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to control a persistent local browser with live tabs, navigation, interaction, inspection, and state management through MCP.
    6
    -
  • A
    license
    B
    quality
    C
    maintenance
    Deploys a hosted, authenticated MCP server that lets AI assistants drive a real headless browser over HTTP, enabling navigation, clicking, typing, and reading pages without local browser setup.
    23
    6,555,401 npm
    Apache 2.0