OpenWebUIAPI集成技能 open-webui

Open WebUI API 集成技能是一个完整的应用程序接口工具,专门用于管理和操作 Open WebUI 实例。它支持大语言模型(LLM)管理、聊天对话、文件上传与知识库构建(RAG)、图像生成、音频处理以及通过代理执行 Ollama 命令。用户可以通过 REST API 轻松列出可用模型、与 AI 模型交互、上传文档进行智能检索增强生成,并高效管理知识集合。该技能是连接用户与本地或远程 Open WebUI 服务的桥梁,适用于 AI 应用开发、智能助手集成和自动化工作流构建。关键词:Open WebUI API, LLM 管理, RAG 知识库, Ollama 代理, 聊天补全, 文件上传, AI 集成, 大模型接口, 自动化工具

AI应用 0 次安装 0 次浏览 更新于 2/24/2026

name: open-webui description: 完整的 Open WebUI API 集成,用于管理 LLM 模型、聊天补全、Ollama 代理操作、文件上传、知识库(RAG)、图像生成、音频处理和管道。当通过 REST API 与 Open WebUI 实例交互时使用此技能 - 列出模型、与 LLM 聊天、为 RAG 上传文件、管理知识集合或通过 Open WebUI 代理执行 Ollama 命令。需要 OPENWEBUI_URL 和 OPENWEBUI_TOKEN 环境变量或显式参数。 compatibility: 需要 Python 3.8+ 和 requests 库,或 curl。适用于任何 Open WebUI 实例(本地或远程)。外部实例需要互联网访问。

Open WebUI API 技能

完整的 Open WebUI API 集成 - 一个用于 LLM(包括 Ollama、OpenAI 和其他提供商)的统一接口。

何时使用

当用户想要时激活此技能:

  • 从其 Open WebUI 实例列出可用模型
  • 通过 Open WebUI 向模型发送聊天补全
  • 为 RAG(检索增强生成)上传文件
  • 管理知识集合并向其中添加文件
  • 使用 Ollama 代理端点(生成、嵌入、拉取模型)
  • 通过 Open WebUI 生成图像或处理音频
  • 检查 Ollama 状态或管理模型(加载、卸载、删除)
  • 创建或管理管道

不要为以下情况激活:

  • 安装或配置 Open WebUI 服务器本身(使用系统管理技能)
  • 关于 Open WebUI 是什么的一般问题(使用一般知识)
  • 排除 Open WebUI 服务器故障(使用故障排除指南)
  • 与 Open WebUI API 无关的本地文件操作

先决条件

环境变量(推荐)

export OPENWEBUI_URL="http://localhost:3000"  # 您的 Open WebUI 实例 URL
export OPENWEBUI_TOKEN="your-api-key-here"    # 来自 Open WebUI 的 设置 > 账户

认证

  • 需要 Bearer Token 认证
  • 从 Open WebUI 获取令牌:设置 > 账户
  • 替代方案:用于高级用例的 JWT 令牌

激活触发器

应激活此技能的示例请求:

  1. “列出我的 Open WebUI 中所有可用模型”
  2. “通过 Open WebUI 向 llama3.2 发送聊天补全,提示为 ‘解释量子计算’”
  3. “将 /path/to/document.pdf 上传到 Open WebUI 知识库”
  4. “在 Open WebUI 中创建一个名为 ‘研究论文’ 的新知识集合”
  5. “使用 nomic-embed-text 模型为 ‘Open WebUI 很棒’ 生成嵌入”
  6. “通过 Open WebUI Ollama 代理拉取 llama3.2 模型”
  7. “从我的 Open WebUI 实例获取 Ollama 状态”
  8. “使用我的 Open WebUI 与 gpt-4 聊天,并在集合 ‘docs’ 上启用 RAG”
  9. “使用 Open WebUI 生成图像,提示为 ‘一座未来城市’”
  10. “从 Open WebUI Ollama 中删除 old-model”

不应激活此技能的示例请求:

  1. “如何安装 Open WebUI?”(安装/管理)
  2. “什么是 Open WebUI?”(一般知识)
  3. “配置 Open WebUI 环境变量”(服务器配置)
  4. “排除 Open WebUI 无法启动的原因”(服务器故障排除)
  5. “将 Open WebUI 与其他 UI 进行比较”(一般比较)

工作流程

1. 配置检查

  • 验证 OPENWEBUI_URLOPENWEBUI_TOKEN 是否已设置
  • 验证 URL 格式(http/https)
  • 使用 GET /api/models 或 /ollama/api/tags 测试连接

2. 操作执行

使用 CLI 工具或直接 API 调用:

# 使用 CLI 工具(推荐)
python3 scripts/openwebui-cli.py --help
python3 scripts/openwebui-cli.py models list
python3 scripts/openwebui-cli.py chat --model llama3.2 --message "你好"

# 使用 curl(替代方案)
curl -H "Authorization: Bearer $OPENWEBUI_TOKEN" \
  "$OPENWEBUI_URL/api/models"

3. 响应处理

  • HTTP 200:成功 - 解析并呈现 JSON
  • HTTP 401:认证失败 - 检查令牌
  • HTTP 404:端点/模型未找到
  • HTTP 422:验证错误 - 检查请求参数

核心 API 端点

聊天与补全

端点 方法 描述
/api/chat/completions POST OpenAI 兼容的聊天补全
/api/models GET 列出所有可用模型
/ollama/api/chat POST 原生 Ollama 聊天补全
/ollama/api/generate POST Ollama 文本生成

Ollama 代理

端点 方法 描述
/ollama/api/tags GET 列出 Ollama 模型
/ollama/api/pull POST 拉取/下载模型
/ollama/api/delete DELETE 删除模型
/ollama/api/embed POST 生成嵌入
/ollama/api/ps GET 列出已加载模型

RAG 与知识

端点 方法 描述
/api/v1/files/ POST 为 RAG 上传文件
/api/v1/files/{id}/process/status GET 检查文件处理状态
/api/v1/knowledge/ GET/POST 列出/创建知识集合
/api/v1/knowledge/{id}/file/add POST 向知识库添加文件

图像与音频

端点 方法 描述
/api/v1/images/generations POST 生成图像
/api/v1/audio/speech POST 文本转语音
/api/v1/audio/transcriptions POST 语音转文本

安全与边界

需要确认

在以下操作前始终确认:

  • 删除模型 (DELETE /ollama/api/delete) - 不可逆
  • 拉取大型模型 - 可能需要大量时间/带宽
  • 删除知识集合 - 数据丢失风险
  • 上传敏感文件 - 隐私考虑

编辑与安全

  • 切勿记录完整的 API 令牌 - 编辑为 sk-...XXXX 格式
  • 清理文件路径 - 上传前验证文件是否存在
  • 验证 URL - 确保外部实例使用 HTTPS
  • 优雅地处理错误 - 不要暴露包含令牌的堆栈跟踪

工作区安全

  • 文件上传默认到工作区目录
  • 访问工作区外的文件前需确认
  • 无需 sudo/root 操作(纯 API 客户端)

示例

列出模型

python3 scripts/openwebui-cli.py models list

聊天补全

python3 scripts/openwebui-cli.py chat \
  --model llama3.2 \
  --message "解释 RAG 的好处" \
  --stream

为 RAG 上传文件

python3 scripts/openwebui-cli.py files upload \
  --file /path/to/document.pdf \
  --process

向知识库添加文件

python3 scripts/openwebui-cli.py knowledge add-file \
  --collection-id "research-papers" \
  --file-id "doc-123-uuid"

生成嵌入(Ollama)

python3 scripts/openwebui-cli.py ollama embed \
  --model nomic-embed-text \
  --input "Open WebUI 非常适合 LLM 管理"

拉取模型(需要确认)

python3 scripts/openwebui-cli.py ollama pull \
  --model llama3.2:70b
# 代理必须确认:"这将下载约 40GB。继续吗? [y/N]"

检查 Ollama 状态

python3 scripts/openwebui-cli.py ollama status

错误处理

错误 原因 解决方案
401 未授权 无效或缺少令牌 验证 OPENWEBUI_TOKEN
404 未找到 模型/端点不存在 检查模型名称拼写
422 验证错误 无效参数 检查请求体格式
400 错误请求 文件仍在处理中 等待处理完成
连接被拒绝 URL 错误 验证 OPENWEBUI_URL

边缘情况

文件处理竞态条件

为 RAG 上传的文件是异步处理的。在添加到知识库之前:

  1. 上传文件 → 获取 file_id
  2. 轮询 /api/v1/files/{id}/process/status 直到 status: "completed"
  3. 然后添加到知识集合

大型模型下载

拉取模型(例如,70B 参数)可能需要数小时。始终:

  • 开始前与用户确认
  • 如果可能,显示进度
  • 允许取消

流式响应

聊天补全支持流式传输。使用 --stream 标志进行实时输出,或为非流式收集完整响应。

CLI 工具参考

包含的 CLI 工具 (scripts/openwebui-cli.py) 提供:

  • 从环境变量自动认证
  • 具有可选格式的结构化 JSON 输出
  • 所有命令的内置帮助
  • 具有用户友好消息的错误处理
  • 长操作的进度指示器

运行 python3 scripts/openwebui-cli.py --help 获取完整用法。