把 Open WebUI 变成你的生产力中心:自定义、插件、团队协作全攻略
🩺 摘要
上篇讲了 Open WebUI 的基本使用和部署。这篇我们玩点进阶的——把 Open WebUI 从一个「聊天界面」升级...
📝 详情
上篇讲了 Open WebUI 的基本使用和部署。这篇我们玩点进阶的——把 Open WebUI 从一个「聊天界面」升级成「个人 AI 生产力中心」。
一、自定义系统提示词
默认的 Open WebUI 只是个空壳子,你给它配上「性格」才好玩。
全局提示词(影响所有对话)
管理后台 → 设置 → 系统提示词:
你是一个专业的技术助手。回答时遵循:
1. 先给结论,再给解释
2. 有代码必须给完整示例
3. 不确定的地方诚实说「我不确定」
4. 中文回答,但技术名词保留英文原文
模型专属提示词
不同的模型可以设置不同的身份:
| 模型 | 提示词用途 |
|---|---|
| DeepSeek-Chat | 「你是一个代码审查专家,严格指出每个潜在问题」 |
| Qwen2.5-7B | 「你是一个耐心的一对一编程导师,用简单的话解释复杂概念」 |
| GPT-4o | 「你是一个英文写作润色助手,给出具体修改建议而非笼统评价」 |
保存为模板(预设)
在对话输入框上方点「预设」→ 创建新预设 → 保存系统提示词 + 模型选择。
这样你可以在「代码审查」「写作助手」「翻译」「一般聊天」之间一键切换。
我日常用的三个预设:
┌────────────────────┐
│ 🐛 代码审查 │ → DeepSeek + 严格提示词
│ 📝 写作助手 │ → Qwen + 极简风格
│ 💬 通用聊天 │ → GPT-4o + 随意模式
└────────────────────┘
二、接入 MCP 扩展能力
Open WebUI 从 0.4 版本开始支持 MCP 协议。这意味着你上一篇学会写的 MCP Server,可以直接在 Open WebUI 里用。
配置 MCP Server
进入管理后台 → 设置 → MCP Server:
// 文件系统 MCP — AI 能读写你的本地文件
{
"name": "文件系统",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "C:\\projects"],
"enabled": true
}
// 网页搜索 MCP — AI 能实时搜索网络
{
"name": "网页搜索",
"command": "python",
"args": ["C:\\mcp-servers\\web-search\\server.py"],
"env": {"API_KEY": "sk-xxx"},
"enabled": true
}
// 自定义场景:AI 能查你的 Jira 工单
{
"name": "Jira 助手",
"command": "python",
"args": ["C:\\mcp-servers\\jira\\server.py"],
"env": {
"JIRA_URL": "https://your-domain.atlassian.net",
"JIRA_EMAIL": "you@example.com",
"JIRA_TOKEN": "xxx"
},
"enabled": true
}
MCP 在对话中的效果
当你配置好 MCP Server 后,对话变成这样:
你:帮我看看桌面上那个 draft.md 里有什么
AI:[调用文件系统 MCP Server → 读取文件]
桌面上有个 draft.md 文件,内容是……
你:查一下 JIRA 里我今天的任务
AI:[调用 Jira MCP Server → 查询 API]
你今天有 3 个未完成的任务:
1. PROJ-123 — 修复登录页 Bug(优先级高)
2. PROJ-124 — 更新 API 文档
3. PROJ-125 — Code Review
这就是 MCP 的魔力——你的 AI 助手突然有了「动手能力」。
三、团队协作配置
Open WebUI 原生支持多用户,可以当小型团队的知识中心用。
用户管理
# 首次注册的用户默认为管理员
# 管理员可以在设置中创建普通用户
# 用户角色
- 管理员:全部权限(设置、用户管理、系统配置)
- 普通用户:只能使用聊天和知识库
- 只读用户:只能查看对话历史
共享知识库
# 管理员创建团队知识库
# 所有团队成员都能引用
# 场景示例:
团队知识库 "产品文档" 包含:
- 产品功能说明书
- API 接口文档
- 常见问题 FAQ
- 项目排期表
# 团队成员只需在对话中 @产品文档 即可查询
分享对话
# 点击对话右上角的分享按钮
# 生成公开链接(可设置是否公开)
# 适合的场景:
- 把 AI 生成的代码发给同事 review
- 分享技术方案讨论记录
- 把 AI 写的周报发给老板
四、配置反向代理 + HTTPS(正式部署)
如果要把 Open WebUI 开放给团队或公网访问,需要配置 HTTPS。
用 Nginx 做反向代理
# /etc/nginx/sites-available/open-webui
server {
listen 443 ssl;
server_name ai.yourcompany.com;
ssl_certificate /etc/letsencrypt/live/ai.yourcompany.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ai.yourcompany.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# WebSocket 支持(Open WebUI 用 WebSocket 做实时通信)
proxy_read_timeout 86400s;
proxy_send_timeout 86400s;
}
}
用 Cloudflare Tunnel(无公网 IP 方案)
如果你的服务器没有公网 IP 或者不想暴露端口:
# 安装 cloudflared
# 略过安装步骤,直接配置
docker run -d \
--name cloudflare-tunnel \
--network host \
cloudflare/cloudflared:latest tunnel \
--url http://localhost:3000
这样会生成一个 xxx.trycloudflare.com 的临时域名,适合快速分享。
五、性能调优
处理大文件
默认的 Open WebUI 限制上传文件大小为 10MB。修改:
# Docker 部署时加环境变量
docker run -d -p 3000:8080 \
-v open-webui:/app/backend/data \
-e MAX_FILE_SIZE=104857600 \ # 100MB
-e CHUNK_SIZE=1024 \ # RAG 分块大小
ghcr.io/open-webui/open-webui:main
减少内存占用
Open WebUI 默认加载了很多功能(RAG、联网搜索、多模型管理等)。如果只是个人聊天用,可以关掉不需要的:
# 禁用不需要的功能
-e RAG_ENABLED=false \
-e WEB_SEARCH_ENABLED=false \
-e AUDIO_STT_ENABLED=false \
这样可以节省约 200-300MB 内存。
数据库迁移到 PostgreSQL
默认 Open WebUI 使用 SQLite,小规模没问题,但用户多了(50+)推荐用 PostgreSQL:
docker run -d -p 3000:8080 \
-v open-webui:/app/backend/data \
-e DATABASE_URL=postgresql://user:pass@host:5432/openwebui \
ghcr.io/open-webui/open-webui:main
六、几个我离不开的实用技巧
技巧 1:快捷键
| 快捷键 | 功能 |
|---|---|
| Ctrl + Enter | 发送消息 |
| Shift + Enter | 换行 |
| Ctrl + Shift + / | 切换模型 |
| Ctrl + K | 搜索对话历史 |
| Ctrl + N | 新建对话 |
技巧 2:函数调用(Functions)
Open WebUI 支持 Python 函数扩展。写一个自定义函数,AI 就能自动调用:
# 示例:AI 能查询你的本地日历
import subprocess
import json
def get_calendar_events(date: str) -> str:
"""查询指定日期的日历事件"""
# 这里调用你本地的日历 API
result = subprocess.run(
["cal", "-d", date],
capture_output=True, text=True
)
return result.stdout
# 在 Open WebUI 的 Functions 面板中注册
技巧 3:用 API Key 访问
Open WebUI 也提供 OpenAI 兼容的 API 接口:
# 在 Open WebUI 生成 API Key
# 设置 → 账户 → API Keys
# 然后你的其他应用可以调用
curl http://localhost:3000/api/chat/completions \
-H "Authorization: Bearer your-openwebui-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen2.5:7b",
"messages": [{"role": "user", "content": "你好"}]
}'
这样你的 VS Code 插件、自动化脚本、甚至另一个 AI Agent 都能通过 Open WebUI 使用你部署的模型。
七、完整推荐配置
个人版(纯本地,一台 MacBook)
Hardware: MacBook Pro M3 Pro / 18GB
Software: Docker Desktop + Ollama + Open WebUI
Models: Qwen2.5-7B (日常) + DeepSeek API (重度任务)
效果: 流畅聊天 + 文件上传 + 网页搜索
费用: 除电费外 ¥0
小团队版(一台服务器)**
Hardware: 二手 RTX 3090 服务器 (¥10,000)
Software: Docker + vLLM + Open WebUI + Nginx
Models: Qwen2.5-14B (主力) + GPT-4o API (辅)
用户: 10-20 人团队
费用: 电费 + ¥200/月 API 费用
企业版(多台服务器)
Hardware: 2-8 张 A100 / H100
Software: Kubernetes + vLLM + Open WebUI + PostgreSQL
Models: 自训练微调模型 + 商用 API
功能: 全功能:RAG + MCP + Functions + 权限管理
💬 评论 (0)