diff --git a/apps/ai-game-creator-shell/src-tauri/src/agent/direct_codex_user_item/validation.rs b/apps/ai-game-creator-shell/src-tauri/src/agent/direct_codex_user_item/validation.rs index 547322021..f6719e376 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/agent/direct_codex_user_item/validation.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/agent/direct_codex_user_item/validation.rs @@ -12,7 +12,7 @@ pub(crate) const MAX_DIRECT_CODEX_REFERENCES: usize = 32; pub(crate) fn validate_direct_codex_user_item( root: &Path, item: &DirectCodexUserItem, -) -> Result<(), String> { +) -> Result { let DirectCodexUserItem::Message(message) = item; if !matches!(message.role, DirectCodexUserRole::User) { return Err("DirectProject 只接受 user message item".to_string()); @@ -71,7 +71,7 @@ pub(crate) fn validate_direct_codex_user_item( if reference_count > MAX_DIRECT_CODEX_REFERENCES { return Err(format!("一次最多引用 {MAX_DIRECT_CODEX_REFERENCES} 个素材")); } - Ok(()) + Ok(manifest) } pub(crate) fn validate_resource_id_and_manifest( diff --git a/apps/ai-game-creator-shell/src-tauri/src/agent/direct_codex_user_item/wire.rs b/apps/ai-game-creator-shell/src-tauri/src/agent/direct_codex_user_item/wire.rs index fe9c76157..3b4007022 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/agent/direct_codex_user_item/wire.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/agent/direct_codex_user_item/wire.rs @@ -176,6 +176,23 @@ pub(crate) fn direct_codex_user_item_to_codex_turn_input( "text": runtime_region_summary(reference), })); } + DirectCodexUserContentPart::AgcAttachmentReference(reference) => { + let mut summary = format!( + "[附件:名称={};类型={};大小={} 字节", + reference.name.trim(), + reference.media_type.trim(), + reference.size + ); + if !reference.local_path.trim().is_empty() { + summary.push_str(&format!(";项目路径={}", reference.local_path.trim())); + } + summary.push_str(&format!(";状态={}", reference.status.trim())); + summary.push(']'); + input.push(serde_json::json!({ + "type": "text", + "text": summary, + })); + } } } Ok(Value::Array(input))