Files

1.4 KiB

Event Mapping

Pi / Harness 事实 HarnessEvent assistant-ui / UI 状态
HTTP message accepted user.message, run.started user message, running
message_update.text_delta assistant.delta 合并同 messageId 文本
assistant message_end assistant.completed complete/stop
tool_execution_start tool.requested tool-call waiting/running
successful tool_execution_end tool.completed result/success
failed tool_execution_end tool.failed isError/error
canonical Skill read preflight skill.requested Catalog 高亮
same read successful tool_result skill.loaded loaded 高亮
ApprovalBroker request approval.required Tool card + modal pending
broker decision/timeout/abort approval.resolved approved/denied/expired/cancelled
prompt resolves run.completed idle
user abort / deadline run.cancelled incomplete/cancel reason
prompt rejects run.failed error

skill.requested/skill.loaded 是 Harness 推导事件,不是 Pi 原生事件。未识别 Pi Event 被安全忽略。高频 delta 只在内存窗口和 SSE 中保留,不包含 thinking、密钥或图片 base64。

SSE 的 afterSequence 优先于 Last-Event-ID。历史仍在窗口时补发;游标早于最早保留 sequence 时发送 harness.reset 控制事件,避免静默缺口。客户端再按 eventId/sequence 去重。