diff --git a/__pycache__/app.cpython-312.pyc b/__pycache__/app.cpython-312.pyc index 1d0aa36..89acae3 100644 Binary files a/__pycache__/app.cpython-312.pyc and b/__pycache__/app.cpython-312.pyc differ diff --git a/app.py b/app.py index be45b7a..da0a3d2 100644 --- a/app.py +++ b/app.py @@ -6,7 +6,7 @@ import os import asyncio from typing import Optional from fastapi import FastAPI, HTTPException -from pydantic import BaseModel +from pydantic import BaseModel, Field from browser_use import Agent, Browser, BrowserProfile, ChatOpenAI from browser_use.agent.views import AgentHistoryList import uvicorn @@ -25,7 +25,7 @@ app = FastAPI(title="Browser Use API", version="1.0.0") class TaskRequest(BaseModel): task: str max_steps: Optional[int] = 20 - model: Optional[str] = DEFAULT_MODEL + model: Optional[str] = Field(default_factory=lambda: os.getenv("LLM_MODEL_NAME", "openai/gpt-4o-mini")) class TaskResponse(BaseModel): task_id: str @@ -75,10 +75,14 @@ async def run_browser_task(task_id: str, task: str, max_steps: int, model: str): ) # Настройки браузера через BrowserProfile + # Если включен remote debugging - запускаем в не-headless режиме + is_headless = not REMOTE_DEBUGGING_ENABLED + browser_profile = BrowserProfile( user_data_dir="/app/browser-data", profile_directory="Default", - headless=True, + headless=is_headless, + keep_alive=True, # Сохраняем сессию между задачами ) # Добавляем remote debugging если включено @@ -86,7 +90,9 @@ async def run_browser_task(task_id: str, task: str, max_steps: int, model: str): if REMOTE_DEBUGGING_ENABLED: extra_args = [ f"--remote-debugging-port={REMOTE_DEBUGGING_PORT}", - "--remote-debugging-address=0.0.0.0" + "--remote-debugging-address=0.0.0.0", + "--no-sandbox", # Важно для работы в контейнере + "--disable-dev-shm-usage" ] browser = Browser(