OpenRouter 平台功能
OpenRouter 平台功能
工作区预算
2 分钟阅读
工作区预算
按工作区设置消费限额并自动强制执行
工作区预算可限制某个工作区在 OpenRouter 推理上的支出。你可以在每日、每周、每月或终身等任意组合的区间上设置美元限额,一旦达到限额,OpenRouter 会自动阻止请求。
工作原理
每个工作区最多可以有四个预算,每个区间一个:
| 区间 | 重置时间 | 适用场景 |
|---|---|---|
| daily(每日) | 每天 UTC 午夜 | 防止单日异常导致支出失控 |
| weekly(每周) | 每周一 UTC 午夜 | 平滑每周突发用量 |
| monthly(每月) | 每月 1 日 UTC 午夜 | 执行固定的每月配额 |
| lifetime(终身) | 永不重置 | 对工作区总支出设置硬上限 |
请求进入时,OpenRouter 会对照每项已配置预算检查该工作区的当前支出。如果任一预算已达到或超出,请求会返回 403 Forbidden 错误:
错误信息会指出被超出的最宽区间,以便用户知道是哪项限额触发了拦截。
排序规则
预算限额必须随区间变窄而严格递减:
例如,如果每月预算为 1,000,每日预算必须小于每周预算。不必设置全部四个区间——只需保证已设置的区间遵循此排序。
在控制台中设置预算
- 前往工作区的 设置(Settings) 页面:
https://openrouter.ai/workspaces/<slug>/settings - 滚动到 预算(Budgets) 部分
- 点击 添加预算(Add budget),选择区间并输入美元金额
- 对其他区间重复此操作
- 点击 保存(Save)
每行预算会显示当前周期支出相对限额的进度条。如果支出已经超出限额,进度条会变红并出现警告。
预算行上方的 计入 BYOK 支出(Include BYOK spend) 开关控制 BYOK 推理支出是否计入这些限额。它作用于整个工作区,因此会同时影响所有区间。API 对应项见 计入 BYOK 支出。
这些控制台步骤需要 组织管理员 角色。成员可以查看预算、支出进度条以及 计入 BYOK 支出 设置,但不能更改它们。
通过 API 设置预算
你也可以使用组织 管理 API 密钥 以编程方式管理预算。管理密钥在账户层面运行,可以对所有工作区执行管理操作。预算端点位于 /api/v1/workspaces/{id}/budgets。
列出预算
include_byok_in_budgets 与 data 并列,而不是出现在每一行预算上,因为它作用于整个工作区,而不是单个区间。参见 计入 BYOK 支出。
创建或更新预算
使用带区间路径的 PUT。如果该区间的预算已存在,则会更新。
有效区间:daily、weekly、monthly、lifetime。
响应会回显已创建或更新的预算,以及该工作区当前的 BYOK 设置:
服务器会校验排序规则——如果新限额会违反相对现有预算的严格递减约束,请求会返回 400 Bad Request,消息类似:
计入 BYOK 支出
默认情况下,只有 OpenRouter 积分支出会计入工作区预算。将 include_byok_in_budgets 设为 true,也会计入 BYOK 推理支出——即如果该请求未使用你自己的模型服务提供商密钥,OpenRouter 本应收取的金额:
这与控制台预算部分中的 计入 BYOK 支出 开关是同一设置。
关于该字段需要了解两点:
- 它作用于整个工作区。 请求 URL 中的区间不会限定 BYOK 计入范围。
- 省略该字段则保持当前设置不变。 仅在打算更改时发送;显式发送
false会关闭计入。
列表和 upsert 端点都会返回当前值,工作区资源本身(GET /api/v1/workspaces/{id})也会返回。
通过 API 所做的更改会立即应用于预算强制执行。控制台中已经打开的工作区设置页面可能仍显示旧值,直到重新加载。
删除预算
删除不存在的预算也会返回成功(幂等)。
支出跟踪
预算强制执行使用 OpenRouter 的用量流水线,按每个区间窗口跟踪各工作区的支出。控制台中的进度条会显示相对每项已配置限额的实时支出。
默认情况下,只有 OpenRouter 积分支出会计入预算。启用 计入 BYOK 支出 后,BYOK 推理支出会加到同一总计中。
创建工作区时,每个区间的支出都从零开始。周期性预算(每日、每周、每月)会在每个周期开始时自动重置。终身预算会无限累积。
创建工作区时设置预算
企业版组织管理员也可以在创建新工作区时设置预算。工作区创建表单包含可选的 预算 部分,可在签发任何密钥之前配置限额,以及 计入 BYOK 支出 开关。
常见问题
超出预算时,进行中的请求会怎样?
超出预算时,进行中的请求会怎样?
预算检查在请求路由到模型服务提供商之前运行。已经发出的进行中请求会完成,因此实际支出可能略微超出预算限额。检测到超额后的下一个请求会被拦截。
BYOK(自带密钥)请求是否计入工作区预算?
BYOK(自带密钥)请求是否计入工作区预算?
默认不计——工作区预算适用于由 OpenRouter 计费的支出,因此使用你自己的模型服务提供商密钥路由的 BYOK 请求不计入。
你可以按工作区选择加入:在控制台中启用 计入 BYOK 支出,或在预算端点上将 include_byok_in_budgets 设为 true。启用后,如果该请求未使用你自己的模型服务提供商密钥,OpenRouter 本应收取的金额会计入该工作区的每个区间。
可以在默认工作区上设置预算吗?
可以在默认工作区上设置预算吗?
可以。每个工作区——包括默认工作区——都可以配置预算。
超出预算时谁会收到通知?
超出预算时谁会收到通知?
用户会在被拦截的请求上收到 403 Forbidden 错误,消息中会指出被超出的预算。目前还没有主动的电子邮件或 webhook 通知——预算状态可在工作区设置控制台中查看。
工作区成员可以覆盖预算吗?
工作区成员可以覆盖预算吗?
不可以。在控制台中,只有组织管理员可以修改预算。以编程方式更改需要组织管理 API 密钥。请求被拦截的成员应联系其组织管理员以提高限额。