@wendongfly/myhi 1.3.163 → 1.3.164

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/chat.html CHANGED
@@ -2303,11 +2303,15 @@
2303
2303
  // 关键:idle 放最后——渲染最终答复的 addAssistantMessage 会把状态置回 'working',
2304
2304
  // 若在其之前置 idle 会被顶回「执行中」+ 取消按钮不复位。渲染全部完成后再回 idle。
2305
2305
  setWorkState('idle');
2306
- // 收尾水位提示:水位只认 assistant 消息的 usage(单次 API 调用 = 当前真实上下文)。
2307
- // ⚠ result 的 usage 是「claude 进程启动以来所有调用的累计值」(1.3.162 实测确认),
2308
- // 拿它更新水位会把会话越跑越「虚高」——长会话轮末突然报 231% 而实际 21% 就是它。
2309
- // assistant 流中已实时更新 chip,这里只按已有水位补一次阈值提示(80/90 档各一次)。
2310
- if (_lastCtxTokens > 0) ctxMaybeNudge(_lastCtxTokens);
2306
+ // 收尾水位提示:server 在 result 上附带了刚从 transcript 反查的精确水位
2307
+ // (ctxTokens——claude 2.1.292 起 stream 的 assistant usage 被清零,前端自己算不了)。
2308
+ // 旧 server 无此字段时退回 _lastCtxTokens(老 CLI 的 assistant 流仍带真实 usage)。
2309
+ if (msg.ctxTokens > 0) {
2310
+ ctxUpdate(msg.ctxTokens);
2311
+ ctxMaybeNudge(msg.ctxTokens);
2312
+ } else if (_lastCtxTokens > 0) {
2313
+ ctxMaybeNudge(_lastCtxTokens);
2314
+ }
2311
2315
  break;
2312
2316
  case 'content_block_start':
2313
2317
  // 流式内容块开始:thinking 时创建占位,由 thinking_delta 增量填充;