diff --git a/apps/ai-game-creator-shell/src/App.tsx b/apps/ai-game-creator-shell/src/App.tsx index 95053dc3e..00eb59762 100644 --- a/apps/ai-game-creator-shell/src/App.tsx +++ b/apps/ai-game-creator-shell/src/App.tsx @@ -4050,6 +4050,8 @@ export function App({ conversationMessages, current, ); + // 空对话(没有默认问候之后的新常态)同样应当接受回读结果。 + const isEmptyConversation = current.length === 0; const hasOnlyDefaultGreeting = current.length === 1 && current[0]?.role === 'assistant' && @@ -4062,6 +4064,7 @@ export function App({ current[1]?.text === `已设置本地项目:${nextProjectPath}`; if ( mode !== 'replace' && + !isEmptyConversation && !hasOnlyDefaultGreeting && !hasOnlyOpenStatus ) { diff --git a/apps/ai-game-creator-shell/src/features/agent-runtime/model.ts b/apps/ai-game-creator-shell/src/features/agent-runtime/model.ts index 4c331835c..fcaef751c 100644 --- a/apps/ai-game-creator-shell/src/features/agent-runtime/model.ts +++ b/apps/ai-game-creator-shell/src/features/agent-runtime/model.ts @@ -1327,12 +1327,9 @@ export function isMissingAgentGoalCommandError(error: unknown) { } export function createDefaultChatMessages(): ChatMessage[] { - return [ - { - role: 'assistant', - text: '想做什么游戏?', - }, - ]; + // 默认问候「想做什么游戏?」已移除:它在对话记录里没有信息量,而且会出现在用户消息之后。 + // 空对话由空状态提示(panels.tsx 的引导文案)承担,不再往消息列表里塞占位消息。 + return []; } export function isRuntimeConfigMissingError(message: string) { diff --git a/apps/ai-game-creator-shell/src/features/project-workspace/ProjectSupervisorView.tsx b/apps/ai-game-creator-shell/src/features/project-workspace/ProjectSupervisorView.tsx index 440d43832..ac459702d 100644 --- a/apps/ai-game-creator-shell/src/features/project-workspace/ProjectSupervisorView.tsx +++ b/apps/ai-game-creator-shell/src/features/project-workspace/ProjectSupervisorView.tsx @@ -536,6 +536,10 @@ export function ProjectSupervisorView({ return null; } const running = Boolean(activeTurnId) && turnId === activeTurnId; + if (running) { + // 进行中的耗时由输入框上方的过程卡显示("已耗时 xx"),对话里再显示一遍是重复。 + return null; + } const endedAt = running ? turnUsageNow : Math.max(turnEndedAtFor(turnId), startedAt);