Files
ai-safety-console-web/docs/interaction-design.md
T
2026-07-19 00:29:06 +08:00

30 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 交互设计
## 主流程
1. 用户登录,系统用 `/auth/me` 确认身份和权限。
活跃用户在 access token 剩余不超过 30 分钟时静默续约;续约不跳转、不刷新页面,不清空当前任务。
2. 概览页确认后端健康、模型配置和近期运行。
3. 管理员在模型配置页建立 target/judge 配置,可查询模型并执行最小连通性检查。
4. 用户选择 smoke/all 与是否自动裁判,确认后创建运行。客户端自动携带 UUID 幂等键,避免重复提交。
5. 详情页展示探测、执行、裁判和完成阶段,按后端 `poll_after_seconds` 轮询。
6. 运行中可取消;中断后可恢复;局部错误可只重试错误样例;终态后可查看逐条结果、汇总报告、导出 Markdown 详细报告或确认删除。
`cancelled / failed / pending / probing / running` 可确认后“恢复运行”;`completed_with_errors``error_count > 0` 可确认后“重试错误(N)”。提交期间按钮禁用,成功提示跳过或重试数量;409 会刷新详情以校正操作状态。
7. 逐条结果可按执行状态、仲裁结论筛选,并可按执行 ID 搜索;三项条件组合生效,执行 ID 支持忽略大小写的片段匹配。
8. `completed / completed_with_errors` 的每条结果可确认后单独“重新执行”。提交中仅该按钮显示“提交中…”,受理后该 Run 的全部单条重试按钮锁定并显示目标执行 ID“重新执行中…”,直到 Run 再次进入终态。目标结果会进入跟踪状态并置顶,暂时绕过执行状态、仲裁结论和执行 ID 筛选,用户可手动停止跟踪;原筛选值始终保留。
9. “导出详细报告”位于逐条结果筛选栏,复用当前执行状态和仲裁结论筛选,不占用页头运行控制区;“全部”不传参数,“未仲裁”映射为 `verdict=none`,执行 ID 搜索不参与导出。非终态按钮禁用,导出期间显示加载状态并阻止重复提交,文件名为 `run_{run_id}_results.md`409 会刷新运行详情。
## 模型等待交互
- 创建成功后立即进入运行详情,不用一个无信息的全屏 loading 阻塞。
- Steps 显示当前阶段,环形进度和成功/错误/总数提供可量化反馈,当前样例 ID 说明系统仍在前进。
- 文案明确告知“可安全离开”;顶栏在全站显示活跃运行数,返回后会恢复轮询。
- 运行期间每 3 秒同步已落库的逐条结果。运行进入终态时会立即执行最后一次结果同步,再停止轮询,避免错过最后落库的样例。
- 终态是停止常规轮询的唯一条件。网络错误显示可重试状态,不把未知状态误报为失败。
- 恢复或重试成功只表示任务已重新排队;详情立即刷新,并继续严格使用最新 `poll_after_seconds` 轮询,直到 `terminal = true`
- 单条重跑会短暂删除旧结果;结果列表找不到目标执行 ID 时继续显示“正在等待跟踪结果…”,终态后用相同执行 ID 置顶展示新结果,即使新状态不符合原筛选也不消失。网络错误或 5xx 先刷新 Run 状态,发现已进入执行态时不重复提交。
## 闭环与破坏性操作
创建、修改、检查、重试等操作都有进行中状态和成功/失败反馈。取消、删除、禁用用户、重置密码等高风险操作要求确认。修改本人密码后所有旧 token 立即失效,前端清理会话并要求使用新密码登录。