Venice API Keys 密钥管理
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/venice-api-keys-w0gk。
技能介绍
为什么需要集中管理 Venice API Keys
当服务需要接入 Venice 的推理、计费或管理能力时,API Keys 的生命周期管理会直接影响系统稳定性和安全。比如:新部署的应用需要快速签发独立密钥,同时设置消费上限避免意外超支;多用户场景下需要按角色分配权限,区分推理密钥和管理密钥;密钥泄露或过期时需要立即吊销并轮换,而非依赖手动改配置。传统做法中,这些操作往往分散在不同文档或脚本里,缺乏统一的操作入口和权限控制,容易出错。
这个技能如何帮你管理密钥
该技能通过一组 REST 端点封装了密钥管理的核心流程,支持以下操作:
- 创建密钥:
POST /api_keys生成新密钥,响应中仅包含一次明文秘密,需立即保存。可设置expiresAt(ISO 8601 格式)和consumptionLimit(USD/Diem 的 epoch 限额)。 - 查看与更新:
GET /api_keys列出所有密钥(仅显示后 6 位),PATCH /api_keys更新描述、过期时间或消费限额,GET /api_keys/{id}获取单个密钥的详细元数据和 7 天使用记录。 - 吊销密钥:
DELETE /api_keys?id=...立即生效,适合密钥泄露或用户流失时快速止损。 - 速率限制与监控:
GET /api_keys/rate_limits查看当前密钥的余额和各模型 RPM 上限,GET /api_keys/rate_limits/log拉取最近 50 次限流记录,用于调优并发策略。 - Web3 钱包集成:对于无 Venice 账号但持有 sVVV 的钱包用户,通过两步流程生成传统 Bearer 密钥:先
GET /api_keys/generate_web3_key获取 SIWE 令牌,再用钱包签名后POST验证,无需账户体系即可接入。
适用场景与关键约束
- 权限分离:
INFERENCE密钥仅能访问推理类端点(如/chat/*、/image/*)和自身速率限制查询,适合按应用或用户隔离;ADMIN密钥可管理其他密钥、查看计费余额和使用量,应严格限制在后端服务。 - 限额与配额:密钥创建受 20 次/分钟 和 500 个活跃密钥 限制,超额会返回 429。
consumptionLimit是按 epoch(如天)计算的累计上限,而非单次调用限制。 - 安全注意事项:密钥秘密仅在创建时返回一次,丢失需删除后重建;Web3 流程依赖钱包持有 sVVV,未持有时签名步骤会被拒绝;过期时间在创建时传空字符串表示永不过期,更新时传空字符串则移除已有过期设置。
- 监控集成:速率限制日志仅保留最近 50 条,调试突发流量时需频繁拉取;建议结合
GET /api_keys/{id}的使用记录构建实时监控面板。
使用场景
- 为每个客户创建独立 INFERENCE Key,并设置 `expiresAt` 与按 epoch 生效的 `consumptionLimit`。
- 客户流失或密钥泄露时,需要按 `id` 立即 `DELETE` 吊销对应 key。
- 排查限流时,需要读取 `/api_keys/rate_limits` 与 `/rate_limits/log` 获取余额和最近 50 次违规记录。
- 钱包持有 sVVV 但没有 Venice 账号时,通过两步 `generate_web3_key` 流程铸造 Bearer key。
适合人员
- 后端工程师:需要用 ADMIN Key 管理 Venice 的 Bearer key 生命周期。
- 平台运维:需要审计 key 使用量、余额和 rate-limit 违规记录。
- AI 应用开发者:需要给 leaf app 发放带消费上限的 INFERENCE Key。
- Web3 开发者:需要用持有 sVVV 的钱包铸造经典 API key。