feat: 任务实时链路 SSE (#61)

host.py:回合通知摘要成链路条目,增量追加到 <state>/host-traces/<task>.jsonl(上限 5000 行);dispatch/run/goal/delegate 设链路文件
cloud/server.py:GET /tasks/{id}/trace 快照 + /trace/stream SSE(snapshot → entry → done;worktree 在别机时空链路 + 说明)
console:详情链路区,运行中 fetch 流式渲染(EventSource 不能带 X-API-Key 头),终态走快照;DOM 上限 1000 条
单测:test_host_trace 7 + test_task_trace 6;host 49、cloud 525、deploy 14 全过

Co-authored-by: host <host@test.local>
This commit is contained in:
openqjandhost authored and GitHub committed 2026-10-27 02:27:15 +08:00
1 parent 6022f1dada
commit 799f7c3edb
6 files changed
+696

No files matched your search

+4
View File
@@ -234,6 +234,10 @@ python3 host.py daemon-stop
- 云端控制面演示另起一端(不跑模型回合):
`python3 -m cloud.server`(默认 127.0.0.1:8765),
除 `GET /health`、`/webhooks/*`、`/oauth/*` 外都要 `X-API-Key` 请求头。
任务实时链路:`GET /tasks/{id}/trace`(已结束任务的快照)与
`GET /tasks/{id}/trace/stream`(运行中任务的 SSE:先 snapshot 再逐条
entry,终态发 done 关流;命令台详情的链路区用 fetch 流式读它,
EventSource 不能带 X-API-Key 头故不用)。
## GitHub PR/CI 的外部条件(真实 PR 仍缺这两样)