feat(consult): 进度、思考、正文三通道在生成时分开(BUG-942/943/944)
This commit is contained in:
+2
-2
@@ -373,14 +373,14 @@ The birth-time rectification session is the consultation transcript plus a house
|
||||
|
||||
#### Streaming states
|
||||
|
||||
Every assistant reply moves through the same states on both chat surfaces, and each state has exactly one visual. The step timeline (`ConsultationRunTimeline`) is the only activity surface; the rectification session projects its tool trace onto the same rows and differs only in that it never shows thinking text, because the server drops rectification `thinking.delta` at the public boundary.
|
||||
Every assistant reply moves through the same states on both chat surfaces, and each state has exactly one visual. The step timeline (`ConsultationRunTimeline`) is the only activity surface. Consultation thinking is complete `think.step` items (v1 `thinking.delta` still renders for one release). Rectification never shows thinking text: provider reasoning is dropped at the public boundary.
|
||||
|
||||
| State | When | Visible | Transition in |
|
||||
|---|---|---|---|
|
||||
| `queued` | request sent, no server event yet | timeline open with one live row “正在处理…” (spinner + shimmer label), summary “正在分析” | row enters with the message |
|
||||
| `loading-method` | `skill.started` | live method row | label swap, 120ms fade |
|
||||
| `calculating` | `tool.started` / chart activity | live calculate row; completed rows above it show the check marker | label swap, 120ms fade |
|
||||
| `thinking` | `thinking.section` / `thinking.delta` | live think row; thinking text inside the row, paced per frame | label swap, 120ms fade |
|
||||
| `thinking` | `think.plan` / `think.step` (and v1 `thinking.section` / `thinking.delta`) | live think row; complete step text inside the row | label swap, 120ms fade |
|
||||
| `composing` | first `answer.delta` | live write row; answer text below the timeline, released per frame | answer paragraphs appear as text, no per-token animation |
|
||||
| `settled` | `run.completed` | summary becomes “已完成 N 步”, timeline collapses in place unless the reader opened or closed it themselves; actions and follow-ups appear | 180ms height transition, 120ms label fade |
|
||||
| `stopped` | the reader pressed stop | whatever streamed stays; a grey caption under the body says the run stopped and was not billed | none |
|
||||
|
||||
Reference in New Issue
Block a user