Skip to content

[Bug] 编辑用户时分组框只列出 GroupRatio 中的分组,无法设置只在分组规则中定义的用户分组 #8238

Open

Description

@whiletrue0x

提交前必读

  • 文档:https://docs.newapi.ai/
  • 使用问题先看或先问:https://deepwiki.com/QuantumNous/new-api
  • 开启透传请勿反馈问题;透传会直接发送内容,不会经过 new-api 的逻辑处理。
  • 请以简练语言陈述事实与证据。Issue 正文及后续评论均不得直接粘贴未经人工过滤的大段 AI 文本。
  • 转发类问题必须先确认问题发生在 new-api 这一层:请使用等价的脱敏请求分别直连上游和经过 new-api,对比响应状态、错误体与服务端日志。未经对比、仅展示上游报错的反馈不接受 issue。
  • 不接受 Coding Plan、逆向渠道、第三方封装接口,以及将 Codex 接口反代为通用 API 后产生的兼容性问题;Codex API 自身特有的协议或行为也不应被当作标准 OpenAI API 行为,相关问题请先向渠道或接口提供方确认。
  • 本项目不提供官方托管服务,也不为第三方托管站、中转站或 API 服务提供技术支持;此类问题请联系对应运营方。
  • 警告:删除本模板、删除小节标题或随意清空内容的 issue,可能会被直接关闭;多次提交未经人工过滤的大段 AI 文本,或重复恶意提交者,可能会被 block。

部署来源

本仓库 Release / 官方镜像(自行部署)

您当前的 newapi 版本

v1.0.0-rc.48(官方镜像 calciumion/new-api:v1.0.0-rc.48);main e03439033238722c0b8d4437a052445f3aeeed83 同样存在

提交确认

  • 非重复 issue: 我已搜索现有 Issues,确认目前没有类似 issue。
  • 提交前必读: 我已完整阅读上方“提交前必读”,并已查看文档 https://docs.newapi.ai/、项目 README 且向 AI 提问,确认这不是使用、配置或接入类问题。
  • 受支持版本: 我已提供准确的版本号、commit 或镜像标签(不是 latest 或 unknown),并确认问题可在本仓库未修改的受支持版本中复现。
  • 非第三方服务: 我确认这不是第三方托管站、中转站、API 服务或未经本仓库原版验证的 fork 所独有的问题;第三方实例问题应联系其运营方。
  • 非透传: 我确认相关渠道未开启透传。开启透传会直接发送内容,不会经过 new-api 的逻辑处理,此类问题不接受 issue。
  • 问题归属: 我已提供足以区分客户端、new-api 和上游的证据;转发问题已使用等价的脱敏请求对比直连上游与经过 new-api 的结果,确认错误由 new-api 引入或改变,而非仅原样转发上游报错。
  • 渠道与协议边界: 我确认问题不是由 Coding Plan、逆向渠道、第三方封装接口、Codex 反代接口,或 Codex API 自身特有行为导致;若问题最初出现于此类接口,我已在本仓库支持的标准 API 协议上复现。
  • 维护成本: 我理解项目维护者精力有限。Issue 正文及后续评论均不得直接粘贴未经人工过滤的大段 AI 文本,须先提炼可复核的要点;不遵循模板要求或缺少要点、无法复核的内容可能会被无视或直接关闭。多次提交此类内容可能会被 block。

问题描述

实际现象:「系统设置 → 计费 → 分组定价」可以在「特殊倍率规则」里添加用户分组(如 company-a,存进 GroupGroupRatio),在「特殊可见性规则」里给它配可见分组(group_special_usable_group),不需要把它加进 GroupRatio。但「用户管理 → 编辑用户」的分组框只列 /api/group/ 返回的 GroupRatio 键,而且不能手填,管理员没法把用户放进 company-a;在框里输入 company-a 再保存,PUT /api/user/ 提交的仍是原来的分组。

影响范围:管理员只能绕过界面直接调 PUT /api/user/;或者把 company-a 也加进 GroupRatio,这样它会出现在该分组用户创建令牌时的分组下拉框里(GetUserGroups 列出在 GroupRatio 中且对用户可用的分组,用户自己的分组总是可用)。

发生频率:每次把用户放进只在规则里定义的用户分组时都会出现。

判断问题位于 new-api 的依据:纯管理后台问题,不涉及客户端和上游。controller/group.go 的 GetGroups 只返回 GroupRatio 的键;web/src/features/users/components/users-mutate-drawer.tsx 的分组 Combobox 没开 allowCustomValue;后端 UpdateUser 接受任意分组名。

前端:页面 /users 编辑用户抽屉;Chromium(Claude desktop app 内置浏览器);默认主题;Console / Network 无报错,只是请求体里的 group 是旧值。

说明:#8234 是同一个问题,按 .agents/github/ISSUE.md 写的,被机器人以未使用表单关闭,这里按表单重提。

复现步骤

  1. 系统设置 → 计费 → 分组定价 → 特殊倍率规则 → 添加用户分组 company-a,给 default 配一个倍率,保存;不把 company-a 加进 GroupRatio。
  2. 用户管理 → 编辑任一普通用户 → 「分组」框:列表里没有 company-a;框里输入的文字只用来搜索,不能作为分组保存。
  3. 在 main 上用单测复现:/api/group/ 返回 ['default','vip'],在分组框输入 company-a 回车后保存,PUT /api/user/ 的请求体是 "group": "default"。

预期结果

管理员可以在编辑用户时把用户放进 company-a 这类只在规则里定义的用户分组,保存后用户分组为 company-a;分组不能被保存为空。

相关截图

修复后的截图见 #8235。

Activity

  1. new-api-reviewer-bot commented on Nov 6, 2026

    @new-api-reviewer-bot

    [Bot Review]

    感谢提交 issue,问题描述清晰,并包含了详细的复现步骤。我们会关注此问题。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions