Skip to main content

🔗 Open WebUI 集成

概述

Open WebUI v0.6+ 支持通过 OpenAPI 服务器与外部工具的无缝集成——这意味着您可以使用自定义或社区驱动的工具服务器轻松扩展您的 LLM 工作流 🧰。

在本指南中,您将学习如何启动 OpenAPI 兼容的工具服务器,并通过直观的用户界面将其连接到 Open WebUI。让我们开始吧!🚀


步骤 1:启动 OpenAPI 工具服务器

首先,您需要启动 openapi-servers 仓库 中提供的参考工具服务器之一。为了快速测试,我们将使用时间工具服务器作为示例。

🛠️ 示例:在本地启动 time 服务器

git clone https://github.com/open-webui/openapi-servers
cd openapi-servers

# 导航到时间服务器
cd servers/time

# 安装必需的依赖项
pip install -r requirements.txt

# 启动服务器
uvicorn main:app --host 0.0.0.0 --reload

运行后,这将在 http://localhost:8000 托管一个本地 OpenAPI 服务器,您可以将 Open WebUI 指向它。

时间服务器


步骤 2:在 Open WebUI 中连接工具服务器

接下来,将您正在运行的工具服务器连接到 Open WebUI:

  1. 在浏览器中打开 WebUI。
  2. 打开 ⚙️ 设置
  3. 点击 ➕ 工具 添加新的工具服务器。
  4. 输入您的 OpenAPI 工具服务器运行的 URL(例如 http://localhost:8000)。
  5. 点击"保存"。

设置页面

🧑‍💻 用户工具服务器 vs. 🛠️ 全局工具服务器

在 Open WebUI 中注册工具服务器有两种方式:

1. 用户工具服务器(通过常规设置添加)

  • 仅对注册工具服务器的用户可访问。
  • 连接由用户直接从浏览器(客户端)建立。
  • 非常适合个人工作流程或测试自定义/本地工具时使用。

2. 全局工具服务器(通过管理员设置添加)

管理员可以管理整个部署中所有或选定用户可用的共享工具服务器:

  • 转到 🛠️ 管理员设置 > 工具
  • 像在用户设置中一样添加工具服务器 URL。
  • 这些工具与 Open WebUI 的内置工具类似处理。

主要区别:请求从哪里发出?

用户工具服务器全局工具服务器 之间的主要区别是 API 连接和请求实际从哪里发出:

  • 用户工具服务器

    • 对工具服务器的请求 直接从您的浏览器(客户端)执行。
    • 这意味着您可以安全地连接到 localhost URL(如 http://localhost:8000)——甚至可以公开私有或仅开发的端点,如您的本地文件系统或开发工具——而不会面临暴露给更广泛的互联网或其他用户的风险。
    • 您的连接是隔离的;只有您的浏览器可以访问该工具服务器。
  • 全局工具服务器

    • 请求从 Open WebUI 后端/服务器(而不是您的浏览器)发送。
    • 后端必须能够到达您指定的工具服务器 URL——所以 localhost 意味着后端服务器的 localhost,而不是 您计算机的。
    • 用于与部署中的其他用户共享工具,但要注意:由于后端发出请求,您无法通过此方法访问您的个人本地资源(如您自己的文件系统)。
    • 考虑安全性!只公开对多个用户安全且可访问的远程/全局端点。

摘要表:

工具服务器类型请求来源可以使用 Localhost?用例示例
用户工具服务器用户浏览器(客户端)是(私有给您)个人工具、本地开发/测试
全局工具服务器Open WebUI 后端(服务器端)否(除非在后端本身运行)团队/共享工具、企业集成
tip

用户工具服务器最适合个人或实验性工具,特别是在您自己的机器上运行的工具,而全局工具服务器适合生产或共享环境,其中每个人都需要访问相同的工具。

👉 可选:通过 mcpo 使用配置文件

如果您通过 mcpo 使用配置文件运行多个工具,请注意:

🧩 每个工具都挂载在其自己的唯一路径下!

例如,如果您通过 mcpo 同时使用内存和时间工具,它们将分别在不同的路由下可用:

这意味着:

  • 在 Open WebUI 中连接工具时,您必须输入到该特定工具的完整路由——不要仅输入根 URL (http://localhost:8000)。
  • 使用它们各自的子路径 URL 在 Open WebUI 设置中分别添加每个工具。

MCPO 配置工具设置

✅ 正确:

http://localhost:8000/time http://localhost:8000/memory

🚫 无效:

http://localhost:8000

这确保 Open WebUI 正确识别并与每个工具服务器通信。


步骤 3:确认您的工具服务器已连接 ✅

一旦您的工具服务器成功连接,Open WebUI 将直接在消息输入区域显示一个 👇 工具服务器指示器:

📍 您现在将在输入框下方看到此图标:

工具服务器指示器

点击此图标会打开一个弹出窗口,您可以:

  • 查看连接的工具服务器信息
  • 查看哪些工具可用以及由哪个服务器提供
  • 如果需要,调试或断开任何工具

🔍 工具信息模态框如下所示:

工具信息模态框展开

🛠️ 全局工具服务器看起来不同——并且默认隐藏!

如果您连接了全局工具服务器(即管理员配置的),它不会像用户工具服务器那样自动出现在输入区域中。

相反:

  • 全局工具默认隐藏,必须由每个用户明确激活。
  • 要启用它们,您需要点击消息输入区域中的 ➕ 按钮(聊天框左下角),并手动切换您想要使用的特定全局工具。

它看起来像这样:

全局工具服务器消息输入

⚠️ 全局工具服务器的重要注意事项:

  • 它们不会在工具指示器弹出窗口中显示,直到从 ➕ 菜单启用。
  • 每个全局工具必须单独切换才能在当前聊天中变为活跃状态。
  • 一旦切换,它们的功能与用户工具相同。
  • 管理员可以通过基于角色的权限控制对全局工具的访问。

这对于团队设置或共享环境是理想的,其中常用工具(例如文档搜索、内存或网络查找)应该可供多个用户集中访问。


(可选)步骤 4:使用"原生"函数调用(ReACT 风格)工具使用 🧠

info

为了有效工作,您选择的模型必须支持原生工具调用。一些本地模型声称支持但经常产生糟糕的结果。我们强烈建议使用 GPT-4o 或其他本地支持函数调用的 OpenAI 模型以获得最佳体验。

想要在对话中直接启用 ReACT 风格(推理 + 行动)原生函数调用?您可以切换 Open WebUI 使用原生函数调用。

✳️ 如何启用原生函数调用:

  1. 打开聊天窗口。
  2. 转到 ⚙️ 聊天控制 > 高级参数
  3. 函数调用 参数从 默认 更改为 原生

原生工具调用


需要更多工具?探索和扩展!🧱

openapi-servers 仓库 包括各种有用的参考服务器:

  • 📂 文件系统访问
  • 🧠 内存和知识图谱
  • 🗃️ Git 仓库浏览
  • 🌎 网页搜索(进行中)
  • 🛢️ 数据库查询(进行中)

您可以用相同的方式运行其中任何一个,并通过重复上述步骤将它们连接到 Open WebUI。


故障排除和提示 🧩

  • ❌ 无法连接?确保 URL 正确且可从用于运行 Open WebUI 的浏览器访问。
  • 🔒 如果您使用远程服务器,检查防火墙和 HTTPS 配置!
  • 📝 要使服务器持久化,考虑在 Docker 中部署它们或使用系统服务。

需要帮助?访问 👉 讨论页面开启问题