Runs 与 Browser Harness REST API

/runs/browser-harness 端点支撑了活跃运行面板、Browser Harness 导入流、归档、对比与钻取详情等视图。

端点摘要

MethodPathDescription
POST/runs创建一个新的 run
GET/runs为归档与分析视图列出 runs
GET/runs/active返回 active / recent runs 的活跃快照
GET/runs/{run_id}返回 run 详情摘要
GET/runs/{run_id}/logs返回 run 日志
GET/runs/{run_id}/items返回带丰富元数据的分组 item 结果
POST/runs/{run_id}/retry派发一次 retry
POST/runs/{run_id}/cancel取消一个 pendingrunning 的 run
POST/browser-harness/packs构建一个签名后的 Browser Harness pack
POST/browser-harness/imports将 Browser Harness capture 导入为 runs

GET /runs/active

这个端点返回的是 SSE 开始前用于 hydrate 活跃运行面板的 read model。

Query Parameters

NameTypeDefaultNotes
limitinteger 1-2412返回的活跃快照最大数量

Response Shape

[
  {
    "run": {
      "id": "run-123",
      "providerName": "OpenAI",
      "datasetName": "MMLU-Pro",
      "modelName": "gpt-4.1",
      "status": "running"
    },
    "progress": {
      "completed": 14,
      "total": 100,
      "correct": 11,
      "incorrect": 3,
      "awaiting": 1,
      "faulted": 0,
      "pending": 85
    },
    "lifecycle": {
      "resumedCount": 1,
      "lastResumedAt": "2026-03-06T19:43:11Z",
      "cancelRequestedAt": null
    },
    "currentItem": {
      "sequence": 15,
      "state": "running",
      "promptText": "Which option best describes...",
      "choices": ["A", "B", "C", "D"]
    },
    "recentItems": []
  }
]

Notes

  • progress.awaiting 统计已回答但尚未完成评判的条目。
  • progress.faulted 统计最终失败或已取消的终态条目。
  • lifecycle 会持久化到服务端,用于在刷新后重建 active board。
  • 当可用时,currentItem.activity 还可能携带流式预览与 chunk 元数据。

客户端集成说明

  1. useRunsQuery 驱动归档与对比选择器
  2. useActiveRunsQuery 在 SSE 开始前先 hydrate 活跃面板
  3. useRunEventsrun_statusrun_progressrun_item 合并进本地状态
  4. 遇到瞬时 SSE 错误时,客户端应使 active caches 失效,但保留重连能力
  5. Runs 页面把 /runs/active 视作主面板数据源,并在需要时按需抓取完整 run 详情