Files
ycode/docs/流式回复状态栏对齐-2026-10-16.md

38 lines
3.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 流式回复状态栏对齐(2026-10-16)
本轮把 WorkBuddy 的流式回复状态行接入 YCode。只要助手消息处于 `streaming`,无论正文尚未到达还是已经开始逐字输出,正文之后都会显示源样式的“思考中”扫光状态;移除了 YCode 原先只在空正文时显示的静态提示和光标。回复完成后该状态行卸载,既有消息 footer 继续显示本条消息冻结的模型名。
## REA 来源与边界
| Evidence | 内容与范围 |
| --- | --- |
| `ev_717fa5e846e64d67ac19c8925d121bff632c0d3aefb3603b10858559cabb2dcb` | WorkBuddy 5.8.2 的 `src-0FGg1seX.js` 恢复源码;SHA-256 `f2c6dbae949041b4e2bb456e8a23ae2837f2d7893ac24bf471485f77c7b15178`。其中 `StreamingFooter` 显示加载状态、可选费用和提示;`LoadingTip` 默认延迟 4 秒、每 10 秒轮换,悬停时跳过轮换;`getLoadingTips` 按 locale 选择提示并替换产品名。 |
| `ev_377c8790468b3c67dad8577aabb327f98d3140659f0fffdbabfcff5a40cc9e94` | WorkBuddy 加载样式及 token。样式恢复器只投影运行时加载器用到的 CSS Modules 类、对应动画及 trailing-tip 规则,不改规则值。 |
| `ev_1055bb2779161c24d008319ed167313b4ab1da7512f5e2232e5b30863a02` | WorkBuddy 5.8.3 的被动页面检查;当前脚本和资源正文受过滤,没有流式时截图或该状态的计算样式。 |
当前活动 WorkBuddy 记录为 5.8.3,流式 footer 的可恢复源码来自 5.8.2。`src-CBaV_A3S.css` 的 REA 运行时导出 SHA-256 为 `2090ed21045c8f8b0fc388d76424c8751bf18fcd065cbbd5d0ef485163a2e36c`;REA manifest 将这份运行时 CSS 与 ASAR 声明摘要比较为 `mismatch`,而 `contexts-BkjwYSZT.css`(`50cbd673f7f35fc7f966bdddc6c9f5677fdfe944cb904888d214619fca259380`)为 `match`。本实现保留运行时采集中的类规则,同时把该版本/资产身份差异作为待复核项。
因此,本轮对齐的是 **REA 恢复的 5.8.2 源结构、计时逻辑、提示数据和 CSS 规则**。当前 5.8.3 的真实流式画面、computed style 与同画面像素对照仍未取得,不能据此宣称流式区域逐像素验收通过。
## 接入与验证
- `StreamingFooter.tsx` 在流式全过程保持状态提示;加载 tips 使用 REA 恢复的中英文短句,英文/葡萄牙语/印尼语走英文表,其余走中文表。提示中的 WorkBuddy 品牌名按宿主产品名替换为 YCode。
- 费用行只在原版提供 credit 数值时出现。YCode 当前没有这项数据,本轮不显示费用,也不生成占位金额。
- `streaming-footer-source.css` 由 REA 导出的 CSS 资产按源类名自动筛选;`--check` 验证生成结果与证据仍一致。
- 已增加流式 footer 回归:空正文与非空正文均有状态行;4 秒首次显示、10 秒轮换、悬停暂停、离开后恢复、卸载后定时器清理;终态隐藏状态行且保留冻结模型名。
验证通过:
```powershell
node scripts/rea/recover-streaming-loading-tips.mjs --check
node scripts/rea/recover-streaming-footer-styles.mjs --check
npm run test:conversation
npm run test:assistant-footer
npm run typecheck
npm run build
```
## 后续像素验收
要关闭剩余差距,需要通过 REA 对 WorkBuddy 5.8.3 与 YCode 在相同视口、DPR、字体、主题和流式阶段采集同状态画面,并比较状态行 ROI。还需在 WorkBuddy 当前 5.8.3 运行版本重新确认提示文案、费用存在时的列宽以及扫光/提示渐显动画。费用数值的数据路径仍是 YCode 功能差异,只有真实接入该数据后才能做有值状态对照。