Skip to content

[Feature]: 支持为批量 OAuth 账号可视化配置排除模型 #404

Description

@3215115794

影响页面 / 模块

认证文件 / 配额 / 巡检

使用场景

我在 CPA 中配置了多个同一 Provider 的 OAuth 账号。不同账号支持的模型、额度或使用策略不同,因此需要只禁止某个账号承接特定模型,同时不影响同一 Provider 下的其他 OAuth 账号。
此外,经常需要选择一组账号,为它们添加相同的模型禁用规则。例如选中一批低额度账号,统一禁止使用高成本模型。
CLIProxyAPI 已支持在单个认证 JSON 中通过 excluded-models / excluded_models 设置账号级模型排除规则,但 CPA Manager Plus 当前没有对应的可视化配置入口。

当前痛点

CPA Manager Plus 当前的“OAuth 排除模型”属于 Provider 全局配置,会影响该 Provider 下的所有 OAuth 账号。
如果只限制某一个账号,目前必须下载包含 Token 的认证 JSON,手动添加 excluded-models,再使用原文件名重新上传或粘贴完整 JSON。
账号较多时还需要逐个重复操作。这种方式不直观、容易遗漏,并存在误改认证字段、JSON 格式错误、覆盖错误文件以及敏感 Token 暴露的风险。
当前单个认证文件的编辑窗口只能修改前缀、代理、优先级、请求头等字段,无法配置 excluded-models。

期望方案

希望在“认证文件”页面增加账号级排除模型的可视化配置,并同时支持单账号编辑、从“支持模型”列表选择以及批量账号设置。

一、单账号配置

  1. 在单个 OAuth 账号或认证文件的编辑窗口中增加“排除模型”字段;
  2. 支持手动输入模型名称;
  3. 支持 * 通配符,例如 gpt-5.-mini;
  4. 读取时兼容 excluded-models 和 excluded_models;
  5. 保存时统一使用 excluded-models;
  6. 明确显示账号级规则与 Provider 全局规则的合并关系;
  7. 保存时只更新排除模型字段,不改变 Token、代理、前缀、优先级、请求头等原有字段。

二、通过“支持模型”列表配置

  1. 在单个账号现有的“支持模型”弹窗中增加“配置排除模型”或“管理禁用模型”入口;
  2. 在每个模型前显示复选框或“允许/禁用”开关;
  3. 支持搜索、全选当前筛选结果、取消选择和仅查看已禁用模型;
  4. 区分“账号禁用”和“Provider 全局禁用”,使用不同的状态标识;
  5. 对列表中没有出现的模型,仍允许手动输入模型名称或通配符;
  6. 保存前预览新增、移除及保持不变的规则;
  7. 保存后立即刷新该账号的“支持模型”列表。

三、批量账号配置

  1. 在认证文件列表中支持多选账号;
  2. 提供“批量设置排除模型”操作;
  3. 可以从统一的“支持模型”列表中勾选需要为所选账号禁用的模型;
  4. 支持追加、移除和替换三种模式:
    • 追加:保留各账号原有配置并添加本次规则;
    • 移除:只移除本次指定的规则;
    • 替换:使用本次配置覆盖各账号原有排除规则;
  5. 对配置不一致的模型显示三态:全部已禁用、部分已禁用、全部未禁用;
  6. 如果选择了不同 Provider 的账号,按 Provider 分组展示模型;
  7. 保存前显示受影响账号数量、文件名和逐账号变更预览,并进行二次确认;
  8. 批量操作完成后显示逐账号成功或失败结果;
  9. 单个账号失败不影响其他账号,并支持重试失败项;
  10. 如果一个认证文件对应多个运行时账号,应提示实际修改范围。

关注的数据维度

  • API Key / 调用方
  • AI 提供商 / Provider
  • 模型
  • 认证文件 / Auth File
  • 账号
  • 项目 / Project
  • 时间范围
  • 成本
  • Token / 用量
  • 配额 / Quota
  • 失败原因 / 错误类型
  • 不涉及这些维度

期望验收结果

  1. 可以为单个 OAuth 账号添加、修改和删除排除模型;
  2. 可以直接在单账号“支持模型”列表中选择需要禁用的模型;
  3. 可以多选账号并批量配置相同的排除规则;
  4. 批量操作支持追加、移除和替换;
  5. 修改只影响选中的账号,不影响未选账号;
  6. 支持精确模型名称和 * 通配符;
  7. 能正确读取 excluded-models 和 excluded_models;
  8. 界面能够区分账号级禁用和 Provider 全局禁用;
  9. 多账号配置不一致时能够显示部分选中的中间状态;
  10. 保存前可以预览每个账号的变化;
  11. 保存时不改变认证文件中的其他字段和敏感凭据;
  12. 单个账号保存失败不影响其他账号,并显示逐项结果;
  13. 保存后“支持模型”列表立即反映最新状态;
  14. 全程不需要下载或手动编辑包含 Token 的认证 JSON。

需求优先级

中等:明显提升体验

补充信息

CLIProxyAPI 底层已经支持从 OAuth 认证文件元数据读取单账号排除模型,该需求主要是补充 CPA Manager Plus 的可视化配置入口。
单账号 excluded-models 读取逻辑:
https://github.com/router-for-me/CLIProxyAPI/blob/main/internal/watcher/synthesizer/file.go
账号规则与全局 OAuth 规则合并逻辑:
https://github.com/router-for-me/CLIProxyAPI/blob/main/internal/watcher/synthesizer/helpers.go

检查清单

  • 我已经搜索过现有 Issues,没有找到重复需求

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions