Open-WebUI 管理员面板深度拆解与配置指南
Open-WebUI 管理员面板配置,涵盖用户权限管理、模型接入(OpenAI/Ollama)、RAG 文档处理、代码执行引擎及语音图像功能设置。通过梳理身份验证、外部连接、知识库集成等核心模块,帮助开发者构建安全高效的 AI 管理后台,实现多模型调度与自动化任务编排。

Open-WebUI 管理员面板配置,涵盖用户权限管理、模型接入(OpenAI/Ollama)、RAG 文档处理、代码执行引擎及语音图像功能设置。通过梳理身份验证、外部连接、知识库集成等核心模块,帮助开发者构建安全高效的 AI 管理后台,实现多模型调度与自动化任务编排。

在上一篇部署文章中,我们完成了从零搭建 AI 对话平台的'基建工程'——无论是 Linux 还是 Windows 环境,你都能一键部署 Open-WebUI,开启与 AI 的交互之旅。但真正的'魔法',始于你登录系统后的第一眼界面。
作为一款开源 AI 对话平台,Open-WebUI 以极简的设计隐藏了强大的功能架构。整个界面可划分为五大核心功能区:

本文将作为《Open-WebUI 五大功能区深度解析》系列的首篇,结合 2025 年最新版本的功能升级,手把手拆解管理员面板,助你从'能用'进阶到'敢用',打造安全、高效、可扩展的 AI 管理后台。

添加用户: 支持手动添加和 CSV 文件导入

该权限组主要是管理用户角色的用户权限,所有的用户角色会有一组默认的权限


竞技场评估是 Open-WebUI 的'模型质检中心',通过自动化对抗与量化分析,它能将抽象的模型能力转化为直观的决策依据。无论是新模型上线前的性能验证,还是生产环境中多模型的动态优化,这一功能都能通过自动化对抗测试与量化评估,帮你精准把控模型表现,避免'人工盲目调优'的陷阱。
**使用方式:**在聊天过程中,如果您喜欢某个回复,点击竖起大拇指,如果您不喜欢,点击向下大拇指。

Open-WebUI 的官方说明是:

函数与工作空间中的工具模块是类似的,属于 Open-WebUI 的增强扩展功能,我们放到工作空间部分一起讲解。


外部连接是 Open-WebUI 与外部/内部大模型连接的核心枢纽,分为与外部大模型连接的 OpenAI API 配置和与内部(本地)大模型连接的 Ollama API 配置。
URL: API 端点地址;例:针对硅基流动的文档说明,配置 /chat/completions 前面的部分 https://api.siliconflow.cn/v1,因为 Open-WebUI 在聊天请求 URL 上默认加 /chat/completions

配置画面: 如图

**注:**配置完后,点击'循环按钮'进行验证,验证通过会出现下图 1 提示,验证不通过会出现下图 2 提示;如果出现错误提示,请检查配置是否正确,如果都正确还是报错误提示,说明 Open-WebUI 暂时不兼容该云端平台;


功能定位: 通过 OpenAI 官方 API 或兼容接口(如硅基流动、DeepSeek、讯飞星火等)接入 GPT-4、DeepSeek-R1 等云端模型;如下图:成功接入了硅基流动、DeepSeek、讯飞星火等云端服务;

配置画面: 如图

功能定位: 管理本地部署的开源模型(如 LLaMA 3、DeepSeek-R1 等)


提示词建议: 给模型添加默认提示词模版;效果如下:

模型编辑: 对模型配置扩展属性;


添加竞技场模型: 因考虑到模型评价功能有热点倾向,不太公平;故可添加竞技场模型,选中几种模型(图中选中三个),在使用这个新增模型时,会随机选择模型回答,此时看不到具体的模型,这样评价更具有公平性;


| 引擎 | 技术原理 | 优势场景 | 限制条件 |
|---|---|---|---|
| 默认 | 基于 Python 标准库解析文本,支持 PDF、DOCX、TXT 等常见格式 | 轻量快速,适合基础文档处理 | 无法处理复杂表格、扫描件图像文字提取 |
| Tika(推荐) | 通过 Java 服务解析 1500+ 种文件格式,支持 OCR 和元数据提取 | 企业级文档处理(如扫描件、邮件存档) | 需部署独立 Tika 服务器,资源消耗较高 |
| Document Intelligence | 微软 Azure 认知服务,提供结构化数据提取(如发票字段、合同条款) | 合规性敏感场景(金融、法律文档解析) | 依赖云端 API,存在数据出境风险 |
注: Tika 服务部署,请使用以下命令
docker run -d --name tika -p 9998:9998 --restart unless-stopped apache/tika:latest-full
| 参数 | 定义 | 计算公式 | 企业级配置示例 |
|---|---|---|---|
| 分切模式 | 默认(字符):按固定字符长度切割 | ||
| Token(Tiktoken):基于模型分词器(如 LLaMA、BGE)的语义边界切割 | Token 数 = 块大小 / 平均中文字符长度(≈2) | 中文场景优先选择 Token 分切 | |
| 块大小 | 单个文本块的最大长度,需 ≤ 语义向量模型支持的 Max Tokens(如 bge-m3 支持 8192) | - | 中文模型推荐 512-1024 |
| 块重叠 | 相邻块之间的重叠量,用于保留上下文关联性 | 块大小 × 10%~20% | 块大小 1024 → 重叠 100-200 |
| 引擎类型 | 技术栈 | 典型模型 | 延迟/成本 |
|---|---|---|---|
| Ollama | 本地部署,支持私有化向量模型 | bge-m3、nomic-embed-text、Conan-embedding | 低延迟,硬件资源消耗高 |
| SentenceTransformers | Hugging Face 模型库,会到下载到本地 cache 目录 | all-MiniLM-L6-v2、multilingual-e5 | 下载依赖网络带宽,建议手动下载后放到 cache 目录中 |
| OpenAI | 云端 API 服务 | text-embedding-3-small/large | 高延迟,按 Token 计费 |
语义向量模型: 根据语义向量模型引擎选择填写
嵌入层批处理大小: 一次性使用向量模型处理文档的数量大小;
完整上下文模式: 是否将整篇文档都发送给大模型(会有 Token 消耗过大和大模型不支持过多 Token 的风险,一般是在极小文档场景下使用);
混合搜索: 是否开启重排模型;重排模型作用:对语义检索结果的 Top K 条目进行二次排序,解决以下问题:
重排模型: 重排模型名称,与上述 SentenceTransformers 模式一致,建议手动下载;
OpenAI: 比如使用硅基流动的 BAAI/bge-m3 向量(嵌入)模型,配置如下:


注: 如果修改了语义向量模型,则需要重新导入所有文档(重置向量存储/知识)。
SentenceTransformers: 如自己手动下载到本地,务必放到容器内的 /app/backend/data/cache/embedding/models 目录下且以 models-- 命令开头;

Ollama: 比如 Ollama 下载了这几个模型,直接使用 bge-m3:latest 即可


修改 Open-WebUI 配置: 进入 Open-WebUI 内容器的 /app/backend/open_webui 目录下,修改 config.py 文件;

创建 Google OAuth 客户端: https://support.google.com/cloud/answer/6158849?hl=en;


支持丰富的搜索引擎,请参考 官方文档;

Jupyter: 需配置 Jupyter Notebook 服务以实现完整代码执行能力;
优势:支持复杂计算、文件操作及第三方库调用;
注: Jupyter 服务部署,请使用以下命令
docker run -p 8888:8888 swr.cn-north-4.myhuaweicloud.com/ddn-k8s/quay.io/jupyter/tensorflow-notebook:cuda-latest
启用代码执行器: 是否启用代码执行器;不启用,将隐藏运行按钮;

代码解释器提示词模板: 预置的提示词模板用于规范 AI 生成代码的格式与交互逻辑;示例模版:
def user_code(): {user_input} # 用户代码占位符 result = user_code() print(result)
启用代码解释器: 是否启用代码解释器;不启用,将隐藏代码解释器按钮;


工具函数调用提示词: 用于根据对话内容检测是否需要调用工具和函数功能;它的默认模版为:
Available Tools: {{TOOLS}} Your task is to choose and return the correct tool(s) from the list of available tools based on the query. Follow these guidelines: - Return only the JSON object, without any additional text or explanation. - If no tools match the query, return an empty array: { "tool_calls": [] } - If one or more tools match the query, construct a JSON response containing a "tool_calls" array with objects that include: - "name": The tool's name. - "parameters": A dictionary of required parameters and their corresponding values. The format for the JSON response is strictly: { "tool_calls": [ {"name": "toolName1", "parameters": {"key1": "value1"}}, {"name": "toolName2", "parameters": {"key2"
用于生成图像提示词的提示词: 用于根据对话内容检测是否需要生成图像功能;它的默认模版为:
### Task: Generate a detailed prompt for am image generation task based on the given language and context. Describe the image as if you were explaining it to someone who cannot see it. Include relevant details, colors, shapes, and any other important elements. ### Guidelines: - Be descriptive and detailed, focusing on the most important aspects of the image. - Avoid making assumptions or adding information not present in the image. - Use the chat's primary language; default to English if multilingual. - If the image is too complex, focus on the most prominent elements. ### Output: Strictly return in JSON format: { "prompt": "Your detailed description here." } ### Chat History: <chat_history> {{MESSAGES:END:6}} </chat_history>
输入框内容猜测补全: 是否开启输入框内容自动补全功能;

查询生成提示词: 用于根据对话内容检测是否需要进行联网搜索功能;它的默认模版为:
### Task: Analyze the chat history to determine the necessity of generating search queries, in the given language. By default, **prioritize generating 1-3 broad and relevant search queries** unless it is absolutely certain that no additional information is required. The aim is to retrieve comprehensive, updated, and valuable information even with minimal uncertainty. If no search is unequivocally needed, return an empty list. ### Guidelines: - Respond **EXCLUSIVELY** with a JSON object. Any form of extra commentary, explanation, or additional text is strictly prohibited. - When generating search queries, respond in the format: { "queries": ["query1", "query2"] }, ensuring each query is distinct, concise, and relevant to the topic. - If and only if it is entirely certain that no useful results can be retrieved by a search, return: { "queries": [] }. - Err on the side of suggesting search queries if there is **any chance** they might provide useful or updated information. - Be concise and focused on composing high-quality search queries, avoiding unnecessary elaboration, commentary, or assumptions. - Today's date is: {{CURRENT_DATE}. - Always prioritize providing actionable and broad queries that maximize informational coverage. ### Output Strictly return in JSON format ### Chat History <chat_history> MESSAGESEND </chat_history>
标签生成: 是否开启对话标签自动生成功能;它的默认模版为:
### Task: Generate 1-3 broad tags categorizing the main themes of the chat history, along with 1-3 more specific subtopic tags. ### Guidelines: - Start with high-level domains (e.g. Science, Technology, Philosophy, Arts, Politics, Business, Health, Sports, Entertainment, Education) - Consider including relevant subfields/subdomains if they are strongly represented throughout the conversation - If content is too short (less than 3 messages) or too diverse, use only ["General"] - Use the chat's primary language; default to English if multilingual - Prioritize accuracy over specificity ### Output: JSON format: { "tags": ["tag1", "tag2", "tag3"] } ### Chat History: <chat_history> {{MESSAGES:END:6}} </chat_history>
设置任务模型: 用于对话标题和 Web 搜索查询生成等任务的默认模型设置;它的默认模版为:
### Task: Generate a concise, 3-5 word title with an emoji summarizing the chat history. ### Guidelines: - The title should clearly represent the main theme or subject of the conversation. - Use emojis that enhance understanding of the topic, but avoid quotation marks or special formatting. - Write the title in the chat's primary language; default to English if multilingual. - Prioritize accuracy over excessive creativity; keep it clear and simple. ### Output: JSON format: { "title": "your concise title here" } ### Examples: - { "title": "📉 Stock Market Trends" }, - { "title": "🍪 Perfect Chocolate Chip Recipe" }, - { "title": "Evolution of Music Streaming" }, - { "title": "Remote Work Productivity Tips" }, - { "title": "Artificial Intelligence in Healthcare" }, - { "title": "🎮 Video Game Development Insights" ### Chat History <chat_history> MESSAGESEND </chat_history>
默认提示词建议: 用于开启新会话时,默认提示词模版建议,效果如下:


公告横幅: 主页面的横幅提示配置(Markdown 语法),效果如下:

Deepgram: 实时流式处理语音平台,可在 DeepGram 官网 申请免费 API key 和选择模型;

Whisper(本地): Open WebUI 内置了 faster-whisper,可查看 Hugging Face 使用相关模型:

建议手动下载到本地,然后放到到容器内的 /app/backend/data/cache/whisper/models 目录下且以 models–Systran–faster–whisper 命令开头;

ElevenLabs: 可在 ElevenLabs 官网 申请 API key 和选择模型;


| 拆分模式 | 处理逻辑 | 适用场景 | API 限制规避 |
|---|---|---|---|
| Punctuation | 按。!?切分 | 实时对话 | 避免单次请求超 30s |
| Paragraphs | 按空行切分 | 长文本朗读 | 符合章节结构 |
| 无 | 原始文本 | 技术文档 | 需前置分句处理 |

图像生成引擎: 可根据不同的引擎,配置参数,如下图采用硅基流动的生图模型配置为:


这里的数据库主要是完成数据迁移功能,比如前期搭建了 Open-WebUI 测试环境且完成了配置调试,现在开始搭建正式环境且需要将测试环境中的配置数据同步到正式环境中;此时,先在测试环境中的数据库栏选择《导出配置信息至 JSON 文件中》会下载一个 JSON 文件,然后在正式环境中的数据库栏选择《导入 JSON 文件中的配置信息》选择刚才导出的 JSON 文件,即可完成配置迁移;
管理员面板的配置内容就到这里了,经过详细配置,你的 AI 管理中枢已解锁。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online