「在想」用呼吸,不用转圈
三个 foreground 圆点,1.4s 周期、错相 0.2s,透明度 0.25 → 1,缩放 0.8 → 1。慢节奏——转圈在长任务上会让人烦躁,它转得快而事情慢。旁边一行 meta 文字说在做什么(「正在读取 3 张表的结构」),不是空转。
超过 40 秒必须分阶段
用 ProgressPanel:阶段清单、每步一句话说清做了什么(「识别出 9 个字段、3 个流转节点」)、已完成的带耗时、进行中的带呼吸点、未开始的用 subtle。三个作用:证明在动;让人看懂 AI 在替他做什么(这本身就是说服力);失败时能精确说卡在哪一步。「转后台」按钮不能省。
流式文本
逐字出现,光标是一个 foreground 竖线以 1s 周期闪烁;段落用 fadeIn(2px 上移 + 透明度,180ms)落位。引用来源用 chip 样式的内联小标签(muted 底、radius-chip),点开走侧滑面板,不打断阅读。
思考过程可折叠
默认折叠成一行「思考了 12 秒 ›」(meta + muted-foreground),展开后是缩进的步骤列表,字号比正文小一级,颜色 muted-foreground。思考内容永远比结论「退后」一层。
四种回答形态
文字、表格、图表、操作预览。写操作先出预览,人确认才执行,预览用与真实界面相同的组件(同一张表、同一个状态 pill),只是外面套一层 info-soft 底 + 「预览 · 未执行」的 chip。AI 抽取的结构化标签(故障部位、备件型号)必须可点掉——抽错了不能强塞进知识库。
语音转写必须可改
转写一定会有错别字和专业术语识别错(「轴承内圈剥落」很可能被转成别的)。让师傅看一眼、能改,他才会信;一旦发现记错了还没法改,下次就不会再说了——沉淀就断在这里。三态:待录 → 录音中(显示时长 + 「松开结束」)→ 转写完成可编辑。