diff --git a/apps/ai-game-creator-shell/src/features/project-workspace/ResourceReferenceInput.tsx b/apps/ai-game-creator-shell/src/features/project-workspace/ResourceReferenceInput.tsx index 155e0ac41..c7f03be38 100644 --- a/apps/ai-game-creator-shell/src/features/project-workspace/ResourceReferenceInput.tsx +++ b/apps/ai-game-creator-shell/src/features/project-workspace/ResourceReferenceInput.tsx @@ -275,15 +275,17 @@ function readDraftFromNodes(): ChatComposerDraft { ]), ); const text = projection.content - .map((part) => - part.type === 'input_text' - ? part.text - : part.type === 'agc_resource_reference' - ? (labels.get(part.resourceId) ?? `@${part.resourceId}`) - : part.type === 'agc_runtime_region_reference' - ? `@${part.label}` - : `$${part.name}`, - ) + // 与 directCodexContentToPromptText 保持同一口径:附件引用是 `@名称`,不是 `$名称`。 + .map((part) => { + if (part.type === 'input_text') return part.text; + if (part.type === 'agc_resource_reference') { + return labels.get(part.resourceId) ?? `@${part.resourceId}`; + } + if (part.type === 'agc_runtime_region_reference') return `@${part.label}`; + if (part.type === 'agc_attachment_reference') return `@${part.name}`; + if (part.type === 'agc_skill_reference') return `$${part.name}`; + return ''; + }) .join('') .trim(); return {