Skip to content

v1.3.0

Choose a tag to compare

@github-actions github-actions released this 21 Oct 00:31
8d4421d

可以给别人发客户端密钥了:每个密钥单独限到期、用量和模型,用量按密钥统计。Base URL 多写了 /v1 时,客户端能直接看到怎么改。

新增

  • 面板新增「密钥」页,管理客户端密钥:给别人用时建一个发过去,不用再把 api_key 发出去。
    • 客户端密钥只能调 /v1/*,登不了面板。api_key 改叫管理员密钥,照旧能登面板、调全部接口,不受下面这些限制。
    • 每个密钥可以停用、设到期时间、设每天(北京时间 00:00 重置)和总量的请求次数 / token / 积分上限、设模型白名单。
    • 白名单按经模型路由改写后实际发上游的模型名匹配,只认 * 通配;/v1/models 只列放行的模型。
    • 原文随时能复制、能重新生成;「接入方法」给出各客户端的填法。
  • 被拦下的请求按入口协议回错误并说明原因:
    • 停用、过期、删掉回 401;
    • 白名单外的模型回 403;
    • 到上限回 429,带 X-Should-Retry: false 让 SDK 别自动重试,每天的上限另带到 00:00 的 Retry-After。
  • 请求次数只算成功的请求:没号可用、上游报错的事后退还,号池出问题时客户端的自动重试不会把次数烧光。
  • 用量统计加密钥维度:
    • 用量页多了「按密钥」明细,可以按密钥筛,整页只算这个密钥的请求;
    • 请求记录多了「密钥」列,搜索也认密钥名;
    • 1.3.0 之前的数据显示为「未区分」。
  • 只要建过客户端密钥,/v1/* 就必须带有效密钥,api_key 为空也一样,免得白名单和上限一绕就过。api_key 为空时面板谁都能打开、看得到密钥原文,「密钥」页会提醒先设管理员密钥。
  • 密钥存在数据目录的 api_keys.json(0600),备份时记得带上。

修复

  • 请求发到 /v1/v1/...(客户端自己会拼 /v1,Base URL 又写了 /v1)时,网关回 400 并说明「Base URL 不要带 /v1」。以前回 404,Claude Code 收到 404 一律提示所选模型不存在或没有权限,看不出是地址写错了。Claude Code 的路径按 Anthropic 格式回,其余入口按 OpenAI 格式回;这类请求不校验密钥,也不打上游。

  • Docker 镜像:ghcr.io/yreidev/workbuddy2api-panel:1.3.0(同一镜像还有 1.3、1 标签)
  • 升级方法:见部署与运维
  • 校验:sha256sum -c --ignore-missing checksums.txt
  • 完整变更:v1.2.1...v1.3.0