在 OpenRouter 上设置团队 AI 支出控制
Set Up Team AI Spend Controls on OpenRouter
OpenRouter 推出五项团队 AI 支出控制功能:组织共享信用池、预设模型范围、每密钥限额、护栏(成员预算和模型白名单)及活动仪表盘。本指南按顺序介绍设置流程,包括创建组织、配置预设、通过 Management API 密钥设置每日/每周/每月限额。组织默认支持最多 10 名成员,标准按需付费账户购买信用时收取 5.5% 平台费。
这份教程把团队支出控制拆解为可操作的五个步骤,并对限额、护栏的叠加逻辑给出了清晰定义,可缓解团队协作中支出归属与模型权限的常见混乱。

随着你的团队在 OpenRouter 上不断壮大,更多的 API key 和更广泛的模型访问权限会让你越来越难以看清谁在花什么钱。五项控制措施可以解决这个问题。组织为所有人提供一个共享的额度池。预设按工作负载限定模型范围。按 key 限额限制每个 key 的支出。Guardrails 强制执行每个成员的预算和模型允许列表。而 Activity 仪表盘则展示资金的去向。
本指南按顺序逐一设置它们:组织、预设、key 限额、guardrails,然后在 Activity 中检查。如果你还在决定需要哪些控制措施,请先阅读 管理团队 AI 支出指南。本页介绍的是设置本身。

开始之前
在开始之前,请确保以下事项已就绪:
- 使用一个已验证邮箱的账户(创建组织需要邮箱验证)。
- 以组织管理员身份完成设置,这样你就能管理账单、API key、成员访问权限和 guardrails。
- 提前规划好你的成员名单。组织默认最多支持 10 名成员,可通过支持渠道获得更高上限。
- 与你的团队一起查看定价。按量付费没有最低消费,标准按量付费账户的 5.5% 平台费在你购买额度时收取,而不是按请求收取。参见 定价。
第 1 步:创建你的组织并充值额度池
前往 Settings > Preferences,打开 Organization 部分,然后点击 Create Organization。输入组织详细信息后,邀请团队成员,并使用应用顶部的组织切换器切换到组织上下文。
在继续操作之前,确认切换器显示的是你的组织名称。在个人账户中,用量、API keys 和额度归属于你的个人账户。在组织上下文中,它们归属于共享的组织账户。组织切换器是用量归属错误的常见来源。
计费权限取决于邀请时为用户分配的角色:
- Admins 可以购买额度并查看计费信息。
- Members 可以使用组织资源并创建 API keys,但无法购买额度或访问计费详情。
为共享额度池充值
在组织上下文中,从 billing page 购买额度。额度会进入一个共享池,组织内的每个 API key 都从中扣费,因此你只需在中心为团队充值一次,而不必为每位工程师单独充值。
如果你需要将现有的个人额度转入组织,请使用 额度页面上的转移选项。转移有资格规则(你账户上的双重身份验证、账户和会员的注册时长、近期购买的额度,以及转移之间的冷却期),因此如果暂时无法转移,页面会告诉你原因。按发票计费的组织无法接收转移。
第 2 步:使用预设来限定模型和提供商的范围
预设是一种可复用的配置,用于固定某个工作负载使用哪个模型和提供商。在组织账户上,预设会在所有成员之间共享。
创建预设
前往 预设设置,为每个工作负载路径创建一个预设,例如 support-bot、internal-search 或 eval-runner。
对于每个预设:
- 选择一个模型或一个回退模型数组。
- 使用
sort配置提供商路由偏好。 - 应用提供商包含/排除规则。
- 可选地设置
system、temperature和top_p。 - 使用一个稳定的 slug 保存。
预设是带版本的,每次保存都会指定为新的活动版本,API 请求会解析到该版本,同时保留版本历史,以便你可以回滚。请求级参数会浅覆盖预设值。
| 预设控制 | 功能说明 |
|---|---|
| 模型选择 | 将工作负载保持在预期的模型系列上 |
| 回退数组 | 在提供商或模型故障期间保持请求正常运行 |
| 提供商路由(排序) | 按延迟或成本路由,取决于你优先考虑哪一项 |
| 提供商包含/排除 | 将执行限制在已批准的提供商范围内 |
| 提示词与生成参数 | 保持输出风格和波动性一致 |
从代码中引用预设
通过三种方式引用预设:将其作为模型并配合 @preset/{slug},通过单独的 preset 字段,或作为 model@preset/{slug}。这三种方式都在服务端解析,因此同一个预设可从任何 SDK 使用。
const resp = await fetch('https://openrouter.ai/api/v1/chat/completions', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.OPENROUTER_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: '@preset/support-bot',
messages: [{ role: 'user', content: 'Summarize this ticket.' }],
}),
});当你通过 API 创建或更新预设时,只会存储配置字段,例如 model、temperature、top_p、provider、system 和 tools。诸如 messages、input、prompt 和 stream 这类临时字段会被忽略。
预设只会影响显式引用它的请求。如果你需要一种密钥无法绕过的模型限制,请改用第 4 步中的护栏模型允许列表。
第 3 步:通过限额与重置来限制每个密钥的支出
你可以为每个 API 密钥设置额度 limit 和 limit_reset,从而让每个工作负载按周期性计划获得新的额度。你通过 Management API 密钥来创建和管理这些密钥,该密钥仅用于密钥管理。
创建 Management API 密钥
前往 Management Keys 并点击 Create New Key。
管理 API 密钥用于处理管理操作,例如 /api/v1/keys 下的密钥管理和 /api/v1/guardrails 下的护栏管理。它无法调用补全端点,因此可以安全地用于配置系统和自动化流水线。用它为每个服务、环境或工程师创建一个密钥,从而让访问权限和支出按工作负载保持独立。
配置限额、重置和生命周期控制
通过 /api/v1/keys 创建或更新密钥时,你可以同时控制支出上限及其重置方式:
| 字段 | 它设置的内容 |
|---|---|
limit | 该密钥的额度上限 |
limit_reset | 每日、每周或每月(每日于 UTC 午夜重置) |
disabled | true 会立即禁用该密钥 |
include_byok_in_limit | BYOK 支出是否计入该限额 |
创建一个带有每日额度上限的密钥:
const res = await fetch('https://openrouter.ai/api/v1/keys', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.OPENROUTER_MANAGEMENT_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'support-bot-prod',
limit: 25,
limit_reset: 'daily',
}),
});更新密钥以收紧上限或更改重置周期:
const res = await fetch(`https://openrouter.ai/api/v1/keys/${keyHash}`, {
method: 'PATCH',
headers: {
Authorization: `Bearer ${process.env.OPENROUTER_MANAGEMENT_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ limit: 15, limit_reset: 'weekly' }),
});立即禁用一个密钥以停止支出或切断行为异常的工作负载:
await fetch(`https://openrouter.ai/api/v1/keys/${keyHash}`, {
method: 'PATCH',
headers: {
Authorization: `Bearer ${process.env.OPENROUTER_MANAGEMENT_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ disabled: true }),
});监控用量并自动化治理
每个密钥通过 usage、usage_daily、usage_weekly、usage_monthly、limit_remaining 字段及其 BYOK 对应字段报告各自的用量。你可以通过 cron 任务或后台 worker 轮询这些字段,并在密钥接近其上限时将其禁用。
limit 字段限制的是密钥,而不是个人。当你需要对某个成员名下的所有密钥统一执行限制时,请使用第 4 步中分配给成员的 guardrail。关于密钥轮换和密钥卫生,请参阅 API 密钥管理指南。
第 4 步:使用 guardrail 强制执行按成员的预算和模型允许列表
guardrail 在人员层面执行策略,无论某个成员创建了多少个 API 密钥。它将第 2 步的模型默认值和第 3 步的按密钥上限转化为成员无法绕过的硬性限制。只有组织管理员才能创建和管理 guardrail。
创建 guardrail
前往 Settings > Privacy,滚动到 Guardrails,然后点击 New Guardrail。
配置以下内容:
- 预算上限:设置一个美元上限,可按每日、每周或每月重置。超出上限的请求会被拒绝,并返回 403。
- 分配范围:分配给某个组织成员(覆盖其所有密钥和聊天会话),或分配给某个特定的 API key(在此基础上叠加一层额外限制)。每个用户或每个 key 只能直接分配一个护栏。
- 模型和提供商允许列表:仅允许列表中的模型和提供商。其他一切都会被阻止,即使某个 key 尝试请求也不行。将列表留空不勾选则允许全部。
- 可选安全控制:按模型组启用零数据保留(ZDR)、提示词注入和越狱检测、敏感信息(PII)脱敏或拦截,以及自定义正则内容过滤器。
使用资格预览在分配前查看实际生效的限制。
按成员预算的行为方式
护栏预算是按用户和按 key 分别执行的,不会在整个团队中共享。给 3 名成员各设置一个 $50/天的护栏,每个人都会获得各自的额度:Alice 达到 $50 后,她的请求会被阻止,而 Bob 和 Carol 各自仍拥有自己的 $50。某个成员在其所有 key 上的支出会累计为该成员的总支出。
当键级限制和成员级护栏同时生效时,以较低的限制为准。这就是仅靠键级限制无法提供的、针对每个成员的严格预算。
当多个护栏同时适用时,策略如何组合
| 层级 | 解析方式 |
|---|---|
| 模型和提供商允许列表 | 交集:仅允许所有规则都许可的内容 |
| 零数据保留(ZDR) | 按模型组取或 |
| 敏感信息管控 | 阻断优先于脱敏 |
| 预算 | 按用户和按键分别独立评估;以较低的限制为准 |
以编程方式管理护栏
你也可以通过 Management key 使用 PATCH /api/v1/guardrails/{id} 更新护栏:
curl -X PATCH https://openrouter.ai/api/v1/guardrails/$GUARDRAIL_ID \
-H "Authorization: Bearer $OPENROUTER_MANAGEMENT_KEY" \
-H "Content-Type: application/json" \
-d '{
"limit_usd": 50,
"reset_interval": "daily",
"allowed_models": ["anthropic/claude-sonnet-4.6", "openai/gpt-4o-mini"],
"allowed_providers": ["anthropic", "openai"]
}'允许列表采用精确的模型 slug,而非通配符,因此随着你的模型策略变化,它们需要持续维护。而且预算耗尽前没有任何警告。当请求被阻止时,用户只会收到一个 403。关于何时使用护栏、何时使用密钥级限制,请参阅管理团队 AI 支出。
第 5 步:在 Activity 仪表盘中查看团队支出
打开Activity,查看三张指标卡(Spend、Tokens 和 Requests)。设置时间段(1 Hour、1 Day、1 Week、1 Month 或 1 Year),然后按以下维度分组:
- Creator显示每位成员的支出。
- API Key将支出映射到你在第 3 步中设置了上限的工作负载。
- Model显示哪些模型消耗的预算最多。
在组织上下文中,Activity 信息流会显示所有成员的使用元数据,包括模型、成本和时序,并可按 API key 进行筛选。提示词和响应从不存储。你还可以通过 Options 下拉菜单选择 Export,并选择 CSV 或 PDF 来导出数据。
OpenRouter 在三个地方报告用量,它们回答的是不同的问题:
| 界面 | 用途 | 其中 |
|---|---|---|
usage 对象 | 每次 API 响应都附带按响应统计的 token 和成本数据 | API 响应体 |
usage_* 关键字段 | 单个密钥按时间窗口统计的合计 | GET /api/v1/key |
| 活动仪表盘 | 支出、Tokens、请求数;可分组并可导出 | openrouter.ai/activity |
活动页面中显示的 BYOK 支出是根据提供商标价估算的,可能与你的协商折扣有所不同。
验证你的设置
在把组织交给你的团队之前,请先运行以下四项检查:
- 通过预设(
@preset/{slug})发起一次调用,并确认响应中返回了usage.cost。每次响应都会自动包含usage对象。 - 确认受限密钥的
limit_remaining在通过GET /api/v1/key发起调用后下降。 - 发送一个违反护栏(超出预算或不在模型允许列表中)的请求,并确认它返回 403。
- 打开 Activity,按 Creator 分组,并确认支出映射到正确的成员。
当允许列表之外的请求返回 403,且 Activity 仪表盘按成员姓名显示每个人的支出时,设置即完成。
常见问题
我如何在 OpenRouter 上追踪整个团队的 AI 支出?
创建一个组织,让所有用量都计入一个共享的额度池,然后打开 Activity 仪表盘并按 Creator 分组,以按成员归属支出。在组织上下文中,活动流会显示每个成员的使用元数据(模型、成本、时间);提示词和响应不会被存储。
我可以为 OpenRouter API 密钥设置支出限额吗?
可以。当你通过 Management API 在 /api/v1/keys 创建或更新密钥时,设置一个 limit(额度上限)以及一个每日、每周或每月的 limit_reset。每日限额在 UTC 午夜重置。该限额限制的是该密钥,而不是持有该密钥的人,因此 5 个各为 $20 的密钥可让一名工程师每天支出 $100。
一个 OpenRouter 组织中可以有多少人?
组织默认成员上限为 10 人。如需更多成员,请联系支持团队。只有管理员可以购买额度或查看账单,而普通成员可以创建密钥并使用组织资源。所有组织密钥的用量都从同一个共享额度池中扣除。
组织成员能否看到彼此的用量?
可以,能看到用量元数据。在组织上下文中,活动动态会显示每位成员的模型、成本和时序数据,你可以按 API 密钥筛选,或按创建者分组,从而将支出归属到每个人。提示词和响应从不存储,因此该动态只包含支出和用量数据,不包含内容。
我能否限制团队可以使用哪些模型?
可以,有两种方式。预设会为通过 @preset/{slug} 引用它的流量设置默认模型或回退列表,但密钥可以跳过预设并直接调用任何模型。护栏模型允许列表则是对每个成员或每个密钥的硬性限制,任何超出允许列表的请求都会返回 403,无论预设如何。当你需要强制约束而不仅仅是默认值时,请使用护栏。
我能否限制某个人每天的支出上限?
可以。为组织成员分配一个护栏预算,每位成员都会获得各自的每日、每周或每月额度。当他们所有密钥的合计支出达到上限时,会被以 403 阻止。按密钥的限制约束的是密钥,而不是个人,因此若要实现真正的按人预算,请使用分配给成员的护栏。
使用 OpenRouter 需要付费吗?有最低消费要求吗?
不需要。按量付费没有最低消费,并且存在免费套餐。对于标准按量付费账户,购买额度时平台收取 5.5% 的手续费,我们不会在提供商定价上加价,因此目录价格就是模型成本。当前套餐层级和费用请参见 定价。
我如何查看我的 OpenRouter 使用情况?
你可以在三个地方查看使用情况。每个 API 响应都包含一个 usage 对象,其中带有 token 数量和成本。GET /api/v1/key 返回可按密钥查询的使用字段,你可以从代码中轮询获取。而 活动页面会显示支出、Token 和请求数,并支持分组以及 CSV 或 PDF 导出。
来源:OpenRouter:Announcements(RSS) · openrouter.ai