OpenWebUi-用户与权限管理

3.3. 用户与权限管理

Open WebUI 提供了完善的多用户管理功能,适合团队协作使用。

用户注册与审批流程

默认行为

  • 第一个注册的用户自动成为管理员
  • 后续注册的用户状态为 “待激活”
  • 管理员需要手动激活用户

配置注册开关

管理员面板 → 设置 → 通用 → 身份验证

找到 “允许新用户注册” 开关:

image-20260213092217799

状态说明适用场景
开启任何人都可以注册,新用户角色由"默认用户角色"决定小团队、内网环境
关闭禁止注册,只能由管理员手动添加用户严格控制的企业环境

配置默认用户角色

在同一页面,找到 “默认用户角色” 下拉选择:

角色说明
待激活注册后无法使用系统,需要管理员手动激活(默认值)
用户注册后直接可以使用系统
管理员注册后直接成为管理员(不推荐)

配置默认权限组

你还可以设置 “默认权限组”,新注册的用户会自动加入该权限组,继承组的权限配置。

如果你的团队成员都是可信的,可以将默认角色设为 “用户”,这样注册后就能直接使用,无需审批。

手动添加用户

如果你关闭了注册功能,或者想要批量添加用户,可以使用手动添加功能。

步骤 1:进入用户管理

管理员面板 → 用户(Users)

步骤 2:添加单个用户

点击右上角的 “添加用户” 按钮,填写信息:

image-20260213092242263

字段说明示例
邮箱用户登录邮箱user@example.com
用户名显示名称张三
密码初始密码建议生成随机密码
角色用户角色User

点击 “创建” 完成添加。

步骤 3:通知用户

将登录信息(邮箱和密码)发送给用户,建议用户首次登录后立即修改密码。

批量导入用户(CSV)

如果需要添加大量用户,可以使用 CSV 批量导入功能。

步骤 1:准备 CSV 文件

创建一个 CSV 文件,格式如下:

1
2
3
4
email,name,password,role
user1@example.com,用户1,password123,user
user2@example.com,用户2,password456,user
user3@example.com,用户3,password789,admin

注意

  • 第一行是表头,必须包含这四个字段
  • role 可以是 useradminpending
  • 密码建议使用随机生成的强密码

步骤 2:导入

管理员面板 → 用户 → 点击 “导入用户” 按钮

选择你准备好的 CSV 文件,点击上传。

系统会显示导入结果,包括成功和失败的记录。

用户角色体系

Open WebUI 有三种用户角色:

角色权限适用对象
管理员完全控制权限,可以管理所有设置、用户、模型系统管理员、技术负责人
用户可以使用系统,创建对话,上传文档,但不能修改系统设置普通团队成员
待激活无法使用系统,等待管理员激活新注册用户

修改用户角色

管理员面板 → 用户 → 找到目标用户 → 点击角色下拉菜单 → 选择新角色

权限组管理

权限组功能允许你将用户分组,然后批量分配权限。

创建权限组

管理员面板 → 用户 → 权限组 → 点击 “创建权限组”

填写信息:

image-20260213092335260

字段说明示例
组名权限组名称开发团队
描述组的说明负责产品开发的团队成员

添加成员到权限组

创建权限组后,点击 “添加成员” 按钮,选择要添加的用户。

为权限组分配权限

权限组创建后,你可以:

  • 将特定模型的访问权限分配给权限组
  • 将知识库的访问权限分配给权限组
  • 将工具和函数的使用权限分配给权限组

这样,当你添加新成员到权限组时,他们会自动获得组的所有权限,无需逐个配置。

💡 系统默认有一个"默认权限"组,用于所有具有"用户"角色的用户。你可以点击进入修改默认权限。

我的权限组设计

我接入了大量模型(100+ 个),来源包括 AWS Bedrock、OpenAI、Google Gemini、GitHub Copilot、iFlow 代理、Moonshot 等多个渠道。不同渠道的成本差异很大,不能让所有用户无差别地使用全部模型。

我借助大模型分析了数据库中的模型列表和权限表结构,设计了三级权限组:

权限组定位可用模型数说明
试用组新用户体验13 个仅提供轻量级免费/低成本模型,功能受限(不可多模型对话、不可创建频道等)
正式组日常使用77 个拥有所有自有渠道模型的访问权限,功能完整
管理组管理员102 个(全部)在正式组基础上额外拥有高成本第三方渠道模型(GitHub Copilot、SciHub 镜像)

试用组可用模型(13 个)

只开放成本最低的轻量模型,让新用户体验基本功能:

  • Claude Haiku 4.5 系列(AWS 直连 + Kiro 通道)
  • Gemini 2.5 Flash / Flash Lite
  • GPT-5 Codex Mini / GPT-5.1 Codex Mini
  • Qwen3 Coder Flash
  • Kiro GPT-3.5/4/4o(旧模型,成本极低)

正式组额外可用模型(+64 个)

在试用组基础上,解锁所有自有渠道的中高端模型:

  • Claude Sonnet 4/4.5、Opus 4.5/4.6 全系列(含 Thinking、Agentic 变体)
  • Gemini 2.5 Pro、3 Pro/Flash Preview
  • GPT-5/5.1/5.2/5.3 全系列
  • DeepSeek V3/V3.1/V3.2、R1(通过 iFlow)
  • Qwen3 Max/235B/Coder Plus(通过 iFlow)
  • Kimi K2/K2.5(Moonshot 直连 + iFlow)
  • GLM 4.6/4.7/5(通过 iFlow)
  • MiniMax M2/M2.1(通过 iFlow)

管理组专属模型(+25 个)

这些模型走 GitHub Copilot 和 SciHub 镜像渠道,成本较高或属于特殊用途,仅管理员可用:

  • gh-* 系列(21 个):GitHub Copilot 高级模型,包括 gh-gpt-5.2、gh-claude-opus-4.6、gh-gemini-3-pro-preview 等
  • scihub.* 系列(4 个):SciHub Claude 镜像,包括 scihub.claude-opus-4-6、scihub.claude-sonnet-4-5-20250929 等

权限组的功能差异

除了模型访问权限,三个组在系统功能上也有区别:

功能试用组正式组管理组
多模型对话
创建频道/文件夹
知识库管理
工具/函数管理
图片生成
笔记功能
导入/导出模型
界面设置
临时对话强制✅(强制)

模型图标规范

为了让用户在模型列表中快速识别来源,我为每个模型统一配置了图标:

模型来源图标
Claude 系列claude-color.svg
OpenAI GPT 系列openai.svg
Gemini 系列gemini-color.svg
Qwen 系列qwen-color.svg
DeepSeek 系列deepseek-color.svg
Kimi 系列moonshot.svg
MiniMax 系列minimax-color.svg
GLM 系列zhipu-color.svg
Grok 系列grok.svg
Kiro(AWS 通道)aws-color.svg

图标统一使用 cdn.jsdelivr.net/npm/@lobehub/icons-static-svg@1.79.0/icons/ 的 SVG 资源。

批量配置方法

手动逐个配置 100+ 个模型的权限和图标不现实。我的做法是:

  1. 在 Open WebUI 管理面板导出模型列表(JSON 格式)
  2. 用大模型编写 Python 脚本,根据模型 ID 前缀和名称自动推断图标和权限组
  3. 脚本批量写入 access_grants(新版格式)和 meta.profile_image_url
  4. 将修正后的 JSON 重新导入 Open WebUI

这样每次上游新增模型或系统升级后,只需重新导出 → 跑脚本 → 导入,几分钟就能完成全部配置。

⚠️ 注意:Open WebUI 升级后数据库结构可能变化。例如从旧版升级到新版时,模型权限从 model 表的 access_control 字段迁移到了独立的 access_grant 表,导出格式也从 access_control 对象变成了 access_grants 数组。升级后建议先导出一份检查格式再操作。

用户活动监控

Open WebUI 提供了用户活动监控功能,帮助你了解系统使用情况。

查看活跃用户

管理员面板 → 设置 → 通用 → 找到 “显示活跃用户数” 选项

启用后,在主界面底部会显示当前活跃用户数和正在使用的模型。

查看用户详情

管理员面板 → 用户 → 点击用户名

你可以看到:

  • 创建的对话数量
  • 使用的模型统计

注意:Open WebUI 不会记录用户的具体对话内容,只记录统计信息,保护用户隐私。

image-20260213092922828