From 25ef7e7746929b0f688f6f348485438949b0737a Mon Sep 17 00:00:00 2001 From: butubb <1422726308@qq.com> Date: Fri, 4 Sep 2026 13:04:44 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20agent=5Fapi=20=E5=90=8C=E6=AD=A5=20dev?= =?UTF-8?q?=EF=BC=88=E4=BA=8B=E5=8A=A1/=5Fexecute=20=E9=81=AE=E8=94=BD/600?= =?UTF-8?q?s=20=E8=B6=85=E6=97=B6=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/agent_api.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/web/agent_api.py b/web/agent_api.py index 111d333..491f299 100644 --- a/web/agent_api.py +++ b/web/agent_api.py @@ -142,11 +142,12 @@ def _agent_thread(run_id, prompt, cfg): agent.s.default_serial = cfg.get("default_serial") or agent.s.default_serial agent.on_step = on_step - async def _run(): + async def _execute(): await agent._load_tools() return await agent.run(prompt, cfg.get("default_serial") or "") - answer = asyncio.run(_run()) + # 整体超时保护:模型/工具卡死时结束运行,避免单实例被永久占用 + answer = asyncio.run(asyncio.wait_for(_execute(), timeout=600)) with _lock: _run["state"] = "done" _run["answer"] = answer