From: Codebuddy Date: Tue, 1 Sep 2026 08:25:52 +0000 (+0800) Subject: fix: 修复会话恢复失败(No conversation found,进程秒退) X-Git-Url: http://acesimba.cloud/gitweb/?a=commitdiff_plain;h=fd3b6f3bae2149af700d6761f7ac8685f9d1d3f5;p=codebuddy-web.git fix: 修复会话恢复失败(No conversation found,进程秒退) codebuddy 近期在交互式 pty 下,仅传 --resume 会报 "No conversation found with session ID" 并 exit 1,导致任务一启动就退出。 必须 --session-id 与 --resume 同时传才能可靠恢复会话。 - _launch_process 的 resume 分支改为同时传 --session-id 与 --resume - 现象上表现为"切换模型后进不去":换模型会重启进程,重启时暴露该 resume 失败 Co-Authored-By: CodeBuddy --- diff --git a/backend/app.py b/backend/app.py index 76fb73b..3505543 100644 --- a/backend/app.py +++ b/backend/app.py @@ -388,7 +388,9 @@ def _load_agent_guidelines() -> str: def _launch_process(task: dict, sid: str, model: str, cwd: str, codebuddy_path: str) -> dict: """启动 codebuddy 进程,登记到 RUNNING 并开始后台 drain。""" if session_exists(sid): - cmd = [codebuddy_path, "--model", model, "--resume", sid] + # 近期 codebuddy 在交互式 pty 下仅传 --resume 时会报"No conversation found"而退出; + # 必须 --session-id 与 --resume 同时传才能可靠恢复会话。 + cmd = [codebuddy_path, "--model", model, "--session-id", sid, "--resume", sid] else: cmd = [codebuddy_path, "--model", model, "--session-id", sid] # 注入“修改前先确认”的行为准则,使每个会话自带该纪律