用量
用量页:选择时间范围或某一天,读懂概要卡片、Token 趋势和速度图表,按模型、提供方、账户和接口查看明细,并逐条查看调用记录。
用量 页记录经过网关的每一次调用:用了多少 Token、缓存命中多少、首字延迟和生成速度、由哪个渠道的哪个账号回答、是否失败。数据保存在数据目录的 hoshimi.db 中,重启后仍在。用量是如何记录和统计的,见用量统计。
还没有任何调用时,页面显示 还没有任何回答:通过网关发一次请求(或在 Playground 中聊一句),数据就会出现。
时间范围
工具栏左侧选择范围:单日、24 小时、7 天(默认)、30 天、90 天。范围记在地址中(如 #/usage?range=30d),刷新或分享链接时打开同一个范围。
选 单日 时出现日期导航:左右箭头切换 前一天 和 后一天,中间的按钮(显示 今天、昨天 或日期)打开日历。日历中有用量的日子按当天 Token 量深浅着色;不能选择今天之后,或第一天有记录之前的日期。
| 范围 | 图表的单位 | 与什么比较 |
|---|---|---|
| 单日(今天) | 小时 | 与昨天同一时刻相比 |
| 单日(过去某天) | 小时 | 与前一天相比 |
| 24 小时 | 小时 | 再往前的 24 小时 |
| 7 天、30 天、90 天 | 天 | 再往前同样长的一段时间 |
日期按服务器的本地时间划分。工具栏右侧是实时连接的状态圆点、刷新按钮和 ⋮ 菜单(重置统计)。切换范围时,页面先保留旧数字,新数据到达后一次切换过去,期间工具栏下方显示一条细进度条。
概要卡片
六张卡片概括所选范围。每张卡片显示数值、与上一段时间相比的变化(悬停可以看比较的对象),以及一条趋势小图:
| 卡片 | 数值 | 下方的说明 |
|---|---|---|
| Token 总量 | 输入 + 输出 Token | 调用次数 |
| 输入 Token | 所有输入 Token | 其中未命中缓存的和写入缓存的 |
| 输出 Token | 所有输出 Token | 其中推理(思考)Token |
| 缓存命中率 | 从缓存读取的输入 Token 占全部输入的比例 | 来自缓存的输入 Token 数 |
| 调用次数 | 请求数 | 失败次数和失败率 |
| 首 Token 时间(中位数) | 首字延迟的中位数 | p95 和生成速度的中位数(tok/s) |
有调用正在进行时,卡片下方出现 正在进行(N),每个调用一张卡片,内容与顶栏的实时活动相同。
Token 趋势
堆叠柱状图按类型显示每小时或每天的 Token:未缓存输入、缓存读取、缓存写入、输出、推理(输出中推理以外的部分记为 输出)。悬停一根柱子可以看各类型的数值和 合计。
- 24 小时 和 单日 按小时显示;今天还没到的小时以浅色显示,不算作下降。
- 7 天、30 天、90 天 按天显示。点某一天的柱子,直接打开那一天的逐小时视图(选择某一天可查看逐小时用量)。
- 逐小时数据只保留 120 天。更早的某一天显示 这一天没有保留逐小时数据,上方的总计仍包含它。
速度
有测量数据时出现两张折线图:首 Token 时间 和 解码速度(tok/s),都是每个时间段的平均值;没有测量的时间段留空,不画成零。
解码时间短于 250 毫秒,或速度高于每秒 250 个 Token 的调用不计入平均值:这样测不准的速率不会被当成很快的结果。
明细
明细 按四种方式分组,用标签页切换:
| 标签 | 分组 |
|---|---|
| 模型 | 每个模型 id(有显示名称时显示名称,下方是 id) |
| 提供方 | 每个渠道 |
| 账户 | 每个渠道的每个账号 |
| 接口 | 调用来自哪种接口,见下表 |
每行显示 调用次数、token、缓存命中(一条按未缓存、缓存读取、缓存写入划分的输入条和命中率)、输出、TTFT p50、TTFT p95、tok/s 和 失败。默认按 Token 从多到少排序,点列标题换一种排序。窗口较窄时部分列会隐藏。
| 接口 | 来源 |
|---|---|
| Chat Completions | /v1/chat/completions |
| Responses | /v1/responses |
| Anthropic Messages | /v1/messages |
| 分类 | /v1/classify(TypeSafe 分类模型) |
| 试用场 | Playground 对话 |
| Playground 标题 | 为 Playground 新对话起标题 |
| Playground 图片描述 | 为不能读图的模型描述图片 |
点明细中的一行,下面的调用记录就只显示这一行的调用;记录上方出现一个带名称的标记,点它取消筛选。
调用记录
调用次数 部分列出所选范围内的每一次调用,最新的在前;向下滚动自动加载更早的记录。所选范围一直延续到现在时,新完成的调用会加到列表顶部。
| 列 | 内容 |
|---|---|
| 时间 | 今天的显示时刻,更早的显示日期;悬停看完整时间 |
| 模型 | 模型,下方是接口和推理强度 |
| 提供方 / 账户 | 由哪个渠道的哪个账号回答 |
| token | 输入 + 输出 |
| 缓存 | 从缓存读取的输入 Token |
| 首字延迟 | 从收到请求到第一个 Token |
| 用时 | 整个调用的时长 |
| tok/s | 生成速度 |
| 状态 | 已回答 或 失败 |
- 搜索调用:在模型、提供方、账户、错误代码、错误信息和结束原因中搜索(不区分大小写)。
- 仅失败:只看失败的调用。
点一行打开 调用详情:
- 顶部是模型和状态;失败时显示错误代码和简短的错误信息。
- 时间、模型、提供方、账户、接口、推理强度、响应方式(流式 或 整体)、尝试账户数(轮换过几个账户)、结束原因。
- Token:按缓存使用划分的输入 条,以及 输入 token、未缓存输入、缓存读取(及占比)、缓存写入、输出 token、思考 token。上游没有报告用量时注明 未上报用量。
- 耗时:首字延迟、解码、用时、tok/s。
详情面板右上角的箭头(或键盘的 ↑、↓)切换到 较新的调用 和 较早的调用。
什么算一次调用、什么算失败
- Chat Completions、Responses、Messages、分类和 Playground 的每个请求各记一条,换了几个账户也只算一次。
- 出错的请求算失败,包括还没发到上游就失败的路由错误(例如找不到模型)。客户端中途断开连接时算作已回答,不算网关失败。
- 缓存写入取自
prompt_tokens_details.cache_write_tokens(或cache_creation_tokens、Anthropic 的cache_creation_input_tokens);DeepSeek 的prompt_cache_hit_tokens计为缓存读取。
保留期限
| 数据 | 保留多久 |
|---|---|
| 每次调用的记录 | server.stats_keep_days 天(默认 90),在 设置 › 常规 › 用量历史 中修改 |
| 逐小时总计 | 120 天 |
| 每日总计和累计数 | 永久 |
修改保留天数后,从下一次清理起生效;清理随新的调用进行,最多每分钟一次。统计大约每秒写入一次数据库,服务器关闭时也会写入。
重置统计
⋮ 菜单中的 重置统计 清除所有计数、图表和调用记录。确认 重置所有用量统计? 后执行,无法撤销。重置时正在进行的调用结束后仍会被记录。
重置无法撤销
重置会删除 hoshimi.db 中的全部用量数据。只想少保留一些记录时,调小 调用记录保留天数 即可。