令牌(API Key)管理
令牌 = 客户端持有的那把 sk-***,是唯一的身份证 + 钱包权限。所有对 API 的调用都要 Authorization: Bearer sk-你的-token 头。
创建一把令牌
控制台 → 令牌 → 新建令牌。
| 字段 | 说明 | 建议 |
|---|---|---|
| 名称 | 只用于自己识别 | 按用途起名:prod-claude、cline-dev、外包-张三 |
| 分组 | 这把 Key 会走哪一批渠道池 | 见 分组说明 |
| 剩余额度 | 这把 Key 独立的额度上限(单位 quota) | 生产 Key 建议留够 1 月消耗;试用 Key 建议低(比如 100000) |
| 无限额度 | 忽略令牌级上限,只受账户级钱包制约 | 只给自己完全信任的 Key 开 |
| 过期时间 | Unix 时间戳,-1 表永不过期 | 长期 Key 用 -1;临时 Key 建议设 30 天 |
| 模型限制 | 白名单列表(英文逗号分隔) | 只让这把 Key 调你需要的模型,防误用 |
| IP 白名单 | CIDR 列表,只有来源匹配的请求才被接受 | 服务器 Key 强烈建议加 |
保存后页面会显示完整的 sk-***。这是唯一一次能看到,关闭后只能看到脱敏后的前后缀。
关键
Key 就是钱。丢了 = 别人可以拿去替你烧钱。
- 只存到密码管理器或 secrets manager(Vault、AWS Secrets、doppler 等)
- 不要提交到 Git(用
.env,别忘.gitignore) - 不要粘到公共聊天 / 论坛 / GitHub issue
- 泄露了立刻在控制台禁用这把 Key(不是删除,禁用即秒失效)
查看已有令牌
控制台 → 令牌,能看到:
- 名称 / 状态 / 分组 / 已用额度 / 剩余额度 / 创建时间 / 最后使用时间
- 「查看密钥」按钮 → 需要密码二次确认 → 才会显示完整 Key
编辑 / 禁用 / 删除
| 操作 | 生效时机 | 备注 |
|---|---|---|
| 编辑(改分组、额度、白名单等) | 大约 60 秒内生效(受内存缓存影响) | 改完立即测试 |
| 禁用 | 即时生效 | 已经在路上的请求继续跑完;新请求全部 401 |
| 删除 | 即时;不可撤销 | 相关调用日志保留但显示为脱敏 |
别删,禁用就够
生产 Key 建议只禁用不删除——历史账单和日志的关联性更清晰。
Key 使用限速与并发
- 单 Key 默认无并发上限
- 单 Key 默认无 RPM/TPM 上限
- 系统级 速率限制 依然生效
需要给某把 Key 单独设并发/QPS 上限的,联系管理员。
命名与治理建议
给一个团队规模用的建议:
- 每个人/每个应用/每个环境一把独立 Key(
app-{svc}-{env}) - 每把 Key 挂尽可能小的模型白名单
- 服务器 Key 必须绑定 IP 白名单
- 定期轮转:每 90 天新建 Key、切换、旧 Key 观察 7 天后禁用
- 用账单标签追踪:从名称就能看出哪个业务在烧钱
- 日志留档:至少每周导出一次调用日志到自己的存储
常见问题
Q: 我 Key 里已经 hardcoded 到客户端了,怎么无缝换?
A: 新建一把 Key → 客户端换新 Key → 观察 24-72 小时无异常 → 禁用旧 Key。
Q: 一把 Key 能同时归属多个分组吗?
A: 不能。一把 Key 一个分组。要用不同分组建多把。
Q: 我限了模型白名单,Key 调白名单外的模型会怎样?
A: 返回 model_not_allowed_by_token(400),扣费 0。