From 9af7b98f178a022190d98a331de61e87b50c13d0 Mon Sep 17 00:00:00 2001 From: Codex Date: Thu, 8 Oct 2026 21:53:19 -0700 Subject: [PATCH] feat(litellm): enable OAuth models and AI Studio aliases --- servers/tools-pve/litellm/README.md | 19 +++++++++++-------- servers/tools-pve/litellm/models.yaml | 7 +++++-- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/servers/tools-pve/litellm/README.md b/servers/tools-pve/litellm/README.md index 28bf99f..ad4d427 100644 --- a/servers/tools-pve/litellm/README.md +++ b/servers/tools-pve/litellm/README.md @@ -5,9 +5,10 @@ 2026-10-09:已通过 Arcane 上线,LiteLLM 1.104.2 与 PostgreSQL 均 healthy。 UI HTTP 200;应用 virtual key 的 OpenRouter MiMo 请求返回 OK。 ZenMux Sonnet 5.5 原生 Messages 正常;重复请求证实写入与读取 -21,502 prompt-cache tokens。Codex/xAI OAuth 模块检查通过,但尚未独立授权。 -PAYG key 的 Claude 请求被上游拒绝;该线路未通过验收,普通客户端 key 不允许使用。 -Google AI Studio key 尚未取得;latest 自动维护尚未实现。 +21,502 prompt-cache tokens。Codex/xAI 已独立授权,SDK 原生请求验证 +Luna、Sol 6.1 和 Grok 4.7 返回 OK。用户更新后的 PAYG key 原生 Claude 请求 HTTP 200。 +Google AI Studio key 模型目录 HTTP 200,使用上游提供的三个 latest 别名。 +本项目对其他模型的自动 latest 维护尚未实现。 - Environment:`ff859844-8393-4f87-8caf-054df735a65d`。 - Project:`06052b47-f640-4e23-968d-bfc25a8a6e7a`,名称 `tools-litellm`。 @@ -55,7 +56,7 @@ Claude 客户端优先使用原生 `/v1/messages`,保留 `cache_control`、 开放模型优先经 OpenRouter;首版 `models.yaml` 来自实际 provider 目录。 `latest` 目前只是手动维护的稳定别名,没有自动追踪新版本。 -Google AI Studio 预留独立 key 与模型表;取得有效 key 后查询目录再添加, +Google AI Studio 使用独立 key 与模型表,已实际查询模型目录, 不把 Google OAuth/ADC 当成 AI Studio API key。 ## 密钥 @@ -66,8 +67,8 @@ ZenMux subscription/PAYG 的 key 需要明确确认用途,不能按外观推 `LITELLM_MASTER_KEY` 以 `sk-` 开头,salt 独立随机生成。 UI 使用数据库管理员 `kai@litellm.local`(只是登录标识,不发送邮件), 设置 `disable_env_credential_login: true`,禁用 UI_PASSWORD 以及 master key 的网页登录。 -临时密码保存在 .145 的 `.secrets/tools-litellm-ui-login.env`(0600); -首次登录必须修改,修改后该文件的临时密码不再有效。数据库保存密码哈希。 +用户已修改首次临时密码,临时文件已删除。数据库保存密码哈希, +用户的新密码不写入环境变量,也不由 Agent 保存。 master key 仍能管理 API,用于恢复权限,不再充当网页登录密码。 不能直接用这份配置初始化空库后期待默认 admin 登录:必须预先通过 `/user/new` 建立管理员,再 `/user/update` 设置临时密码,随后启用限制。 @@ -102,9 +103,11 @@ bash oauth-login.sh xai 登录 helper 使用 host network 仅供本地 OAuth 回调,生产代理仍使用独立 bridge。 确认账号实际支持的模型 ID 后,在 `models.yaml` 的 `chatgpt`/`xai` 表添加别名。 -已预置的 OAuth 候选为 gpt-luna-latest/gpt-sol-latest/grok-latest, -只是先前 Hindsight 使用过的模型,不代表本代理独立账号已授权。 +OAuth 映射为 gpt-luna-latest -> gpt-6-luna、gpt-sol-latest -> gpt-6.1-sol、 +grok-latest -> grok-4.7,独立账号目录与 SDK 请求均已验证。 Codex 路线由 `chatgpt/` 访问,优先 `/v1/responses`; +使用消息列表形式的 input 和 stream=true,按 SSE 读取到 response.completed。 +实测直接给字符串 input 会被 Codex backend 拒绝;不要把已授权误写成协议完全兼容。 xAI 路线使用 `xai/` 与 `use_xai_oauth: true`,不能设置 XAI API key 覆盖它。 新增 token 后需重启代理,运行时 refresh 会写回同一个持久卷。 diff --git a/servers/tools-pve/litellm/models.yaml b/servers/tools-pve/litellm/models.yaml index a82adcc..811f47a 100644 --- a/servers/tools-pve/litellm/models.yaml +++ b/servers/tools-pve/litellm/models.yaml @@ -9,11 +9,14 @@ openrouter: glm-latest: z-ai/glm-5.3-prime kimi-latest: moonshotai/kimi-k3 mimo-flash-latest: xiaomi/mimo-v2.6-flash -google_ai_studio: {} +google_ai_studio: + gemini-flash-latest: gemini-flash-latest + gemini-flash-lite-latest: gemini-flash-lite-latest + gemini-pro-latest: gemini-pro-latest # 已有 Hindsight 部署用过的候选模型;本代理仍需独立授权与请求验收。 # renderer 在实际 token 出现前排除这些路线。 chatgpt: gpt-luna-latest: gpt-6-luna - gpt-sol-latest: gpt-6-sol + gpt-sol-latest: gpt-6.1-sol xai: grok-latest: grok-4.7