From 152eb975ba578bf1d33e7cf5f38174a72ec04bf2 Mon Sep 17 00:00:00 2001 From: nafer Date: Thu, 5 Mar 2026 14:43:14 +0300 Subject: [PATCH] new --- .env | 21 ++++++++++++++++++ .env.example | 37 +++++++++++++++++++++++++++++++ Dockerfile | 49 +++++++++++++++++++++++++++++++++++++++++ README.md | 54 ++++++++++++++++++++++++++++++++++++++++++++++ docker-compose.yml | 27 +++++++++++++++++++++++ 5 files changed, 188 insertions(+) create mode 100644 .env create mode 100644 .env.example create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/.env b/.env new file mode 100644 index 0000000..995710d --- /dev/null +++ b/.env @@ -0,0 +1,21 @@ +# =========================================== +# Browser Use MCP Server Configuration +# =========================================== + +# OpenRouter API Key (обязательно) +OPENROUTER_API_KEY=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 + +# LLM Provider - используем OpenRouter +LLM_PROVIDER=openrouter + +# Модель для browser agent +LLM_MODEL_NAME=arcee-ai/trinity-large-preview:free + +# =========================================== +# Опциональные настройки +# =========================================== +BROWSER_HEADLESS=true +AGENT_MAX_STEPS=20 +AGENT_USE_VISION=true +SERVER_PORT=8383 +SERVER_HOST=0.0.0.0 diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..55f9f8a --- /dev/null +++ b/.env.example @@ -0,0 +1,37 @@ +# =========================================== +# Browser Use MCP Server Configuration +# =========================================== + +# OpenRouter API Key (обязательно) +# Получить на https://openrouter.ai/keys +OPENROUTER_API_KEY=your_openrouter_api_key_here + +# LLM Provider - используем OpenRouter +LLM_PROVIDER=openrouter + +# Модель для browser agent (любая модель с OpenRouter) +# Примеры: google/gemini-2.0-flash-001, anthropic/claude-3.5-sonnet, openai/gpt-4o-mini +LLM_MODEL_NAME=google/gemini-2.0-flash-001 + +# =========================================== +# Опциональные настройки браузера +# =========================================== + +# Запуск браузера в headless режиме (true/false) +BROWSER_HEADLESS=true + +# Максимальное количество шагов для выполнения задачи +AGENT_MAX_STEPS=20 + +# Использование зрения (true/false) +AGENT_USE_VISION=true + +# =========================================== +# Настройки сервера +# =========================================== + +# Порт сервера +SERVER_PORT=8383 + +# Хост сервера +SERVER_HOST=0.0.0.0 diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..69ec1ac --- /dev/null +++ b/Dockerfile @@ -0,0 +1,49 @@ +FROM python:3.11-slim + +# Install system dependencies +RUN apt-get update && apt-get install -y \ + wget \ + gnupg \ + curl \ + unzip \ + libglib2.0-0 \ + libnss3 \ + libnspr4 \ + libdbus-1-3 \ + libatk1.0-0 \ + libatk-bridge2.0-0 \ + libcups2 \ + libdrm2 \ + libxkbcommon0 \ + libxcomposite1 \ + libxdamage1 \ + libxfixes3 \ + libxrandr2 \ + libgbm1 \ + libpango-1.0-0 \ + libcairo2 \ + libasound2 \ + libatspi2.0-0 \ + && rm -rf /var/lib/apt/lists/* + +# Install uv +RUN pip install uv + +# Install mcp-server-browser-use with all dependencies +RUN uvx --from "mcp-server-browser-use[cli]" pip install mcp-server-browser-use + +# Install Playwright browsers +RUN mcp-server-browser-use install-browser + +# Create directories for config and data +RUN mkdir -p /root/.config/mcp-server-browser-use +RUN mkdir -p /root/.config/browser-skills + +# Expose port +EXPOSE 8383 + +# Set working directory +WORKDIR /app + +# Default command +CMD ["mcp-server-browser-use", "start", "--host", "0.0.0.0", "--port", "8383"] diff --git a/README.md b/README.md index e69de29..fa1442c 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,54 @@ +# Browser Use + MCP Server - Dokploy + +## Быстрый старт + +### 1. Настройка .env + +```bash +# OpenRouter API Key +OPENROUTER_API_KEY=ваш_ключ_openrouter + +# Модель (любая с OpenRouter) +LLM_MODEL_NAME=google/gemini-2.0-flash-001 +``` + +### 2. Развёртывание в Dokploy + +1. Создайте Docker Compose проект в Dokploy +2. Загрузите файлы: `docker-compose.yml`, `Dockerfile`, `.env` +3. Добавьте домен `browser.home` в настройках Dokploy +4. Разверните + +## n8n интеграция + +**URL:** `http://browser.home/api/tasks` + +**Создать задачу:** +``` +POST http://browser.home/api/tasks +Body: {"task": "твоя задача"} +``` + +**Получить результат:** +``` +GET http://browser.home/api/tasks/{task_id} +``` + +**Проверка:** +``` +GET http://browser.home/api/health +``` + +## Web UI + +- `http://browser.home` - Task Viewer +- `http://browser.home/dashboard` - Dashboard + +## API Endpoints + +| Method | Endpoint | Описание | +|--------|----------|---------| +| GET | `/api/health` | Проверка | +| POST | `/api/tasks` | Задача | +| GET | `/api/tasks/{id}` | Результат | +| GET | `/api/skills` | Навыки | diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..3936c5e --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,27 @@ +version: '3.8' + +services: + browser-use: + build: + context: . + dockerfile: Dockerfile + image: browser-use-mcp:latest + container_name: browser-use + env_file: + - .env + environment: + - LLM__PROVIDER=openrouter + - LLM__MODEL_NAME=${LLM_MODEL_NAME} + - LLM__API_KEY=${OPENROUTER_API_KEY} + - MCP_LLM_PROVIDER=openrouter + - MCP_LLM_MODEL_NAME=${LLM_MODEL_NAME} + - MCP_LLM_API_KEY=${OPENROUTER_API_KEY} + volumes: + - browser-data:/root/.config/mcp-server-browser-use + - browser-skills:/root/.config/browser-skills + shm_size: '2gb' + restart: unless-stopped + +volumes: + browser-data: + browser-skills: