songquanpeng / one-api

OpenAI 接口管理 & 分发系统,支持 Azure、Anthropic Claude、Google PaLM 2 & Gemini、智谱 ChatGLM、百度文心一言、讯飞星火认知、阿里通义千问、360 智脑以及腾讯混元,可用于二次分发管理 key,仅单可执行文件,已打包好 Docker 镜像,一键部署,开箱即用. OpenAI key management & redistribution system, using a single API for all LLMs, and features an English UI.
https://openai.justsong.cn/
MIT License
19.32k stars 4.32k forks source link

BUGFIX: 更新令牌时的一些问题 #1933

Open Laisky opened 2 days ago

Laisky commented 2 days ago

问题

  1. 如果 token 的状态为 TokenStatusExpiredTokenStatusExhausted,更新 token 的过期时间或余额也无法重新激活 Token
  2. Token 的余额(RemainQuota)实际上无法被编辑,点击保存后其实不会更新数据库

复现方式

问题 1

将某个 Token 的余额耗尽,直到 API 出现 额度已用尽 的提示后,更新余额,也无法重新再激活 Token。

问题 2

编辑 token 余额然后再刷新就会发现,token 的余额不会变化

修复

编辑 Token 时,同步更新 Token 的 StatusRemainQuota

一些其他的修复

顺手跑了下 gofmt,还补上了漏掉的几个 claude 模型和价格。

隐患

当初设计 UpdateToken 这个接口的时候,没有更新 StatusRemainQuota 是否有什么特殊的考量?

codecov[bot] commented 2 days ago

Codecov Report

Attention: Patch coverage is 0% with 22 lines in your changes missing coverage. Please review.

Project coverage is 1.21%. Comparing base (6ab87f8) to head (423c119).

Files with missing lines Patch % Lines
controller/token.go 0.00% 18 Missing :warning:
relay/adaptor/ollama/main.go 0.00% 3 Missing :warning:
monitor/manage.go 0.00% 1 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #1933 +/- ## ======================================== - Coverage 1.21% 1.21% -0.01% ======================================== Files 145 145 Lines 12281 12296 +15 ======================================== Hits 149 149 - Misses 12118 12133 +15 Partials 14 14 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


🚨 Try these New Features: