AI API 调用失败时很少会给出明确的提示。你通常只会收到一个状态码、可能是一串错误信息,以及一个支持渠道,对方会问你“请求 ID 是多少?”如果你手头没有这个 ID,调查工作在开始前就会陷入停滞。我们构建了 TokenLab Request Console,通过将请求级别的详细信息整合到一个仪表板视图中来填补这一空白。它显示了模型、密钥、缓存状态、计费状态、耗时以及脱敏后的载荷预览。在我们的流水线中,我们将请求 ID 视为首要查找键。
主要要点
- TokenLab Request Console 是 TokenLab API 仪表板内的一个请求级调试界面,而非计费报告。
- 每个请求都有一个可以直接搜索的 ID。你可以通过 URL 中的
requestId直接深度链接到特定请求。 - 控制台显示最近请求的路由、计费状态、缓存状态、模型/密钥上下文以及脱敏后的载荷预览。
- 访问权限仅限于你的组织,并受仪表板成员权限管理——团队成员只能看到其角色允许查看的内容。
- 对于单次事件调试,请使用控制台。对于跨时间范围的批量成本审查,请使用使用量导出功能。
什么是 TokenLab Request Console
你可以通过 TokenLab 仪表板 API 部分中的 /dashboard/api?tab=requestConsole 访问它。API 仪表板本身位于 /dashboard/api。控制台基于一个前提构建:当请求失败时,最快的修复方法是直接查看其完整上下文,而不是仅仅根据错误信息进行猜测。
仪表板文案将控制台描述为最近请求的检查器,涵盖路由、计费、请求/响应正文以及模型供应商上下文。我们将其细分为几个工作区。
列表视图。 最近请求的可过滤表格。当你还没有特定的请求 ID 时,可以从这里开始。你可以在此扫描失败或异常的调用。
检查器面板。 选择请求后,检查器将打开并显示完整详情:由哪个模型提供服务、使用了哪个 API 密钥、是否命中缓存以及最终状态如何。
错误上下文。 如果请求失败,控制台会显示与该特定调用相关的错误信息。你无需交叉引用单独的错误日志。
路由和计费状态。 显示请求是如何路由的,以及它是已计费、待处理、已退款还是已失败。当客户询问“我是否为那个错误付费了?”时,这四种状态最为重要。
载荷预览。 请求和响应正文在可用时显示为脱敏预览,为你提供形状和结构,而不会在正文中暴露原始机密。
模型供应商和模型密钥上下文。 处理该调用的供应商和具体模型。当你通过一个集成运行多个模型并需要确认调用了正确的模型时,这非常有用。
所有这些都不需要你在 API 之上构建自己的日志流水线。它已经按组织呈现,并由仪表板成员权限过滤,因此拥有相应访问权限的团队成员可以看到与你相同的请求数据。
首先检查什么
当 API 调用失败时,检查事项有一个自然的顺序。在确认请求确实到达了正确的端点之前,直接跳到“模型是否宕机”会浪费时间。
五字段分类法
| 检查项 | 它告诉你的信息 |
|---|---|
| 请求 ID | 确认你正在查看的是该特定调用,而不是类似的调用 |
| 状态 | 已计费、待处理、已退款或已失败——告诉你这是一个成本问题还是技术问题 |
| 模型 | 实际处理请求的模型(如果你跨多个模型进行路由,此项很有用) |
| 缓存状态 | 提示词缓存命中或未命中是否改变了成本或延迟 |
| 密钥来源 | 使用了哪个 API 密钥,当多个密钥或环境共享一个集成时很有用 |
从请求 ID 开始。如果你从客户端日志、支持工单或错误报告中获得了它,请使用深度链接模式:
/dashboard/api?tab=requestConsole&requestId=%3Crequest_id>
这将直接在相关请求上打开检查器,完全跳过列表视图。当有人给你一个 ID 并问“这里发生了什么”时,这是最快的路径。
如果你还没有请求 ID,控制台的过滤器允许你按模型、时间范围、提示词缓存状态、密钥来源和状态进行缩小范围。例如,当请求失败时,按“失败”状态过滤过去一小时内的记录,然后扫描列表以找到用户询问的具体调用。
正确读取状态字段
四种状态——已计费、待处理、已退款、已失败——回答了不同的问题:
- 已计费 表示调用已完成并消耗了额度。如果用户报告错误但请求显示已计费,则值得单独标记。这表明失败发生在成功响应后的客户端。
- 待处理 表示请求仍在进行中或等待结算。不要过早将其视为失败。
- 已退款 表示 TokenLab 撤销了费用,通常与供应商或路由端的失败有关。
- 已失败 表示调用未成功完成且未计费。
在升级问题之前了解适用哪种状态,可以节省与支持团队来回沟通的时间。
确认模型和缓存状态
如果你通过共享集成针对 Claude Sonnet 5、DeepSeek V4 Pro 或 Gemini 3.5 Flash 等模型运行请求,请确认控制台显示的是你预期的模型。配置错误的客户端、过时的环境变量或路由覆盖可能会在没有明显客户端错误的情况下将流量发送到错误的模型。
缓存状态对成本和延迟都很重要。在你预期命中但实际未命中的情况下,通常意味着提示词前缀发生了变化,即使是很细微的变化。检查时间戳、重新排序的字段或多余的空格字符。控制台的缓存状态过滤器允许你并排比较命中和未命中的请求。
TokenLab Request Console 如何与使用量导出配合使用
Request Console 和使用量导出解决的是不同的问题,因此明确界限很有帮助。控制台专为单次请求调查而构建:一个调用、一个错误、一个计费问题,在检查器面板中即可解答。当你需要立即知道某个特定请求为何失败时,请打开它。
使用量导出专为汇总审查而构建:跨时间范围的支出、按模型或密钥的细分,以及你提交给财务利益相关者或用于月度对账的报告。如果你想回答“我们上周在 DeepSeek V4 Pro 上花了多少钱”,这是一个导出问题,而不是控制台问题。请参阅 TokenLab 仪表板使用量导出指南了解该工作流程。
简而言之:控制台用于处理突发事件,导出用于统计总量。一些团队会按顺序使用两者。导出功能在汇总支出中发现异常,而控制台则是你深入挖掘导致该异常的具体请求的地方。
实用的调试流程
临时调试在压力下会变成盲目猜测。一个可重复的流程可以防止事件持续时间超过必要长度。
检查清单:当请求失败时
- 获取请求 ID。 从你的客户端日志、错误响应或用户报告中获取。如果你目前没有记录请求 ID,现在就开始吧。这是你拥有的最快的查找键。
- 使用深度链接打开控制台。 使用
requestId查询参数直接跳转到检查器。 - 首先检查状态字段。 已计费、待处理、已退款或已失败。这为后续调查奠定了基础。
- 确认实际处理请求的模型。 将其与你预期发送的模型进行比较。
- 检查缓存状态。 预期命中但未命中可以解释意外的延迟或成本。
- 检查密钥来源。 确认使用了正确的 API 密钥和环境,特别是在分阶段与生产环境设置中。
- 阅读错误上下文和路由信息。 这通常是实际根本原因显现的地方。
- 审查脱敏后的载荷预览。 确认请求形状与客户端发送的内容一致。畸形参数通常会在这里显示,而不是在其他任何地方。
- 必要时参考 API 文档。 位于
https://docs.tokenlab.sh/api-reference/chat/create-completion的 TokenLab 聊天补全 API 参考文档记录了预期的请求和响应形状。使用它来确认载荷是否在客户端侧畸形。 - 如果是模式而非个例,请切换到使用量导出。 单次失败请求是控制台问题。一小时内十次失败请求是一个值得导出并汇总审查的模式。
遵循这个顺序——ID、状态、模型、缓存、密钥、错误、载荷——可以防止你跳过真正解释失败原因的字段。
常见问题解答
如何在没有请求 ID 的情况下找到失败的请求?
使用 TokenLab Request Console 中的列表视图过滤器。按模型、时间范围、提示词缓存状态、密钥来源和状态进行缩小范围。例如,按“失败”状态过滤过去一小时内的记录,然后扫描用户询问的调用。找到后,打开检查器并复制请求 ID 以备后续日志使用。
为什么客户端报告错误时请求显示已计费?
已计费意味着调用已完成并消耗了额度。如果用户报告错误但请求显示已计费,则失败很可能发生在成功响应后的客户端侧。请单独标记这种情况,因为它指向的修复路径与失败或退款的请求不同。
检查器中的缓存未命中说明了什么?
缓存未命中意味着请求没有命中提示词缓存。这对成本和延迟很重要。预期命中但未命中通常意味着提示词前缀发生了变化,即使是很细微的变化。检查时间戳、重新排序的字段或多余的空格字符。
我可以与团队成员共享请求链接吗?
可以,如果他们的仪表板成员权限允许的话。请求数据仅限于你的组织。使用深度链接格式 /dashboard/api?tab=requestConsole&requestId=<request_id> 直接打开检查器。团队成员只能看到其角色允许查看的内容。
我应该何时从控制台切换到使用量导出?
当问题是模式而非个例时切换。单次失败请求是控制台问题。一小时内十次失败请求是一个值得导出并汇总审查的模式。使用导出功能来处理跨时间范围的支出、按模型或密钥的细分以及月度对账。
来源与时效性
- TokenLab Request Console —
/dashboard/api?tab=requestConsole— 观察日期 2026-07-09 - TokenLab 聊天补全 API 参考 —
https://docs.tokenlab.sh/api-reference/chat/create-completion— 观察日期 2026-07-09 - TokenLab 仪表板使用量导出 —
/blog/tokenlab-dashboard-usage-exports— 观察日期 2026-07-09 - TokenLab 公共模型目录 —
/models— 观察日期 2026-07-09 - TokenLab API 密钥仪表板 —
/dashboard/api— 观察日期 2026-07-09
引用的模型示例(Claude Sonnet 5、DeepSeek V4 Pro、Gemini 3.5 Flash)反映了截至 2026-09-19 的当前模型 SSOT。本控制台说明的来源快照观察于 2026-07-09;来源中的原始模型 SSOT 日期为 2026-07-07。
后续步骤
如果你目前通过 grep 客户端日志并交叉引用单独的计费仪表板来调试 AI API 失败,Request Console 可以减少该循环中的一个步骤。控制台位于 /dashboard/api?tab=requestConsole。API 密钥仪表板位于 tokenlab.sh/dashboard/api。聊天补全请求/响应形状记录在 https://docs.tokenlab.sh/api-reference/chat/create-completion。对于汇总支出审查,请使用 使用量导出。有关模型定价和上下文窗口详情,请参阅 模型目录。打开控制台并按 ID 查找最近的失败请求。
来源
价格更新于 2026-07-09
- TokenLab Request Console资料更新于 2026-07-09
- TokenLab Chat Completions API资料更新于 2026-07-09
- TokenLab Usage Exports资料更新于 2026-07-09
- TokenLab model directory资料更新于 2026-07-09



