From 908541f639bc0bb30602df21d372c96d048faa2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Mon, 7 Sep 2026 11:35:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=20DirectProject=20=E4=B8=8A?= =?UTF-8?q?=E4=B8=8B=E6=96=87=E6=A0=87=E7=AD=BE=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 覆盖 Codex 内部与外部上下文包裹格式 保持普通用户文本的完整标签引用可见 --- .../src/agent/direct_project_history.rs | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/apps/ai-game-creator-shell/src-tauri/src/agent/direct_project_history.rs b/apps/ai-game-creator-shell/src-tauri/src/agent/direct_project_history.rs index 531bf5231..6919a89e3 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/agent/direct_project_history.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/agent/direct_project_history.rs @@ -16,6 +16,7 @@ const DIRECT_PROJECT_INTERNAL_CONTEXT_KINDS: &[&str] = &[ ]; const DIRECT_PROJECT_CONTEXTUAL_USER_TEXT_MARKERS: &[(&str, &str)] = &[ + ("# AGENTS.md instructions", ""), ("", ""), ("", ""), ("", ""), @@ -25,6 +26,24 @@ const DIRECT_PROJECT_CONTEXTUAL_USER_TEXT_MARKERS: &[(&str, &str)] = &[ ("", ""), ]; +fn is_known_contextual_user_text(text: &str) -> bool { + let text = text.trim(); + if DIRECT_PROJECT_CONTEXTUAL_USER_TEXT_MARKERS + .iter() + .any(|(start, end)| text.starts_with(start) && text.ends_with(end)) + { + return true; + } + if text.starts_with("") { + return true; + } + text.starts_with("') + .and_then(|(start, _)| start.strip_prefix(""))) +} + pub(crate) fn is_direct_project_internal_context_item(item: &Value) -> bool { if matches!( item.get("role").and_then(Value::as_str), @@ -51,10 +70,7 @@ pub(crate) fn is_direct_project_internal_context_item(item: &Value) -> bool { let Some(text) = part.get("text").and_then(Value::as_str) else { return false; }; - let text = text.trim(); - DIRECT_PROJECT_CONTEXTUAL_USER_TEXT_MARKERS - .iter() - .any(|(start, end)| text.starts_with(start) && text.ends_with(end)) + is_known_contextual_user_text(text) }) }) }