feature: 增加功能 导出详细报告

This commit is contained in:
baozaotumao2025
2026-07-19 00:29:06 +08:00
parent 789d4fc4e9
commit 12d8293250
12 changed files with 92 additions and 15 deletions
+3 -2
View File
@@ -9,7 +9,7 @@
| 提供商 | 列表、详情、创建、修改、删除 | `GET/POST /providers`, `GET/PATCH/DELETE /providers/{id}` |
| 提供商 | 连通检查、模型发现 | `POST /providers/{id}/check`, `GET /providers/{id}/models` |
| 运行 | 列表、创建、详情、取消、删除 | `GET/POST /runs`, `GET/PATCH/DELETE /runs/{id}` |
| 运行 | 恢复、重试错误、单条重试、逐条结果 | `POST /runs/{id}/resume`, `POST /runs/{id}/retry-errors`, `POST /runs/{id}/results/{execution_id}/retry`, `GET /runs/{id}/results` |
| 运行 | 恢复、重试错误、单条重试、逐条结果、导出详细报告 | `POST /runs/{id}/resume`, `POST /runs/{id}/retry-errors`, `POST /runs/{id}/results/{execution_id}/retry`, `GET /runs/{id}/results`, `GET /runs/{id}/export` |
| 报告 | 列表、详情 | `GET /reports`, `GET /reports/{run_id}` |
| 系统 | 健康状态 | `GET /health` |
@@ -19,6 +19,7 @@
- 运行详情必须满足 `processed_count = completed_count + error_count``error_count` 仅统计执行异常,不包含 `verdict = fail`;终态必须有 `poll_after_seconds = 0`
- 逐条结果使用 `execution_status``completed | error`)表示调用是否完成,使用可空 `verdict``pass | fail | needs_human_review | judge_format_error | null`)表示仲裁结论;前端不读取旧 `status`
- 逐条结果的执行 ID 搜索直接使用 `GET /runs/{id}/results` 已返回的 `execution_id` 在 UI 过滤,不新增请求参数或后端端点。
- `GET /runs/{id}/export` 仅允许终态 Run,返回 `text/markdown` 文件而非 JSON;可组合传入 `execution_status=completed|error``verdict=pass|fail|needs_human_review|judge_format_error|none`,其中 `none` 表示未评价。前端复用结果筛选器,但执行 ID 搜索不参与导出。
- 报告的 `summary.execution_statuses``summary.verdicts` 分开统计;`by_mode` 下也分别包含 `execution_statuses``verdicts`
- `POST /runs/{id}/retry-errors` 只重试 `execution_status = error`,不重试任何仲裁结论。
- `POST /runs/{id}/results/{execution_id}/retry` 无请求体,沿用原 Run 的测试范围和自动仲裁配置,并以相同 `execution_id` 替换旧结果;仅 `completed / completed_with_errors` 状态允许提交。
@@ -29,4 +30,4 @@
- access token 剩余不超过 30 分钟且用户最近 30 分钟有真实操作时,`POST /auth/refresh` 携带同一共享生成器产生的 UUID v4 `Idempotency-Key`
- 网络错误和 5xx 最多尝试 3 次,且一直复用原 refresh token 和原 key409 保留凭据并等待 `refresh_after`
- 普通业务请求首次 401 共享 single-flight 续约,成功后仅重放一次;只有 refresh 本身返回 401 才清除会话。
- HTTP 204 按无响应体处理;403/404/409/422/502 映射为可操作的用户消息。
- HTTP 204 按无响应体处理;Markdown 成功响应按 Blob 读取;错误响应仍按 JSON 归一化。403/404/409/422/502 映射为可操作的用户消息。