问题根因:之前预创建空 AI widget,思考 widget 挂载在其后,即使动态重排也可能因 Textual 组件树更新时序导致顺序不稳定。 修复方案: - 移除 prefab 空 AI widget 预创建逻辑 - start_ai() 仅标记状态,不创建任何 widget - _ensure_ai_widget() 延迟到第一次 chunk 到来时才创建 AI widget - 按消息到达顺序自然挂载:reasoning_start → reasoning → chunk → end_reasoning/finish_ai - 思考 widget 必然先于 AI widget 挂载,顺序天然正确 同时: - 简化 app.py 发送失败处理,不再需要移除空 widget - 更新 README v1.2 说明