From be247d6c5cad7d6e7eabc3c67cf35802a42ab91d Mon Sep 17 00:00:00 2001 From: OG T Date: Fri, 3 Apr 2026 16:27:08 +0800 Subject: [PATCH] =?UTF-8?q?fix(chat):=20OpenClaw=20timeout=2030=E2=86=9240?= =?UTF-8?q?s=EF=BC=8CNemoClaw=2050=E2=86=9260s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit get_system_context() k8s/DB 查詢加上 _call_openclaw 30s, 總計超過外層 shield 30s 導致 OpenClaw 全部超時。 放寬 timeout 讓兩個 AI 有足夠時間回應。 Co-Authored-By: Claude Sonnet 4.6 --- apps/api/src/services/chat_manager.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/api/src/services/chat_manager.py b/apps/api/src/services/chat_manager.py index e1a5749a..e12c1e1f 100644 --- a/apps/api/src/services/chat_manager.py +++ b/apps/api/src/services/chat_manager.py @@ -166,16 +166,16 @@ class ChatManager: ) ) - # OpenClaw 最多等 30s,NemoClaw 最多等 50s + # OpenClaw 最多等 40s(含 context 取得時間),NemoClaw 最多等 60s try: - openclaw_raw = await asyncio.wait_for(asyncio.shield(openclaw_task), timeout=30.0) + openclaw_raw = await asyncio.wait_for(asyncio.shield(openclaw_task), timeout=40.0) except asyncio.TimeoutError: openclaw_raw = None openclaw_block = f"🦞 OpenClaw:\n{openclaw_raw or '🔴 無響應'}" try: - nemo_raw = await asyncio.wait_for(nemo_task, timeout=50.0) + nemo_raw = await asyncio.wait_for(nemo_task, timeout=60.0) except asyncio.TimeoutError: nemo_raw = None