把 Open WebUI 变成你的生产力中心:自定义、插件、团队协作全攻略

📘 AI教程 💬 🔥 Trending

🩺 摘要

上篇讲了 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 + 权限管理

🔗 相关文章: MCP 服务器实战指南:从入门到写自己的第一个 MCP Server