@if (sessionId()) {
@for (review of activeReviews(); track review.review_id) {
{{ unavailable() ? '验收状态暂时无法更新' : reviewStage(review) }} 验收已用 {{ reviewElapsed(review) }} 秒
@if (!unavailable()) {

完整结论确认前,测试仍为待判定。剩余验收预算 {{ reviewRemaining(review) }} 秒 / 总计 {{ review.total_seconds }} 秒。

已发起 {{ review.request_count }} 次模型请求,已重试 {{ review.retry_count }} 次;重试复用已有证据。

}
} @for (request of active(); track request.attempt_id) {
{{ unavailable() ? '请求状态暂时无法更新' : phase(request) }} {{ request.model || '模型未记录' }} · {{ role(request) }}{{ request.is_fallback ? ' · 兜底模型' : '' }} 已用 {{ elapsed(request) }} 秒
@if (!unavailable()) {

{{ hint(request, now()) }} @if (request.phase !== 'retry_wait') { 本次请求最长等待 {{ request.timeout_seconds }} 秒。 }

} @if (request.error) {

{{ request.error }}

}
} @if (unavailable()) {

诊断信息暂时不可用;显示的是上次记录,不能据此判断任务是否卡住。

}
模型请求诊断 @if (requests().length) { · 最近 {{ requests().length }} 次尝试 }
时间按本机时区显示;下载文件同时包含 UTC 时间。下载完整诊断
@if (loading()) {

正在加载请求记录…

} @if (!loading() && !unavailable() && !requests().length) {

暂无请求诊断。旧任务没有记录的时间和用量无法补推。

}
@for (review of reviews(); track review.review_id) {
{{ review.started_at * 1000 | date:'HH:mm:ss' }} · 最终验收 · {{ reviewStage(review) }}
验收编号
{{ review.review_id }} · {{ review.attempt_id }}
验收预算
总计 {{ review.total_seconds }} 秒 · 已用 {{ reviewElapsed(review) }} 秒
模型请求
{{ review.request_count }} 次,实际重试 {{ review.retry_count }} 次;每个请求最多重试 {{ review.max_retries }} 次,总预算内执行
开始时间
{{ review.started_at * 1000 | date:'yyyy-MM-dd HH:mm:ss.SSS Z' }}
预算截止
{{ review.deadline_at * 1000 | date:'yyyy-MM-dd HH:mm:ss.SSS Z' }}
结束时间
{{ review.ended_at ? (review.ended_at * 1000 | date:'HH:mm:ss.SSS') : '未记录' }}
@if (review.last_failure_category) {
最近错误类别
{{ review.last_failure_category }}
} @if (review.status === 'budget_exhausted') {
结束原因
取证、模型请求与重试已耗尽验收总预算;未确认通过。
} @if (review.status === 'request_retries_exhausted') {
结束原因
验收模型请求重试已用尽;未确认通过,没有重跑设备操作。
} @if (review.status === 'cancelled') {
结束原因
{{ cancellationReason(review.cancel_reason) }}
}
} @for (request of requests(); track request.attempt_id) {
{{ request.started_at * 1000 | date:'HH:mm:ss' }} {{ request.model || '模型' }} · {{ role(request) }} · {{ phase(request) }} @if (!request.active && !request.ended_at) { (未记录结束,当前未在执行) } @if (request.is_fallback) { 兜底 }
本地请求编号
{{ request.request_id }}
本次尝试编号
{{ request.attempt_id }}
@if (request.previous_attempt_id) {
上次尝试编号
{{ request.previous_attempt_id }}
}
出站请求编号
{{ request.client_request_id || '未记录' }}
服务端请求编号
{{ request.server_request_id || '服务未提供' }}
响应编号
{{ request.response_id || '服务未提供' }}
@if (request.server_trace_id) {
服务端链路编号
{{ request.server_trace_id }}
} @if (request.traceparent) {
链路上下文
{{ request.traceparent }}
}
模型配置
{{ request.model || '未记录' }} / {{ request.reasoning_effort || '默认' }} · 第 {{ request.attempt }} 次请求,最多重试 {{ request.max_retries }} 次
@if (request.final_review; as review) {
所属最终验收
{{ review.review_id }} · {{ reviewStage(review) }} · 请求记录时剩余 {{ review.remaining_seconds }} 秒
}
输出 Token 上限
{{ request.max_output_tokens || '未设置(由模型服务决定)' }}
有效输出片段
{{ request.output_chunks ?? '未记录' }}(客户端计数,与服务端 SSE 事件数口径不同)
工具参数
{{ request.tool_argument_chars ?? '未记录' }} 字符 @for (tool of request.tools || []; track $index) { {{ tool.name || '工具名未提供' }} · {{ tool.argument_chars }} 字符 }
请求开始
{{ request.started_at * 1000 | date:'yyyy-MM-dd HH:mm:ss.SSS Z' }}
收到响应头
{{ request.headers_at ? (request.headers_at * 1000 | date:'HH:mm:ss.SSS') : '未记录' }} · HTTP {{ request.http_status || '未知' }}
首个有效输出
{{ request.first_output_at ? (request.first_output_at * 1000 | date:'HH:mm:ss.SSS') : '未收到/未记录' }}
最后有效输出
{{ request.last_output_at ? (request.last_output_at * 1000 | date:'HH:mm:ss.SSS') : '未收到/未记录' }}
结束时间
{{ request.ended_at ? (request.ended_at * 1000 | date:'HH:mm:ss.SSS') : '尚未记录' }}
@if (termination(request); as reason) {
结束原因
{{ reason }}
} @if (request.cancel_phase) {
中断阶段
{{ phase(request.cancel_phase) }}
}
输入图片
{{ request.images.length }} 张 @for (image of request.images; track $index) { {{ image.width && image.height ? image.width + ' × ' + image.height : '尺寸未知' }} }
Token 用量
{{ request.usage ? '输入 ' + request.usage.prompt_tokens + ' / 输出 ' + request.usage.completion_tokens + ' / 合计 ' + request.usage.total_tokens : '未知(服务未报告)' }}
@if (request.error) {
失败原因
{{ request.error_type }} · {{ request.error }} · 阶段 {{ phase(request.failure_phase || '') }} @if (request.category) { · {{ request.category }} }
}
}
}