From 8c68bd89629a18f01294803b2af5d89ff22078ff Mon Sep 17 00:00:00 2001 From: nafer Date: Fri, 6 Mar 2026 00:05:58 +0300 Subject: [PATCH] zz --- __pycache__/app.cpython-312.pyc | Bin 15112 -> 15308 bytes app.py | 21 +++++++++++++-------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/__pycache__/app.cpython-312.pyc b/__pycache__/app.cpython-312.pyc index e32d5ec079e00e59d70acfe1d4c1d0cedbd9313c..5711d0df453bd8d44eb795635b2fc5a321795e41 100644 GIT binary patch delta 1364 zcmZWnZA=?w9DknPU0;s7>w8N}fieVyQA%7Uf-E}bXoO5RhKZX|Jo;Q{fwp*e48*&! zY{|ls#j!k#&KTonG?{{NOVyan#F%AZf|{CX(v^Lf-~49XzW8A=K2M>GFPGf!|N8qq z|NoO`>Dc#k(uOGVfPB|}|2Tc2_nPz}&kH0xMgIF&@z?x?og2u3;I!4WRjkdlPXNS! z08NrLdBgDxcsT-qS!38Iow!Nx9;#V^RFLEZL(t&apdlbfh{ikwS;zu|*CgFtX(51W z49C0RJxi5!5+cDAb*5UM^ib7(A`(}n70Xr@5)I_kebpYyM=nFGSU2(@FY+Nj3ZNjW zMWG47lnmQskm^7Q*9)BKJxjZfB9Pd^0^e1p{9V&7&?a~yyGMgDz`>Czjk z=Nhindi=RoS+oV0P4eyt}WVnSG{!0oz66=U3Q)(`w#HQ2P+4=2Yp*ODPa(cWg zDJN43ZM4KXu;2L-Y{9QNL!DjG!-}ku66%XCxa0E7Onh9;&1s4nL$WT9w!@NLnNMr_ zSZ)e`;{3)b#bPN%M$?L>?a3;0IOQ6~pS!L{CZ==aC1GSXtEV%{epSt>C3{AmQczme z@EP|gBs=rIMfG{IjXFT#ISPj|iu z$(E6IGP9;WOPSS{WCoEIHJ2o_sR=54fR;IVLdohSTZ(LfU-SrUfMoIcT>)%(eC`qQ zY<~lPo&a|x&xu6YlEIff2NySm;61CgMJfnQWfurHEDaUwy6*v23@_V?;fD9y-)X;; zxE1bPww1i$V$-8n+?T`4L$`gQvV-*eApl>)oxqMl%TQtX)xwZmXdb^6NETelvK7>K zFCDleNau#n3||zlvcCws%XZ+dD|$M9-uZN)V{gGVP{aqlQ88L{)t5tJSXvq?NAnBb zLvS$wPw#CXw1aQE2OPxQ=!JtUd!uh}EeURV;GmVg>FuQcQ}S^8O@lqm+GAY83f6i!n(1e#Pgo4I4mrYIw=xMYv(7_`HI{_awk}%jH1INsKz_vk z5#*-GJ${;h5V#GkX?oj}c(XRbWr=$||Dg5=tpAgA#l0l61?%b8pwR z-n-5z5^&wrn5vQ4mJ9ebG;PPO_A$e>lJ2@BcjK zo_l^?DW4R6;&~2GyZPwL++6Z2;VQ>jsrx=%Pd^~va~IaXMivB5m^5<+Anpp(IuO(> zYR8Myfop^*jJ) zA+l*!)q;4%)lPp3KGPvVwKlmE*^vV|k%(NV3%N5^%|`axJkUlKY;L+dR?nus)v591 zJzE%h$>+B2u%TtUKXj(ECMiocDEE3$+KQCdlp zu>A+}$UXy)lBDB1e<`hG>n7<`PFCc)?Z|RL$>pUfjEk6bI*&pZ+2CC3_%J;zKFDB> z!4V2|p?#nQHbbs+O z^~Rn6J?}qncp!FN9NiebII%Htx$ie|*WGCU`I&nzU&Bn(k2&B9J#hEj>3#WE_v{_} zY{LYCiSiuzTO8(s4Uf$)lxG^D>V)f6xDMcllY6Iz!Oi640Hs^KaB9eKt8davo!bZC zRKjq3d=J%IyLHn5ZtZE}5M+@=6NfFSn11VpXez3&1&pZ#s6~x5Qj6)C-mOaw>T3f= z+FMKLQ{(#DbCBVPE;VMZjhZ@`Gp?ToRk!;KXw1^PxmLa5xd%8!`JV|ANTpB$KWzv%zF}_QEnY@_{z?JH1G6sj56WBz|24L2Tml>=v xVC|Uo;248>^2=BdenkEldl)+oVb|qD4Z!%C+~RMZ@sInSHsg)g$>aU^{{i4PD#ri- diff --git a/app.py b/app.py index 67a0fb7..86475fd 100644 --- a/app.py +++ b/app.py @@ -78,26 +78,30 @@ async def run_browser_task(task_id: str, task: str, max_steps: int, model: str): # Если включен remote debugging - запускаем Chrome вручную и подключаемся через CDP if REMOTE_DEBUGGING_ENABLED: import subprocess + import glob - # Ищем chromium в типичных местах - chromium_paths = [ - "/ms-playwright/chromium/chrome-linux/chrome", + # Ищем chromium в типичных местах (включая ms-playwright) + chromium_search_paths = [ + "/ms-playwright/chromium-*/chrome-linux/chrome", + "/root/.cache/ms-playwright/chromium-*/chrome-linux/chrome", "/usr/bin/chromium", "/usr/bin/chromium-browser", "/usr/bin/google-chrome", ] chrome_exe = None - for path in chromium_paths: - if os.path.exists(path): - chrome_exe = path + for pattern in chromium_search_paths: + matches = glob.glob(pattern) + if matches: + chrome_exe = matches[0] # Берем первый найденный break if not chrome_exe: - raise RuntimeError("Chrome/Chromium not found in container") + raise RuntimeError(f"Chrome/Chromium not found. Searched: {chromium_search_paths}") - # Создаем временную директорию для профиля + # Создаем директорию для профиля user_data_dir = "/app/browser-data" + os.makedirs(user_data_dir, exist_ok=True) # Запускаем Chrome с remote debugging chrome_cmd = [ @@ -111,6 +115,7 @@ async def run_browser_task(task_id: str, task: str, max_steps: int, model: str): "--disable-gpu", "--no-sandbox", "--disable-dev-shm-usage", + "--headless=new", "about:blank" ]