Skip to content

流式会话与工具卡片 ​

transcript 层把会话事件流折叠为条目并渲染。本页描述你会看到什么;事件到条目的规则对所有消费者一致(live 流与快照回放同构)。

消息条目 ​

  • 用户消息 —— ❯ 边栏气泡(roleUser 色);包含的图片在终端可显示图片时直接渲染(上限 12 行),否则保持 [image] 占位。
  • 助手消息 —— 普通大小的输出流式渲染为 Markdown;超大输出在 live 和收尾阶段都显示有界的安全尾部,完整原文仍保留在会话记录中。消息空行分隔、首行 ● bullet、两列缩进续行。
  • 思考块 —— reasoning 独立成块挂在正文上方。live 时只显示 ✻ 标记与 reasoning 最后两行,不带标题也不计时:activity 行显示 思考中,并负责耗时、token 计数与速率。阶段结束后收成一行 ✻ 已思考 6s,并预览首行(显示思考内容的 Detailed、Verbose)。Ctrl-O 展开完整内容。

工作详情 ​

会话记录只用过去时,底部 activity 行只用现在时:所有实时信息——spinner、回合耗时、当前步骤与吞吐——只出现在 activity 行,会话记录中没有任何一行会计时或说明正在运行什么。mayfly.transcriptView 沿用 Harness Chat 的模式名,每升一级多展示一层工作:

模式运行中回合已完成回合已停止/失败回合activity 行详情
Compact只显示消息标题 + 最终回答过去时分组标题—
Standard(默认)消息、文件修改卡片、过去时分组标题标题 + 文件修改卡片 + 最终回答分组标题 + 文件修改卡片命令、路径、查询或思考内容
Detailed所有卡片实时显示标题 + 文件修改卡片 + 最终回答分组标题 + 文件修改卡片—
Verbose所有卡片实时显示保持展开所有卡片—
  • 回合标题 —— 含过程的回合在结束时才出现标题行:用时 38s、已停止 或 处理失败,并附工具调用与 subagent 计数(派生 subagent 只计为 subagent,不计为工具调用)。运行中的回合没有标题行,耗时由 activity 行显示。正常完成的回合把过程与中间回复折叠到这一行下;被停止、失败或插话(steer)的回合不折叠。
  • 过程分组 —— 两段回复之间的思考与工具调用组成一组。分组标题只总结已完成的工作,如 已读取文件并搜索代码、执行了命令 · 1 个失败。仍在运行、或只含思考的分组在有工作完成前不显示标题。
  • 文件修改 —— 从 Standard 起,presenter 声明 diff 卡的调用(Write <path>、Edit <path>、apply_patch)直接显示为 diff 卡片,把前后的分组隔开,并在回合折叠后依然可见,代码改动与最终回答并列呈现。Compact 把它们计入其他工作。
  • Ctrl-O —— 展开最近 3 个回合(expandTurns)的折叠、分组与卡片内容。只在按键能生效的范围内提示按键;更早的回合只说明隐藏了多少内容。

工具卡片 ​

  • 终端卡 —— $ command 加 exit N 或 signal 标记(失败显示 ✗)与运行时长;正文是描述与输出的最后三行;Ctrl-O 显示完整的有界输出。
  • diff 卡 —— presenter 标题(Edit src/auth.ts · +1 −1)加逐文件统一 diff(LCS 行级着色);折叠态至多 12 行。
  • presenter 卡 —— 其他声明了 presenter 的工具显示自己的调用标题与结果预览(文本三行)。
  • 分组调用 —— 同一 step 内连续的文件读取、代码搜索与命令合并为一张树形卡(Read 3 files、Searched 2 patterns、Ran 3 commands);部分失败显示 ◐ 与逐项 ✗,非零退出码同样算失败。
  • 单行调用 —— 委派、计划与目标更新、提问、网页检索、skill 与 agent 消息各占一行(✓ 已搜索网页 · vitest vi.fn · 5 个来源、? Also fix signup? → No);Ctrl-O 展开有界结果。
  • 回退卡 —— 没有 presenter 的工具显示 Used name (关键参数)(MCP 工具显示为 server › tool)与结果预览;JSON 结果展开时格式化显示。
  • 回合结束时仍未得到结果的调用显示 ⊘ 已取消。

长会话窗口 ​

只保持最新 15 个回合的挂载(windowTurns);更旧的回合离开渲染树,事件数据仍完整保留在会话记录里。

特例 ​

  • 委派(subagent、subagent_*)与 todo_write 调用作为单行过程成员出现;agents 与 todo 面板仍是它们的实时呈现面(见底部面板)。
  • harness 注入的合成消息(工作区指令、上下文快照等)零呈现——内容照发模型,但会话流不留痕迹(见 FAQ)。

预览版 · v0.1.4-rc.1