填写这些连接字段
在 Open WebUI 打开 Admin Settings → Connections → OpenAI → Add Connection。URL 填写 https://www.primoraihub.com/v1,输入 Primordial AI API Key,首次发现模型时将 Model IDs 留空,然后保存。模型列表过宽时,再筛选为 GET /v1/models 返回的准确 ID。
| Open WebUI 字段 | 值 | 原因 |
|---|---|---|
| Provider type | OpenAI | Open WebUI 使用该连接类型对接 OpenAI 兼容 Chat Completions 提供商。 |
| URL | https://www.primoraihub.com/v1 | Open WebUI 会追加 /models、/chat/completions 等路由。 |
| API Key | 你的 Primordial AI Key | 这些提供商接口需要 Bearer 鉴权。 |
| Model IDs (Filter) | 首次留空,之后填写准确白名单 | 动态发现当前 ID,避免固定过期模型名。 |
已经验证什么,尚未验证什么
Open WebUI 官方兼容提供商指南说明,基础聊天必须有 POST /v1/chat/completions,并建议使用 GET /v1/models 发现模型;验证连接时会使用 Bearer Token 调用 /models。
| 检查 | 2026-08-24 观察结果 | 结论 |
|---|---|---|
无 Key 调用 GET /v1/models | HTTP 401 | 公开路由到达鉴权边界;这不是成功模型列表测试。 |
无 Key 调用 POST /v1/chat/completions | HTTP 401 | 公开路由到达鉴权边界;这不是成功 Open WebUI 聊天测试。 |
| Open WebUI 保存、模型选择、流式、工具、RAG、图片和音频 | 本指南没有独立端到端测试 | 执行下方鉴权测试,并逐个验证可选功能。 |
OpenAI 兼容描述请求协议,不代表全部功能等价。模型列表或普通聊天成功,不能证明流式、工具、视觉、RAG、图片、音频或所有模型参数可用。
在 Open WebUI 外先做两项检查
先确认 Key 和 Base URL 能返回模型列表。请在可信服务端 Shell 中执行,不能输出 Key 本身:
test -n "$PRIMORDIAL_API_KEY" || {
echo "PRIMORDIAL_API_KEY 未设置" >&2
exit 1
}
curl --fail-with-body --silent --show-error \
https://www.primoraihub.com/v1/models \
-H "Authorization: Bearer $PRIMORDIAL_API_KEY" \
| jq -r '.data[]?.id'
从输出中复制一个准确 ID 到下一项测试。不要猜模型名,也不要使用旧文章中的 ID:
MODEL_ID="MODEL_ID_FROM_V1_MODELS"
curl --fail-with-body --silent --show-error \
https://www.primoraihub.com/v1/chat/completions \
-H "Authorization: Bearer $PRIMORDIAL_API_KEY" \
-H "Content-Type: application/json" \
-d "{
\"model\": \"$MODEL_ID\",
\"messages\": [{\"role\": \"user\", \"content\": \"Reply with OK\"}],
\"stream\": false
}"
第二项请求可能消耗账户额度。成功结果只验证一个模型、一个接口和一种非流式请求结构。
在 Open WebUI 中配置提供商
- 使用管理员账户登录 Open WebUI。
- 打开 Admin Settings → Connections → OpenAI,选择 Add Connection。
- Provider type 保持 OpenAI,URL 填写
https://www.primoraihub.com/v1。 - 把 Key 粘贴到 API Key 字段;不要添加
Bearer、引号或尾随换行。 - 首次验证时将 Model IDs 留空,然后保存连接。
- 发现成功后,只把该 Open WebUI 实例需要的模型加入 Model IDs (Filter)。
Open WebUI 不同版本的菜单名称可能变化。如果当前界面不同,应以官方连接指南为准,同时保持上述 URL 和凭据边界不变。
先测试最小可用路径
- 在新提供商连接下选择一个显示出来的模型。
- 新建聊天,先关闭工具、网页搜索、知识库、图片和其他可选功能。
- 发送简短 Prompt,确认出现完整的非流式或基础流式响应。
- 在不记录凭据的前提下,对照 Primordial AI 用量和 Open WebUI 服务端日志。
- 普通聊天成功后,每次只启用一个可选功能并重新测试。
模型选择器为空时,应把 Open WebUI 服务端的模型请求与模型发现测试对照。浏览器能打开 Open WebUI 页面,不等于其后端容器能访问提供商。
可选功能必须单独验证
Open WebUI 官方指南列出了额外可选接口:RAG 使用 /v1/embeddings,图片使用 /v1/images/generations,语音和转写使用音频接口。工具调用与流式还依赖所选模型和响应结构。
- 目标 Embedding 模型成功响应前,不要启用 RAG。
- 文本聊天成功不能证明图片接口可用;必须使用文档中的图片接口和 Payload 测试。
- 普通响应成功不能证明工具调用可用;应测试最小工具 Schema 并检查返回结构。
- 具体接口不可用时,保留备用连接或关闭该功能。
按症状排查
| 症状 | 检查 | 下一步 |
|---|---|---|
| Verify Connection 返回 401 | Key 状态、空白字符、账户和准确的 /v1 URL。 | 直接测试 GET /v1/models;已暴露的 Key 立即轮换。 |
| 验证返回 404 | /v1 缺失或重复、Host 错误,或反向代理改写路由。 | 使用本页准确 Base URL,并检查脱敏响应。 |
| 连接已保存但没有模型 | 直接模型列表输出和 Model IDs (Filter)。 | 直接请求成功后,再加入少量准确当前 ID。 |
| 有模型但聊天失败 | 该模型是否支持 Chat Completions,以及脱敏 HTTP 状态和 Body。 | 用最小 cURL 测试相同 ID,并按错误排查指南处理。 |
| Docker 中 Open WebUI 超时 | 容器 DNS、出站防火墙、代理/VPN 变量、TLS 和模型列表超时。 | 从 Open WebUI 容器内部测试提供商可达性。 |
| 普通聊天成功但工具或 RAG 失败 | 可选接口与模型能力。 | 关闭失败功能,再单独验证其接口。 |
保护多用户 Open WebUI 连接
Open WebUI 管理员配置的提供商 Key,可能被获准用户用于消耗对应提供商账户额度。应保护管理面板、启用 HTTPS、按工作负载限制 Key、设置额度或过期控制、限制可见模型白名单并监控用量。
Open WebUI 官方指南建议多用户连接不要使用管理或 Master Key,而应优先使用最小权限凭据。这是 Open WebUI 的安全建议,不代表其对 Primordial AI 的背书。
常见问题
应该填写什么 Base URL?
在 OpenAI 兼容连接中使用 https://www.primoraihub.com/v1。
Open WebUI 如何发现模型?
它使用 Bearer Token 调用提供商的 /models;在这个 Base URL 下对应 GET /v1/models。
为什么验证返回 401?
检查 Key、账户、空白字符和准确 Base URL;直接测试模型接口,但不要记录密钥。
聊天成功是否证明所有 Open WebUI 功能可用?
不能。流式、工具、RAG、图片和音频必须按具体接口与模型分别验证。
多用户能否共用一个 Key?
管理员可以配置共享连接,但获准用户会消耗其额度。应使用受限 Key、限制模型、保护管理员权限并监控用量。