<!-- title: Open WebUI八大神技：别只当聊天框 -->
<!-- domain: tips-tricks -->

## 导语

Open WebUI 在国内的标签几乎是固定的——"Ollama 的漂亮前端"：界面好看、能传文件、本地跑模型，仅此而已。但这是它不到 10% 的能力。本期挖出 **8 个 90% 用户从没点开过的隐藏开关**，每一个都能让本地大模型从"聊天框"质变成真正会调工具、会定时干活、能动手改你代码的 Agent。最值钱的一条认知差是：官方已经给旧的工具调用模式判了"死刑"，却仍有大量部署在用它，**切一个设置就能白捡 30+ 个系统工具**。今天就能照着配。

主角工具：**Open WebUI**（github.com/open-webui/open-webui，Star 8 万+，开源、自托管、可纯离线）。官网文档 docs.openwebui.com。

---

## 神技 1：Native Mode——一个开关，白捡 30+ 个系统工具

这是信息差最大的一条。Open WebUI 有两种工具调用模式：

- **Default Mode（旧）**：靠往 prompt 里塞一大段模板"哄"模型输出工具请求，这是 2023 年的技术。它**每轮都破坏 KV cache**（注入的 prompt 每轮都变，推理引擎无法复用缓存），延迟高、token 贵、多步链式调用不稳，而且**完全用不了任何内置系统工具**。
- **Native Mode（Agentic Mode，唯一推荐）**：用模型原生的结构化函数调用（JSON），KV cache 友好，且自动注入一整套系统工具。

官方原话：Default Mode 已**不再支持**，留在 UI 里只是为迁移过渡。

**怎么一次配好所有模型**（不用一个个改）：

- UI 路径：`Admin Panel → Settings → Models`，点**右上角的 ⚙️ 按钮**打开全局模型参数，把 `Function Calling` 设为 `Native`，保存。之后所有现存和新增模型默认继承。
- 环境变量等价写法：
  ```yaml
  DEFAULT_MODEL_PARAMS: '{"function_calling": "native"}'
  ```
- 顺带用 `DEFAULT_MODEL_METADATA` 统一设全局能力默认（vision / web_search / file_context / code_interpreter / builtin_tools），冲突时单模型覆盖优先。

切到 Native Mode 后，模型立刻获得这批**内置系统工具**（无需装任何插件）：`search_web`、`fetch_url`、`generate_image`/`edit_image`、`execute_code`（代码解释器）、Memory 系列（`search_memories`/`add_memory`…）、Notes 系列、Knowledge Base 系列、Chat History 搜索、Channels、Task Management（`create_tasks`/`update_task`）、**Automations**、**Calendar**、Skills、Time Tools。这等于白嫖一个"个人 AI 助手全家桶"。

---

## 神技 2：模型预设（Models）——一个底模变 N 个人设

很多人不知道 Open WebUI 能"捏模型"。`Workspace → Models → + New Model`，挑一个底模（GPT-4o / Claude / Llama 3 / 国产模型均可），往上绑系统提示、知识库、工具、技能、参数覆盖，就得到一个专用 Agent。底模权重不变，只是套了层壳。

三个被忽视的点：

1. **动态变量**：系统提示里可写 `{{ USER_NAME }}`、`{{ CURRENT_DATE }}`、`{{ USER_GROUPS }}`。其中 `{{ USER_GROUPS }}` 会按调用者的 RBAC 分组**服务端渲染**——同一个共享模型，工程组能看到内部路线图，销售组看不到，靠这一行变量实现。
2. **Curated Interface 模式**：正规做法是建**两个底模入口**指向同一后端 LLM——"原始 GPT-4o"只对 power 用户开放，"公司助手"对全员公开。注意：不要再靠"在受限底模上套 workspace 模型再公开"的老套路，那个访问控制漏洞已被修补。
3. **Bulk 管理**：外部 provider 动辄暴露几百个模型，管理页可按状态过滤后**批量启停**。

聊天中还能**中途换模型**不丢上下文，最多同时选两个模型**并排对比**回答。

---

## 神技 3：kb_exec——把知识库当 Unix 文件系统操作

默认的 RAG 是向量检索，对"精确匹配"和"代码/规范文档"问答并不友好。打开开关：

```yaml
ENABLE_KB_EXEC: "True"
```

知识库立刻变成一个**类 Unix 文件系统**，模型可以直接调用 `kb_exec` 执行：`ls`、`tree`、`cat -n`、`head -N`、`tail -N`、`sed -n '10,20p'`、`grep`（支持正则）、`find`、`wc`、`stat`，**还支持管道**，例如 `grep "auth" | head -5`，文件用路径引用（`docs/api/auth.md`）。

这对中文场景特别实用：拿一份 3GPP 规范或公司内部代码库做知识库，模型能用 `grep` 精确定位到某行，而不是靠向量相似度"猜"。配合 `query_knowledge_files`（开启 `ENABLE_RAG_HYBRID_SEARCH` 后是混合检索+rerank）效果最佳。

---

## 神技 4：Functions 三件套——用 Python 改造一切

Tools 是"模型在推理时调用的能力"，而 **Functions 是改造 Open WebUI 平台本身**的 Python 插件，按类名自动识别三种类型：

| 类型 | 类名 | 作用 | 用户看到 |
|------|------|------|----------|
| **Pipe** | `class Pipe` | 注册成一个新"模型"，可不依赖任何 LLM 后端 | 侧栏可选模型 |
| **Filter** | `class Filter` | 拦截每条消息（中间件） | 对现有模型透明生效 |
| **Action** | `class Action` | 在消息上加可点按钮 | 消息工具栏按钮 |

实战价值：

- **Pipe**：接非 OpenAI 协议的 API（Anthropic 原生、Google Vertex、自建推理服务），或造一个**不需要 LLM 的接口**——数据库查询、搜索引擎、计算器、智能家居控制器。一个 Pipe 还能通过 `pipes()` 方法暴露多个模型（manifold）。
- **Filter** 三个拦截点：`inlet()`（请求前：加上下文、脱敏、语种检测、限流、估算 token 成本）、`stream()`（实时拦截流式块：审查、替换、统计）、`outlet()`（响应后：写 Langfuse、加引用、追加免责声明、缓存）。
- **Action**：点一下就跑 Python——总结、翻译、导出 PDF、触发 CI/CD、发 Slack。

两个加分项：**Valves（管理员配置）+ UserValves（用户自配）** 两级配置，用 Pydantic 定义；frontmatter 里写 `requirements: requests, beautifulsoup4`，首次加载时**自动 pip 安装依赖**。

⚠️ 安全：Functions = 服务器 shell 权限。仅管理员可创建，从 openwebui.com 社区库导入前**必须审代码**。

---

## 神技 5：接国产模型 + DeepSeek V3.2 踩坑（价格差 × 认知差）

`Settings → Connections → OpenAI API`，改 Base URL 和 Key，就能接任何 OpenAI 兼容端点——包括 GLM、Kimi、Qwen、DeepSeek、OpenRouter、Groq。但有个花钱也买不到的坑：

> **DeepSeek V3.2 做工具调用会崩。**

官方文档明确点名：DeepSeek V3.2 训练时用的是私有 **DSML（DeepSeek Markup Language）** 格式，在 Native Mode 下经常吐出 `<functionInvoke name="fetch_url">` 这种 XML 而非合法 JSON；多轮对话（6-8 轮+）会**直接停止调用函数**，复杂工作流（15-30 次调用）出现 schema drift。这不是 Open WebUI 的锅，是 DeepSeek 用了非标准格式，推理厂商的翻译层在高并发/流式/多轮下不可靠。

**Agentic 任务更稳的选择**：文档反复推荐的可靠模型是 **MiniMax M2.5**（国产、便宜）、Claude 4.5 Sonnet、GPT-5、Gemini 3 Flash。另外，**30B 以下的本地小模型**在 Native Mode 下也容易吐坏 JSON——正确做法是工具任务 offload 到云端强模型，而不是退回 Default Mode。

一句话信息差：你以为 DeepSeek 又强又便宜，但拿它做 Agent 最不稳；国产里做工具调用，**MiniMax M2.5 才是隐藏首选**。

---

## 神技 6：Open Terminal——给本地模型一个真 shell

Open WebUI 还内置一个**独立的隔离 Docker 容器**叫 Open Terminal，给模型一个真实的 shell 和文件系统，暴露 `run_command`、`read_file`、`write_file`、`grep_search`、`glob_search`、进程管理等工具。它和 per-message 的 `execute_code` 沙箱不同——后者是临时执行一段代码，Open Terminal 是**持久 shell + 文件系统**，模型能跨轮次地改你的项目、跑测试、调试。

一行起：

```bash
docker run -d --name open-terminal --restart unless-stopped \
  -p 8000:8000 -v open-terminal:/home/user \
  -e OPEN_TERMINAL_API_KEY=your-secret-key \
  ghcr.io/open-webui/open-terminal
```

也可以裸机 `uvx open-terminal run --host 0.0.0.0 --port 8000`（⚠️ 此模式下 AI 拥有你账户的全部能力，含删改文件，谨慎）。Docker Compose 里和 Open WebUI 同网络时，连接地址用服务名 `http://open-terminal:8000`。连上后，你的本地模型终于能"动手"而不只是"动嘴"。

---

## 神技 7：Automations + RRULE——无人值守的定时 Agent

Native Mode 下，你可以在**聊天里一句话创建定时任务**。模型调用 `create_automation`，参数是 `name`、`prompt`、`rrule`（标准日历重复规则）。配合 Calendar 系统工具（`search_calendar_events`/`create_calendar_event`…），就能做日程型 Agent。

需要开启 `ENABLE_AUTOMATIONS` 并授予 `features.automations` 权限。典型场景：每天早上总结今日日历、每周整理笔记、定时监控某网页变化并写入 Notes。本质上是把会话式 AI 变成了**后台 cron**——这是绝大多数人完全没意识到的能力。

---

## 神技 8：Interleaved Thinking + Deep Research

Native Mode 下，强模型能进入"**思考 → 行动 → 思考 → 行动**"的交错循环：分析意图、调 `query_knowledge_files` 或 `search_web`/`fetch_url`、读结果、再调 `view_knowledge_file` 深读、直到给出有依据的最终答案。配合 `create_tasks` 先铺好计划、`update_task` 逐步标记完成，就是一个自托管的"深度研究"流程。

要求强模型（GPT-5 / Claude 4.5+ / Gemini 3+ / MiniMax M2.5）。价值在于：**不需要再订阅 Perplexity**，你自己的 GLM/云端强模型 + 本地知识库就能跑 Deep Research，数据全程不出你的服务器。

---

## 信息差总结

| 维度 | 大多数人的认知 | 信息差真相 |
|------|--------------|-----------|
| 产品定位 | Ollama 的漂亮前端 | 本地大模型 Agent 平台 |
| 工具调用 | 默认 prompt 注入（其实已废弃） | Native Mode 一次配置解锁 30+ 系统工具 |
| 知识库 | 只能向量检索 | `kb_exec` 开关后用 ls/grep/cat 操作 |
| 扩展性 | 装社区插件 | Pipe/Filter/Action 三件套用 Python 改造一切 |
| 国产模型 | DeepSeek 最值 | V3.2 做 Agent 会崩，MiniMax M2.5 更稳 |
| 执行力 | 只会出主意 | Open Terminal 给模型一个真 shell 改代码 |
| 调度 | 一次性对话 | Automations + RRULE 定时无人值守 |
| 研究能力 | 得靠 Perplexity | Interleaved Thinking 自托管深度研究 |

## 一次对话背后的隐藏能力栈

```mermaid
flowchart TD
    U[💬 用户提问] --> IN["🧩 Filter.inlet<br/>翻译·PII脱敏·限流·Token计费"]
    IN --> NM{"⚙️ Native Mode<br/>结构化工具调用·KV-cache 友好"}
    NM -->|"系统工具"| BT["📚 内置工具池 30+<br/>Memory·Notes·KB·Calendar<br/>Automations·Code·Web·Task"]
    NM -->|"自定义"| WS["🐍 Workspace Tools<br/>你写的 Python"]
    NM -->|"外部"| MCP["🔌 MCP / OpenAPI<br/>外部服务"]
    BT --> KB["🔎 kb_exec<br/>ls/grep/cat 操作知识库"]
    NM --> IT["🧠 Interleaved Thinking<br/>思考→行动→思考 循环"]
    IT --> OUT["🧩 Filter.outlet<br/>Langfuse 日志·缓存·格式化"]
    OUT --> ACT["⚡ Action 按钮<br/>导出·CI/CD·Slack"]
    ACT --> R[📨 最终回复]
    style NM fill:#fef3c7,stroke:#d97706,stroke-width:2px
    style BT fill:#dbeafe,stroke:#2563eb
    style KB fill:#dcfce7,stroke:#16a34a
```

## 行动指南（今天就能做的 5 步）

1. **部署**：`docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main`（带 Ollama 用 `:ollama` 标签）。
2. **第一件事**：全局打开 Native Mode——`Admin Panel → Settings → Models → 右上角⚙️ → Function Calling = Native`，或设 `DEFAULT_MODEL_PARAMS`。
3. **开三个隐藏开关**：`ENABLE_KB_EXEC`、`ENABLE_CODE_INTERPRETER`、`ENABLE_AUTOMATIONS`。
4. **接国产端点**：连一个 GLM/Kimi/Qwen 兼容端点用于日常；**Agent/工具任务改用 MiniMax M2.5 或云端强模型**，避开 DeepSeek V3.2 多轮翻车。
5. **进阶**：写一个 Filter 做 Token 计费日志（接 Langfuse），再起一个 Open Terminal 容器让模型真的能改你的代码。

## 参考来源

- Open WebUI 官方文档：<https://docs.openwebui.com/>
- Tools / 内置系统工具全集：<https://docs.openwebui.com/features/extensibility/plugin/tools>
- Functions（Pipe/Filter/Action）：<https://docs.openwebui.com/features/extensibility/plugin/functions>
- Open Terminal 安装：<https://docs.openwebui.com/features/open-terminal>
- 社区插件库（Tools/Functions 一键 Get）：<https://openwebui.com/search>
- GitHub 仓库：<https://github.com/open-webui/open-webui>

---
> 本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵**爱卫生**（微信ID: gprshome201101）维护。
> 聚焦5G/6G核心网、3GPP标准、AI工具实战。知识星球「51学通信」提供深度技术答疑和行业洞察。

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
