From 15a906931b268067aec3fbbbb89d87a3cbe064ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Sat, 5 Sep 2026 11:56:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=9D=E7=95=99=E7=BC=BA=E5=B0=91=20itemId?= =?UTF-8?q?=20=E7=9A=84=20DirectProject=20=E5=A2=9E=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 为协议异常的增量生成稳定回退 item 标识 避免丢失用户可见流文本和异常收尾历史 --- .../src-tauri/src/agent/codex_app_server.rs | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/apps/ai-game-creator-shell/src-tauri/src/agent/codex_app_server.rs b/apps/ai-game-creator-shell/src-tauri/src/agent/codex_app_server.rs index ed1209ddf..0d7017600 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/agent/codex_app_server.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/agent/codex_app_server.rs @@ -2852,18 +2852,19 @@ async fn read_game_creator_codex_app_server_stdout( else { continue; }; - let Some(item_id) = params + let item_id = params .get("itemId") .and_then(serde_json::Value::as_str) .filter(|value| !value.is_empty()) - else { - eprintln!( - "agent.direct_codex.protocol_warning event=item/agentMessage/delta missing_item_id" - ); - continue; - }; + .map(str::to_string) + .unwrap_or_else(|| { + eprintln!( + "agent.direct_codex.protocol_warning event=item/agentMessage/delta missing_item_id" + ); + format!("direct-missing-item:{turn_id}") + }); CodexTurnEvent::AgentMessageDelta { - item_id: item_id.to_string(), + item_id, delta: delta.to_string(), } }