@wendongfly/myhi 1.3.40 → 1.3.41

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.
Files changed (2) hide show
  1. package/dist/chat.html +5 -3
  2. package/package.json +1 -1
package/dist/chat.html CHANGED
@@ -800,6 +800,7 @@
800
800
  // ── 消息渲染 ──────────────────────────────────
801
801
  function addInputMessage(text) {
802
802
  endStream(); endToolGroup();
803
+ _streamedTextThisMessage = false; // 新一轮用户提问开始,重置流式渲染标志
803
804
  const msg = document.createElement('div');
804
805
  msg.className = 'msg msg-input';
805
806
  msg.innerHTML = `<div><div class="bubble">${escHtml(text)}</div><div class="meta">${formatTime(new Date())}</div></div>`;
@@ -820,7 +821,7 @@
820
821
 
821
822
  let _streamEl = null; // 当前流式输出的 assistant 元素
822
823
  let _streamText = ''; // 累积的原始文本
823
- let _streamedTextThisMessage = false; // 当前 message 是否已通过 content_block_delta 流式渲染过 text;用于在末尾 assistant 事件中跳过重复渲染
824
+ let _streamedTextThisMessage = false; // 当前轮(自上次用户提问起)是否已通过 content_block_delta 流式渲染过 text;用于在末尾 assistant / result 事件中跳过重复渲染
824
825
 
825
826
  function addAssistantMessage(raw) {
826
827
  removeThinking(); endToolGroup();
@@ -1331,13 +1332,14 @@
1331
1332
  }
1332
1333
  }
1333
1334
  }
1334
- _streamedTextThisMessage = false;
1335
1335
  setWorkState('working');
1336
1336
  break;
1337
1337
  case 'result':
1338
1338
  removeThinking();
1339
1339
  setWorkState('idle');
1340
- if (msg.result) {
1340
+ // msg.result 是整轮的最终答复文本,纯文字回答时与流式 delta 内容相同;
1341
+ // 已通过 content_block_delta 渲染过就跳过,避免生成第二个独立气泡
1342
+ if (msg.result && !_streamedTextThisMessage) {
1341
1343
  addAssistantMessage(typeof msg.result === 'string' ? msg.result : JSON.stringify(msg.result));
1342
1344
  }
1343
1345
  const cost = msg.total_cost_usd ? ` ($${msg.total_cost_usd.toFixed(4)})` : '';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wendongfly/myhi",
3
- "version": "1.3.40",
3
+ "version": "1.3.41",
4
4
  "description": "Web-based terminal sharing with chat UI — control your terminal from phone via LAN/Tailscale",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",