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 3bf77bfb4..8e10c1b89 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 @@ -495,8 +495,6 @@ export function ProjectSupervisorView({ diff --git a/apps/ai-game-creator-shell/src/features/project-workspace/ToolCallGroup.tsx b/apps/ai-game-creator-shell/src/features/project-workspace/ToolCallGroup.tsx index 64be2a863..f62c66b23 100644 --- a/apps/ai-game-creator-shell/src/features/project-workspace/ToolCallGroup.tsx +++ b/apps/ai-game-creator-shell/src/features/project-workspace/ToolCallGroup.tsx @@ -12,7 +12,7 @@ import { AgentMessageContent } from '../../../../../packages/shared/src/componen import type { DirectChatToolCard } from './directThreadChat'; import { formatToolCallDuration, - resolveTurnTiming, + resolveToolGroupTiming, toolCallDurationMs, toolCallGroupSummary, toolCallInputText, @@ -22,12 +22,13 @@ import { useLiveNow } from './useLiveNow'; /** * 一回合的工具调用折叠块(Codex 风格): - * 块头一行汇总 + 整轮总耗时 + 时间范围,展开态每行一条工具(行可二级展开看命令 / 文件明细 / 输出)。 + * 块头一行汇总 + 本组用时,展开态每行一条工具(行可二级展开看命令 / 文件明细 / 输出)。 * 契约见 `docs/technical/【技术方案】GameAgent对话工具调用卡片-2026-09-14.md`。 * - * 计时口径(总耗时与单条耗时各一套,都是 100ms 粒度、始终一位小数): - * - 总耗时属于**整轮**:从用户实际发送到明确终态,跨多个工具块共用同一组边界,包含 - * 没有工具的 LLM 等待;不是本块工具的时间跨度,本块工具全部结束后只要回合还在跑就继续增长。 + * 计时口径(组用时与单条耗时各一套,都是 100ms 粒度、始终一位小数): + * - 本组用时属于**这一组工具**:`min(工具开始)` → `max(工具完成)`。同轮另一组还在跑不会让它 + * 继续增长;本组工具全部拿到终态就立即冻结。缺开始 / 缺终态边界时隐藏,不借别组或整轮边界。 + * 整轮总耗时(用户发送 → 回合终态)只在对话底部渲染一处,不在这里重复。 * - 单条耗时只认该工具的事件级边界(`item.started` → `item.completed`),不看条目展示时间。 * * 无障碍:块头与每一行都是 `