wezard 2.0.5 → 2.0.6

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.
@@ -13,10 +13,10 @@ const fmtTs = (ms) => {
13
13
  const pad = (n) => n.toString().padStart(2, "0");
14
14
  return `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())} ${pad(d.getHours())}:${pad(d.getMinutes())}:${pad(d.getSeconds())}`;
15
15
  };
16
- /** 一行里的时刻: 只报 `HH:MM:SS` (`short` 再去掉秒), 完整日期收进 title —— 日期由消息行自己交代。 */
17
- const clock = (ms, short = false) => {
16
+ /** 一行里的时刻: 只报 `HH:MM:SS`, 完整日期收进 title —— 日期由消息行自己交代。 */
17
+ const clock = (ms) => {
18
18
  const ts = fmtTs(ms);
19
- return `<time class="ts" title="${ts}">${ts.slice(11, short ? 16 : 19)}</time>`;
19
+ return `<time class="ts" title="${ts}">${ts.slice(11)}</time>`;
20
20
  };
21
21
  const fmtDuration = (ms) => {
22
22
  if (ms < 1000)
@@ -79,6 +79,19 @@ const toJson = (v) => {
79
79
  return String(v);
80
80
  }
81
81
  };
82
+ /** 整段结果是一个 JSON 容器 (对象 / 数组) → 重排缩进并高亮; 否则 ""。标量不算 ——
83
+ * `42` / `"ok"` 排了版也还是它自己。重排会抹平大整数与键的重复, 所以原文始终另留一份 raw。 */
84
+ const prettyJsonHtml = (raw) => {
85
+ const t = raw.trim();
86
+ if (!/^[{[]/.test(t))
87
+ return "";
88
+ try {
89
+ return highlightJson(JSON.stringify(JSON.parse(t), null, 2));
90
+ }
91
+ catch {
92
+ return "";
93
+ }
94
+ };
82
95
  export const SHARED_CSS = `
83
96
  *{box-sizing:border-box}
84
97
  html,body{margin:0;padding:0;background:#f6f8fa;color:#1f2328;
@@ -258,13 +271,16 @@ const renderToolPage = (r) => {
258
271
  ? String(r.toolInput.file_path ?? "")
259
272
  : "";
260
273
  const readResultHtml = isRead && hasResult ? renderReadContent(r.toolResult, filePath) : "";
261
- const resultBlock = readResultHtml
262
- ? `${readResultHtml}<section><details><summary>result (raw)</summary><pre><code>${ansiToHtml(r.toolResult)}</code></pre></details></section>`
263
- : hasResult
264
- ? (diffResultHtml
265
- ? `${diffResultHtml}<section><details><summary>result (raw)</summary><pre><code>${ansiToHtml(r.toolResult)}</code></pre></details></section>`
266
- : `<section><h2>result</h2><pre><code>${ansiToHtml(r.toolResult)}</code></pre></section>`)
267
- : `<section><h2>result</h2><pre style="color:#656d76;font-style:italic"><code>(尚未捕获)</code></pre></section>`;
274
+ const jsonResultHtml = hasResult && !isRead && !diffResultHtml ? prettyJsonHtml(r.toolResult) : "";
275
+ const resultBlock = jsonResultHtml
276
+ ? `<section><h2>result</h2><pre><code>${jsonResultHtml}</code></pre></section><section><details><summary>result (raw)</summary><pre><code>${ansiToHtml(r.toolResult)}</code></pre></details></section>`
277
+ : readResultHtml
278
+ ? `${readResultHtml}<section><details><summary>result (raw)</summary><pre><code>${ansiToHtml(r.toolResult)}</code></pre></details></section>`
279
+ : hasResult
280
+ ? (diffResultHtml
281
+ ? `${diffResultHtml}<section><details><summary>result (raw)</summary><pre><code>${ansiToHtml(r.toolResult)}</code></pre></details></section>`
282
+ : `<section><h2>result</h2><pre><code>${ansiToHtml(r.toolResult)}</code></pre></section>`)
283
+ : `<section><h2>result</h2><pre style="color:#656d76;font-style:italic"><code>(尚未捕获)</code></pre></section>`;
268
284
  const status = hasResult
269
285
  ? `<span class="badge allow">完成${r.resultAt ? ` · ${fmtDuration(r.resultAt - r.createdAt)}` : ""}</span>`
270
286
  : `<span class="badge pending">运行中</span>`;
@@ -326,13 +342,19 @@ const TURN_CSS = `
326
342
  .bubbles{display:flex;flex-direction:column;gap:8px}
327
343
  .bubbles>*{margin-bottom:0}
328
344
  .bubble{background:#fff;border:1px solid #d0d7de;border-radius:12px;overflow:hidden}
329
- /* ── 回复正文: 一段话一颗气泡, 贴着内容的宽度; 时刻挂在气泡外 ── */
330
- .say{display:flex;align-items:flex-end;gap:6px;max-width:100%;align-self:flex-start}
331
- .say>.bubble{min-width:0;border-radius:14px}
332
- .say>.ts,.tool-summary .ts{flex:none;color:#9aa3af;font-size:10.5px;font-variant-numeric:tabular-nums;
345
+ /* ── 回复正文: 不带工具调用的那次应答才是一颗实线气泡, 贴着内容的宽度。
346
+ 它前面隔着过程框时头上带一行自己的时刻与本轮的账 (.say-cap)。 ── */
347
+ .say{display:flex;flex-direction:column;align-items:flex-start;gap:4px;
348
+ align-self:flex-start;max-width:100%}
349
+ .say>.bubble{max-width:100%;border-radius:14px}
350
+ .say-cap{display:flex;align-items:center;gap:4px 10px;flex-wrap:wrap;padding:0 2px}
351
+ /* 带着工具调用的那次应答里的话: 是过程的一部分, 留在框里, 没有自己的框。 */
352
+ .bubble.note{background:transparent;border:0;border-radius:0}
353
+ .bubble.note .md-body{padding:2px 6px;font-size:13.5px}
354
+ .tool-summary .ts{flex:none;color:#9aa3af;font-size:10.5px;font-variant-numeric:tabular-nums;
333
355
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
334
- /* ── 过程框: 连着的工具调用 / 审批 / 子 agent 收进一个虚线框。
335
- 框头与框内空白是开关 (chat.js), 框里的每一行照旧各管各的展开。 ── */
356
+ /* ── 过程框: 终句之前的那些 API 应答 —— 途中的话、工具调用、审批、子 agent ——
357
+ 连着的收进一个虚线框。框头与框内空白是开关 (chat.js), 框里的每一行照旧各管各的展开。 ── */
336
358
  .steps{min-width:0;padding:4px 6px 6px;border:1px dashed #d0d7de;border-radius:10px;cursor:pointer}
337
359
  .steps>.bubbles{gap:2px}
338
360
  .steps .bubble,.steps .turn-group{cursor:auto}
@@ -342,8 +364,6 @@ const TURN_CSS = `
342
364
  .steps-head:hover{color:#57606a}
343
365
  .steps-head::after{content:"›";margin-left:auto;font-size:14px;color:#b1bac4;
344
366
  transform:rotate(90deg);transition:transform .12s}
345
- .steps-head .sh-n{flex:none;font-weight:600;color:#57606a}
346
- .steps-head .sh-t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
347
367
  .steps.folded{padding-bottom:4px}
348
368
  .steps.folded>.bubbles{display:none}
349
369
  .steps.folded>.steps-head::after{transform:none}
@@ -518,10 +538,12 @@ const toolBody = (use, result) => {
518
538
  const inputSection = primary
519
539
  ? renderJsonSection(use.toolInput)
520
540
  : `<details open><summary>input</summary><pre><code>${highlightJson(toJson(use.toolInput))}</code></pre></details>`;
541
+ const jsonHtml = rawResult && !isRead && !diffResultHtml ? prettyJsonHtml(rawResult) : "";
542
+ const resultJson = jsonHtml ? `<details open><summary>result</summary><pre><code>${jsonHtml}</code></pre></details>` : "";
521
543
  const resultRaw = rawResult
522
544
  ? `<details><summary>result (raw)</summary><pre><code>${ansiToHtml(rawResult)}</code></pre></details>`
523
545
  : `<details><summary>result</summary><pre style="color:#656d76;font-style:italic;margin:0;padding:12px"><code>(尚未捕获)</code></pre></details>`;
524
- return `${primary}${inputSection}${resultRaw}`;
546
+ return `${primary}${inputSection}${resultJson}${resultRaw}`;
525
547
  };
526
548
  /** `lazyTurn`: 正文不随气泡下发, 只留一个指回 (turn, toolUseId) 的空壳, 客户端展开时再取。
527
549
  * 摘要行与 ⎿ 预览照常渲染 —— 折叠态看到的东西一样不少。 */
@@ -569,14 +591,33 @@ const extractFilePath = (input) => {
569
591
  const v = input.file_path;
570
592
  return typeof v === "string" ? v : "";
571
593
  };
572
- // 没有标题行: 谁说的由消息行的 .mwho 交代, 气泡里只有话; 时刻挂在气泡外。
573
- const renderTextBubble = (item, key) =>
574
594
  // 原文用 <script type="text/plain"> 承载 —— 免转义歧义, JS 端 textContent 读回原样。
575
- `<div class="say${item.final ? " final" : ""}" data-key="${key}">
576
- <div class="bubble"><div class="md-body"></div>
577
- <script type="text/plain" class="md-src">${escHtml(item.body)}</script></div>
578
- ${clock(item.ts, true)}
579
- </div>`;
595
+ const mdBody = (body) => `<div class="md-body"></div><script type="text/plain" class="md-src">${escHtml(body)}</script>`;
596
+ /** 终句: 一颗实线气泡。没有标题行 —— 谁说的由消息行的 .mwho 交代。`cap` = 气泡头上
597
+ * 那一行的账 (undefined = 不要这一行: 气泡紧跟在 .mwho 下面, 那里已经写过了)。 */
598
+ const renderSay = (item, key, cap) => {
599
+ const ts = fmtTs(item.ts);
600
+ const head = cap === undefined
601
+ ? ""
602
+ : `<div class="say-cap"><time class="mt" title="${ts}">${ts.slice(11, 16)}</time>${cap}</div>`;
603
+ return `<div class="say" data-key="${key}">${head}<div class="bubble">${mdBody(item.body)}</div></div>`;
604
+ };
605
+ /** 途中的话: 和它带出来的工具调用同属一次应答, 留在过程框里。 */
606
+ const renderNote = (item, key) => `<div class="bubble note" data-key="${key}">${mdBody(item.body)}</div>`;
607
+ // 本轮的账: 模型 / token / 耗时。
608
+ const usageChips = (r, done, ageMs) => {
609
+ const u = r.usage;
610
+ const ctxPeak = u ? (u.ctxPeak ?? u.input + u.cacheRead + u.cacheWrite) : 0;
611
+ return [
612
+ r.model ? `<span class="chip model">${escHtml(r.model)}${r.modelAlt ? `<span class="alt"> +${r.modelAlt}</span>` : ""}</span>` : "",
613
+ u?.serviceTier && u.serviceTier !== "standard" ? `<span class="chip tier">${escHtml(u.serviceTier)}</span>` : "",
614
+ ctxPeak ? `<span class="tg-tok" title="上下文峰值">ctx ${fmtTok(ctxPeak)}</span>` : "",
615
+ u?.output ? `<span class="tg-tok" title="输出 token">out ${fmtTok(u.output)}</span>` : "",
616
+ // 耗时只在收口后写死 —— 进行中的 turn 每次渲染都会得到不同的 ageMs, 会把 sig 打乱,
617
+ // 让 SSE 的"内容没变就不重发"彻底失效。进行中的时长由页脚 status bar 负责。
618
+ done ? `<span class="tg-tok">${escHtml(fmtDuration(ageMs))}</span>` : "",
619
+ ].filter(Boolean).join("");
620
+ };
580
621
  const renderApprovalItem = (item, key) => {
581
622
  const b = decisionBadge(item.decision);
582
623
  return `<section class="bubble approval" data-key="${key}">
@@ -620,7 +661,9 @@ const hashStr = (s) => {
620
661
  };
621
662
  // 在气泡根 tag 的 data-key 后补一个 data-sig=内容指纹 (指纹基于未含 sig 的原 html)。
622
663
  const tagSig = (html) => html ? html.replace(/(data-key="[^"]*")/, `$1 data-sig="${hashStr(html)}"`) : "";
623
- const turnParts = (r, keyPrefix = "", now = Date.now(), lazy = false) => {
664
+ /** `capped`: 隔着过程框的终句气泡头上带一行时刻 + 本轮的账 (rolepage 的消息要,
665
+ * 自带 .tg-head 的独立片段不要)。 */
666
+ const turnParts = (r, keyPrefix = "", now = Date.now(), lazy = false, capped = false) => {
624
667
  const items = [...r.items].sort((a, b) => a.ts - b.ts);
625
668
  const paired = pairItems(items);
626
669
  // data-key = 稳定项键 (items 只追加、按 ts 单调, 位置永不前移 → 索引稳定唯一)。
@@ -628,12 +671,17 @@ const turnParts = (r, keyPrefix = "", now = Date.now(), lazy = false) => {
628
671
  // 结束判定统一收在 chat-view.turnDone (closed / final text / 静默超时), 详情页
629
672
  // 与聊天视图必须给出同一个答案 —— 否则一个显示「进行中」另一个显示「已完成」。
630
673
  const done = turnDone(r, now);
631
- const body = (p, key) => {
674
+ const chips = usageChips(r, done, (done ? r.updatedAt : now) - r.createdAt);
675
+ // 终句 = 不带工具调用的那次应答 (end_turn → final)。说不清 final 的后端 (软收口)
676
+ // 退一步: 一轮结束后, 最后一个动作之后的话就是终句。
677
+ const lastAct = paired.reduce((n, p, i) => (p.kind === "solo" && p.item.t === "text" ? n : i), -1);
678
+ const isSay = (p, i) => p.kind === "solo" && p.item.t === "text" && (p.item.final === true || (done && i > lastAct));
679
+ const body = (p, key, i) => {
632
680
  if (p.kind === "pair")
633
681
  return renderToolBubble(p.use, p.result, key, done, lazy ? r.id : undefined);
634
682
  const it = p.item;
635
683
  if (it.t === "text")
636
- return renderTextBubble(it, key);
684
+ return isSay(p, i) ? renderSay(it, key, capped && i > 0 ? chips : undefined) : renderNote(it, key);
637
685
  if (it.t === "approval")
638
686
  return renderApprovalItem(it, key);
639
687
  if (it.t === "tool_result") {
@@ -641,7 +689,7 @@ const turnParts = (r, keyPrefix = "", now = Date.now(), lazy = false) => {
641
689
  <div class="bubble-head">↩ <span class="role">tool_result</span>
642
690
  <span class="compact">${escHtml(it.toolUseId)}</span>
643
691
  <span class="ts">${fmtTs(it.ts)}</span></div>
644
- <details open><summary>result</summary><pre><code>${escHtml(it.body)}</code></pre></details>
692
+ <details open><summary>result</summary><pre><code>${prettyJsonHtml(it.body) || escHtml(it.body)}</code></pre></details>
645
693
  </section>`;
646
694
  }
647
695
  return "";
@@ -649,13 +697,13 @@ const turnParts = (r, keyPrefix = "", now = Date.now(), lazy = false) => {
649
697
  const parts = paired.map((p, i) => {
650
698
  const key = `${keyPrefix}b${i}`;
651
699
  return {
652
- key, html: tagSig(body(p, key)),
653
- step: p.kind === "pair" || p.item.t !== "text",
654
- tool: p.kind === "pair" ? p.use.toolName : undefined,
700
+ key, html: tagSig(body(p, key, i)),
701
+ step: !isSay(p, i),
702
+ call: p.kind === "pair",
655
703
  };
656
704
  });
657
705
  const stamps = paired.map((p) => (p.kind === "pair" ? p.use.ts : p.item.ts));
658
- return { parts, stamps, done, ageMs: (done ? r.updatedAt : now) - r.createdAt };
706
+ return { parts, stamps, done, chips };
659
707
  };
660
708
  const CUT_TEXT = {
661
709
  clear: "上下文已清空 · /clear",
@@ -697,19 +745,16 @@ const spliceChildren = (parts, stamps, children) => {
697
745
  // stamps 之前就开跑的子 agent (父轮第一条 item 尚未落盘) 排在最前。
698
746
  between(-Infinity, stamps[0] ?? Infinity));
699
747
  };
700
- // `Bash ×5 · Read ×4 · Edit` —— 按首次出现的顺序, 收起时一行读出这一段干了什么。
701
- const tally = (tools) => [...tools.reduce((m, t) => m.set(t, (m.get(t) ?? 0) + 1), new Map())]
702
- .map(([t, n]) => (n > 1 ? `${t} ×${n}` : t)).join(" · ");
703
748
  // 过程框。键取首段的键 —— items 只追加, 一段过程的开头不会变, 往里添调用时框还是
704
749
  // 同一个节点 (客户端的收起态挂在它身上)。头 + .bubbles 的骨架与 turn-group 同构,
705
750
  // reconcile 才能只换头、逐条对内层, 而不是整框重建。
706
751
  const renderSteps = (run, key) => {
707
- const tools = run.flatMap((p) => (p.tool ? [p.tool] : []));
752
+ const calls = run.filter((p) => p.call).length;
708
753
  return tagSig(`<div class="steps" data-key="${key}:g"><button type="button" class="steps-head">` +
709
- `<span class="sh-n">${tools.length ? `${tools.length} 次工具调用` : "过程"}</span><span class="sh-t">${escHtml(tally(tools))}</span></button>` +
754
+ `${calls ? `${calls} 次工具调用` : "过程"}</button>` +
710
755
  `<div class="bubbles">${run.map((p) => p.html).join("")}</div></div>`);
711
756
  };
712
- /** 连着的过程段合成一个框, 话照旧一段一颗气泡。 */
757
+ /** 连着的过程段合成一个框, 终句一段一颗气泡。 */
713
758
  const foldSteps = (parts) => parts.reduce((runs, p) => {
714
759
  const last = runs[runs.length - 1];
715
760
  return last?.[0]?.step && p.step ? [...runs.slice(0, -1), [...last, p]] : [...runs, [p]];
@@ -717,22 +762,11 @@ const foldSteps = (parts) => parts.reduce((runs, p) => {
717
762
  const [head] = run;
718
763
  return head ? [head.step ? renderSteps(run, head.key) : head.html] : [];
719
764
  });
720
- /** `withQuery=false`: rolepage 把「问」与「答」拆成两条消息 —— 问的那句由发话方那条
721
- * 气泡承载, 答的这张卡片里就不再重复一遍。 */
722
- export const renderTurnGroup = (r, now = Date.now(), children = [], withQuery = true) => {
723
- const { parts, stamps, done, ageMs } = turnParts(r, `${r.id}:`, now, true);
724
- const u = r.usage;
725
- const ctxPeak = u ? (u.ctxPeak ?? u.input + u.cacheRead + u.cacheWrite) : 0;
726
- const chips = [
727
- r.model ? `<span class="chip model">${escHtml(r.model)}${r.modelAlt ? `<span class="alt"> +${r.modelAlt}</span>` : ""}</span>` : "",
728
- u?.serviceTier && u.serviceTier !== "standard" ? `<span class="chip tier">${escHtml(u.serviceTier)}</span>` : "",
729
- ctxPeak ? `<span class="tg-tok" title="上下文峰值">ctx ${fmtTok(ctxPeak)}</span>` : "",
730
- u?.output ? `<span class="tg-tok" title="输出 token">out ${fmtTok(u.output)}</span>` : "",
731
- // 耗时只在收口后写死 —— 进行中的 turn 每次渲染都会得到不同的 ageMs, 会把 sig 打乱,
732
- // 让 SSE 的"内容没变就不重发"彻底失效。进行中的时长由页脚 status bar 负责。
733
- done ? `<span class="tg-tok">${escHtml(fmtDuration(ageMs))}</span>` : "",
734
- ].filter(Boolean).join("");
735
- const queryBubble = r.userQuery && withQuery
765
+ /** `standalone=false`: 这一轮是 rolepage 的一条消息, 不是自成一体的一段 —— 问的那句
766
+ * 由发话方那条气泡承载, 本轮的账 (`meta`) 由消息行的 .mwho 承载, 片段里都不再带。 */
767
+ export const renderTurnGroup = (r, now = Date.now(), children = [], standalone = true) => {
768
+ const { parts, stamps, done, chips } = turnParts(r, `${r.id}:`, now, true, !standalone);
769
+ const queryBubble = r.userQuery && standalone
736
770
  ? `<section class="bubble user" data-key="${r.id}:user">
737
771
  <div class="bubble-head">💬 <span class="role">User</span></div>
738
772
  <div class="q-body">${escHtml(r.userQuery)}</div>
@@ -741,16 +775,14 @@ export const renderTurnGroup = (r, now = Date.now(), children = [], withQuery =
741
775
  const typing = done ? "" : `<div class="typing" data-key="${r.id}:typing">${escHtml(backendLabel(r.cli))} 正在思考</div>`;
742
776
  // 子卡片已是完整片段 (自带 data-key/data-sig), 不再过 tagSig。
743
777
  const inner = [tagSig(queryBubble), ...foldSteps(spliceChildren(parts, stamps, children)), tagSig(typing)].join("");
744
- const head = `<div class="tg-head">
745
- <span class="tg-dot${done ? "" : " live"}"></span>
746
- <span class="tg-time">${fmtTs(r.createdAt)}</span>${chips}
747
- </div>`;
778
+ const meta = `<span class="tg-dot${done ? "" : " live"}"></span>${chips}`;
779
+ const head = standalone ? `<div class="tg-head">${meta}</div>` : "";
748
780
  // staleAt 只走 JSON, 绝不进 HTML —— 它跟着 updatedAt 变, 一旦计入 sig, SSE 的
749
781
  // "内容没变就不重发" 会彻底失效 (一个 turn 的 HTML 可以是几十 KB)。
750
782
  // `ping` 只是个标记 —— 连续几轮折成一行由客户端做 (它才知道相邻是谁)。
751
783
  const body = `<section class="turn-group${r.cut ? ` cut cut-${r.cut}` : ""}${r.origin ? " graph" : ""}${r.agent ? " subagent" : ""}${isKeepaliveTurn(r) ? " ping" : ""}" data-key="t:${escHtml(r.id)}">${renderCut(r)}${renderOrigin(r)}${renderAgent(r)}${head}<div class="bubbles">${inner}</div></section>`;
752
784
  return {
753
- id: r.id, html: tagSig(body), sig: hashStr(body),
785
+ id: r.id, html: tagSig(body), meta, sig: hashStr(body + meta),
754
786
  createdAt: r.createdAt, updatedAt: r.updatedAt,
755
787
  done, staleAt: done ? 0 : staleAt(r),
756
788
  };
@@ -760,7 +792,7 @@ export const renderTurnGroup = (r, now = Date.now(), children = [], withQuery =
760
792
  export const renderCutMark = (m) => {
761
793
  const body = `<div class="tg-mark cut-${m.cut}" data-key="m:${escHtml(m.id)}"><span class="l">${escHtml(CUT_TEXT[m.cut])}</span><span class="s">${escHtml(fmtTs(m.createdAt))}</span></div>`;
762
794
  return {
763
- id: m.id, html: tagSig(body), sig: hashStr(body),
795
+ id: m.id, html: tagSig(body), meta: "", sig: hashStr(body),
764
796
  createdAt: m.createdAt, updatedAt: m.createdAt, done: true, staleAt: 0,
765
797
  };
766
798
  };
@@ -1 +1 @@
1
- {"version":3,"file":"detail-render.js","sourceRoot":"","sources":["../../shared/detail-render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detail-render.js","sourceRoot":"","sources":["../../shared/detail-render.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,17 @@
2
2
  // (同一条消息, 从发话方看靠右、从收信方看靠左, 服务端不该替它决定)。
3
3
  //
4
4
  // 入 发话方说的那句 (userQuery), markdown 由客户端渲染
5
- // 出 该 wizard 这一轮的回复: 复用 renderTurnGroup (文本 + 工具细节 + 本轮用量),
6
- // 去掉问句 —— 问句已经是上面那条入消息了
5
+ // 出 该 wizard 这一轮的回复: 复用 renderTurnGroup (文本 + 工具细节), 去掉问句 ——
6
+ // 问句已经是上面那条入消息了; 本轮用量单独走 `meta`, 客户端写在名字那一行
7
7
  // 断点 视角 role 自己的 /clear /new
8
8
  import { renderCutMark, renderTurnGroup, escHtml, hashStr, tagSig } from "./detail-render.js";
9
9
  import { isKeepaliveTurn, isTurn, staleAt, turnDone } from "./chat-view.js";
10
10
  import { teammateOf, unwrapMates } from "./role-view.js";
11
11
  // 入消息顶上的一行归因: 这句话不是人打的字时说清是谁派的。
12
+ // 没有「公开」标记 —— 公开与否是**会话窗口**这一层的事, 不是消息这一层的:
13
+ // send_peer 的 channel 就是 `isPublic ? channelOf(self) : ""` (daemon/index.ts),
14
+ // convKeyOf 又只按 channel 分窗, 于是公开的一句必在 `c:<base>` 群窗、私聊的必在
15
+ // `p:<对端>` 私窗。在群窗里标「公开」等于给每条消息盖一个恒真的章。
12
16
  // 时刻不在这里 —— 它写在气泡外的 .mwho 上 (每条消息只报一次时间), 所以
13
17
  // 没有归因要说时整行省掉, 免得留下一条空的内边距。
14
18
  const mateChip = (mate) => mate === undefined ? "" : `<span class="mchip sys">agent team${mate ? ` · ${escHtml(mate)}` : ""}</span>`;
@@ -17,7 +21,6 @@ const inMeta = (r) => {
17
21
  r.origin ? `<span class="mchip graph" title="graph ${escHtml(r.origin.runId)}">🕸 轮 ${r.origin.round}/${r.origin.rounds} · 步 ${r.origin.step}/${r.origin.steps}</span>` : "",
18
22
  r.from?.kind === "task" ? `<span class="mchip task">⏰ 定时 ${escHtml(r.from.taskId ?? "")}</span>` : "",
19
23
  mateChip(teammateOf(r.userQuery)),
20
- r.from?.kind === "peer" && r.from.public ? `<span class="mchip pub">公开</span>` : "",
21
24
  r.from?.job ? `<span class="mchip job">📋 ${escHtml(r.from.job)}</span>` : "",
22
25
  ].filter(Boolean);
23
26
  return bits.length ? `<div class="mmeta">${bits.join("")}</div>` : "";
@@ -36,12 +39,14 @@ const base = (m, dir) => ({
36
39
  });
37
40
  export const renderMsg = (m, records, dir, now) => {
38
41
  const r = m.turn;
39
- const html = m.dir === "in" ? renderIn(r) : renderTurnGroup(r, now, childrenOf(records, r.id, now), false).html;
42
+ const { html, meta } = m.dir === "in"
43
+ ? { html: renderIn(r), meta: "" }
44
+ : renderTurnGroup(r, now, childrenOf(records, r.id, now), false);
40
45
  const live = m.dir === "out" && !turnDone(r, now);
41
46
  return {
42
47
  id: m.id, turnId: r.id, dir: m.dir, ...base(m, dir), ts: m.ts,
43
48
  ping: isKeepaliveTurn(r),
44
- html, sig: hashStr(html),
49
+ html, meta, sig: hashStr(html + meta),
45
50
  staleAt: live ? staleAt(r) : 0,
46
51
  };
47
52
  };
@@ -49,7 +54,7 @@ export const renderMark = (mk, role, dir) => {
49
54
  const f = renderCutMark(mk);
50
55
  return {
51
56
  id: `m:${mk.id}`, turnId: mk.id, dir: "mark", ...base({ from: role, to: role, channel: "" }, dir),
52
- ts: mk.createdAt, ping: false, html: f.html, sig: f.sig, staleAt: 0,
57
+ ts: mk.createdAt, ping: false, html: f.html, meta: "", sig: f.sig, staleAt: 0,
53
58
  };
54
59
  };
55
60
  //# sourceMappingURL=role-render.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"role-render.js","sourceRoot":"","sources":["../../shared/role-render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"role-render.js","sourceRoot":"","sources":["../../shared/role-render.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wezard",
3
- "version": "2.0.5",
3
+ "version": "2.0.6",
4
4
  "description": "Bridge Claude Code and WeCom: PreToolUse approval cards + bidirectional tmux session mirror with image paste",
5
5
  "type": "module",
6
6
  "license": "MIT",
package/web/chat.css CHANGED
@@ -10,12 +10,14 @@
10
10
  --mute: #6a7483;
11
11
  --faint: #9aa3af;
12
12
  --line: #d9dee6;
13
+ --them: #f3f4f6; /* 别人说的话 —— 浅灰 */
14
+ --them-soft: #e8eaee;
15
+ --them-line: #d9dce2;
13
16
  --mine: #eef3fd; /* 当前视角说的话 */
14
17
  --mine-soft: #e2eafa; /* 它内部还要再沉一档的块 (代码/结果/折叠头) */
15
18
  --mine-line: #c9d7f3;
16
19
  --accent: #2f55c9; /* 视角色: 名字的点、选中态、自己的气泡描边 */
17
20
  --priv: #9a5b10; /* 私聊 */
18
- --pub: #237a55; /* 公开 */
19
21
  }
20
22
 
21
23
  html { height: 100% }
@@ -263,6 +265,9 @@ span.av.go:hover { background: #2f55c924; box-shadow: 0 0 0 3px #2f55c924 }
263
265
  background: var(--card); font-size: 14px; line-height: 22px; text-align: center; cursor: default; padding: 0;
264
266
  }
265
267
  .mcol { min-width: 0; max-width: min(78% + var(--av), 760px + var(--av)); display: flex; flex-direction: column; gap: 4px }
268
+ /* 带过程框的那条占满这一列: 列宽本来跟着内容走, 框一收起内容变窄, 整条就跟着缩。 */
269
+ .mcol:has(.steps) { width: 100% }
270
+ .mcol:has(.steps) > .mb { align-self: stretch }
266
271
  .mrow.mine { flex-direction: row-reverse }
267
272
  .mrow.mine .mcol { align-items: flex-end }
268
273
  .mwho { font-size: 11.5px; color: var(--mute); display: flex; gap: 6px; align-items: center; flex-wrap: wrap }
@@ -270,31 +275,40 @@ span.av.go:hover { background: #2f55c924; box-shadow: 0 0 0 3px #2f55c924 }
270
275
  .mwho .ch { font-size: 10.5px; border-radius: 4px; padding: 0 4px }
271
276
  .mwho .ch.priv { color: var(--priv); background: #9a5b1014 }
272
277
  /* 时刻只此一处 —— 气泡外, 跟着名字走。等宽数字让一列时间对得齐。 */
273
- .mwho .mt { color: var(--faint); font-family: ui-monospace, Menlo, monospace; font-variant-numeric: tabular-nums }
278
+ .mwho .mt, .say-cap .mt { color: var(--faint); font-family: ui-monospace, Menlo, monospace; font-variant-numeric: tabular-nums }
274
279
  .mb { min-width: 0; max-width: 100% }
275
- /* 卡片里那份时刻是详情页要的, 这里已经写在 .mwho 上了 —— 同一条消息不报两次时间。 */
276
- .mb .tg-time { display: none }
277
280
 
278
- /* 入消息 (问句) 是一颗气泡; 出消息 (回复) 是一串气泡, 中间夹着虚线的过程框 ——
279
- 没有外层卡片, 直接排在对话底上。 */
281
+ /* 入消息 (问句) 是一颗气泡; 出消息 (回复) 是虚线的过程框 + 终句的气泡 —— 没有外层
282
+ 卡片, 直接排在对话底上。气泡不描实线边: 谁说的只靠底色分 (--bub), 线只留给虚线的过程框。 */
283
+ .mrow { --bub: var(--them); --bub-soft: var(--them-soft); --bub-line: var(--them-line) }
284
+ .mrow.mine { --bub: var(--mine); --bub-soft: var(--mine-soft); --bub-line: var(--mine-line) }
280
285
  .mb > .bubble.mq { border-radius: 14px }
281
- .mb :is(.bubble.mq, .say > .bubble) { border-color: var(--line) }
286
+ .mb .bubble { border: 0 }
287
+ .say-cap { font-size: 11.5px; color: var(--mute) }
282
288
  .mb .mq .mmeta { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; padding: 8px 14px 0; font-size: 11px; color: var(--faint) }
283
289
  .mb .mq .mmeta + .md-body { padding-top: 4px }
284
290
  .mchip { border-radius: 4px; padding: 0 5px; background: #f1f3f6; color: var(--mute) }
285
291
  .mchip.priv { color: var(--priv); background: #9a5b1014 }
286
- .mchip.pub { color: var(--pub); background: #237a5514 }
287
292
  .mchip.graph { color: #6639ba; background: #8250df12 }
288
293
  .mchip.sys { color: #0a7d6b; background: #0a7d6b12 }
289
294
 
290
- /* 自己说的话染成视角色 —— 只染气泡; 过程框是底上的一道虚线, 不跟着染。气泡里
291
- TURN_CSS 写死的灰底 (行内代码 / 代码块) 沉一档到 --mine-soft, 免得显成贴纸。 */
292
- .mrow.mine .mb :is(.bubble.mq, .say > .bubble) { background: var(--mine); border-color: var(--mine-line) }
293
- .mrow.mine .mb :is(.bubble.mq, .say) .md-body :is(code, pre) { background: var(--mine-soft); border-color: var(--mine-line) }
294
- .mrow.mine .mb :is(.bubble.mq, .say) .md-body pre code { background: transparent }
295
- /* 气泡跟着行靠右, 时刻翻到气泡左边; 嵌在过程框里的子 agent 不翻 —— 那不是我说的。 */
296
- .mrow.mine .mb > .turn-group > .bubbles > .say { align-self: flex-end; flex-direction: row-reverse }
297
- .mrow.mine .mb > .turn-group > .tg-head { justify-content: flex-end }
295
+ /* 气泡与过程框同一种底色: 都是这个人发出来的 —— 自己的是视角色, 别人的是浅灰。
296
+ TURN_CSS 里写死的白卡 / 灰底 (嵌套气泡、代码块、折叠头) 在有色底上会显成一张张
297
+ 贴纸 —— 这里把它们收回到底色上, 需要再沉一档的才用 --bub-soft。 */
298
+ .mrow .mb :is(.bubble.mq, .say > .bubble, .steps) { background: var(--bub); border-color: var(--bub-line) }
299
+ .mrow .mb .steps :is(.bubble, .typing) { background: transparent }
300
+ .mrow .mb .bubble.user,
301
+ .mrow .mb .md-body code, .mrow .mb .md-body pre,
302
+ .mrow .mb details:not(.tool-call) > summary,
303
+ .mrow .mb .tool-body section > h2, .mrow .mb .diff-meta,
304
+ .mrow .mb .tool-call > summary:hover { background: var(--bub-soft); border-color: var(--bub-line) }
305
+ .mrow .mb .md-body pre code { background: transparent }
306
+ /* 展开的工具正文 (command / diff / 文件内容) 是裸 section, 吃的是 TURN_CSS 的白底。 */
307
+ .mrow .mb .tool-body section { background: transparent; border-color: var(--bub-line) }
308
+ .mrow .mb .bubble details { border-color: var(--bub-line) }
309
+ .mrow .mb .tool-body { border-left-color: var(--bub-line) }
310
+ /* 气泡跟着行靠右; 嵌在过程框里的子 agent 不翻 —— 那不是我说的。 */
311
+ .mrow.mine .mb > .turn-group > .bubbles > .say { align-self: flex-end; align-items: flex-end }
298
312
  /* 工具正文是展开时才取的 (chat.js loadTool) —— 空壳期间说一句在干什么。 */
299
313
  .tool-body[data-lazy-turn]:empty::before { content: "加载中…"; color: #8c959f; font-size: 12px }
300
314
  .tool-body[data-lazy-turn][data-err]:empty::before { content: "加载失败 · 收起再展开重试"; color: #cf222e }
@@ -334,19 +348,20 @@ span.av.go:hover { background: #2f55c924; box-shadow: 0 0 0 3px #2f55c924 }
334
348
 
335
349
  /* ── 一轮回复 ───────────────────────────────────────────────────── */
336
350
  /* 只是一根竖轴, 不是卡片: section 的默认白底 / 边框在这里收掉。本轮的账 (模型 /
337
- token / 耗时) 压成末尾一行小字 —— 它是这条消息的脚注, 不是标题。 */
351
+ token / 耗时) 是一串小字: 消息自己的写在名字那一行 (.mstat) 与终句气泡头上
352
+ (.say-cap), 嵌在过程框里的子 agent 没有名字行, 压在它那一段的末尾 (.tg-head)。 */
338
353
  .turn-group {
339
354
  display: flex; flex-direction: column; gap: 8px;
340
355
  padding: 0; border: 0; border-radius: 0; background: none;
341
356
  }
342
357
  .tg-head { order: 9; display: flex; align-items: center; gap: 4px 10px; flex-wrap: wrap; padding: 0 2px }
343
- .tg-head .chip.model, .tg-head .chip.tier, .tg-tok {
358
+ .mstat { display: inline-flex; align-items: center; gap: 4px 10px; flex-wrap: wrap }
359
+ :is(.tg-head, .mstat, .say-cap) :is(.chip.model, .chip.tier), .tg-tok {
344
360
  padding: 0; border: 0; border-radius: 0; background: none; font-weight: 400;
345
361
  font-size: 10.5px; color: var(--faint); font-family: ui-monospace, Menlo, monospace;
346
362
  }
347
363
  .tg-dot { width: 7px; height: 7px; border-radius: 50%; flex: none; display: none }
348
364
  .tg-dot.live { display: block; background: #1a7f37; animation: pulse 1.4s infinite }
349
- .tg-time { font-size: 11.5px; color: #8c959f; font-family: ui-monospace, Menlo, monospace }
350
365
 
351
366
  /* ── 🏓 keepalive 折叠 ──────────────────────────────────────────────
352
367
  保温 ping 不是对话, 但它是真花销 —— 所以留在时间轴上, 只是收成一行虚线。 */
package/web/chat.js CHANGED
@@ -80,7 +80,7 @@
80
80
  return (x.getMonth() + 1) + '-' + pad(x.getDate()) + ' ' + pad(x.getHours()) + ':' +
81
81
  pad(x.getMinutes()) + ':' + pad(x.getSeconds());
82
82
  };
83
- /** 一条消息的时刻 —— 只写在气泡外面这一处, 卡片里不再重复 (见 chat.css 的 .mb .tg-time)。 */
83
+ /** 一条消息的时刻 —— 只写在气泡外面这一处, 气泡里不再重复。 */
84
84
  var stamp = function (ts) {
85
85
  return '<time class="mt" title="' + esc(fmtFull(ts)) + '">' + esc(fmtHM(ts)) + '</time>';
86
86
  };
@@ -537,9 +537,11 @@
537
537
  // 群里我不是收信方的那条 (X → Y), 头上写清是说给谁的。
538
538
  var to = !mine && m.to !== ROLE && group ? '<span class="to">→ ' + nm(m.to, m.toName, true) + '</span>' : '';
539
539
  var priv = !m.channel && group ? '<span class="ch priv">私聊</span>' : '';
540
+ // 本轮的账 (呼吸点 + 模型 / token / 耗时) 跟在时刻后面 —— 片段是服务端渲染好的。
541
+ var stat = m.meta ? '<span class="mstat">' + m.meta + '</span>' : '';
540
542
  var who = mine
541
- ? '<span class="to">' + (m.to && m.to !== 'human:' ? '→ ' + nm(m.to, m.toName, true) : '') + '</span>' + stamp(m.ts)
542
- : nm(m.from, m.fromName, true) + to + priv + stamp(m.ts);
543
+ ? '<span class="to">' + (m.to && m.to !== 'human:' ? '→ ' + nm(m.to, m.toName, true) : '') + '</span>' + stamp(m.ts) + stat
544
+ : nm(m.from, m.fromName, true) + to + priv + stamp(m.ts) + stat;
543
545
  var sw = canSwitch(other);
544
546
  var flip = '<button class="flip" data-r="' + esc(other) + '"' + (sw ? '' : ' disabled tabindex="-1"') +
545
547
  ' aria-label="' + esc(sw ? '切到 ' + nameOf(other) + ' 的视角' : '') + '">' +
@@ -650,7 +652,8 @@
650
652
  var ec = eb && eb.firstElementChild, nc = nb && nb.firstElementChild;
651
653
  var ebb = ec && childBy(ec, 'bubbles'), nbb = nc && childBy(nc, 'bubbles');
652
654
  if (ebb && nbb) {
653
- swapHead(ec, nc);
655
+ var es = cur.querySelector('.mwho .mstat'), ns = next.querySelector('.mwho .mstat');
656
+ if (es && ns) es.innerHTML = ns.innerHTML;
654
657
  reconcile(ebb, nbb);
655
658
  ['data-sig', 'data-stale-at'].forEach(function (a) { cur.setAttribute(a, next.getAttribute(a)); });
656
659
  } else {