Open WebUI 是更轻量的部署,也是更安全的默认选择;LobeHub——原名 LobeChat 的产品——适合在你需要每个用户独立的 API 密钥、Anthropic 协议基础 URL,或其代理和插件能力,并且愿意运行 PostgreSQL 实例来获得这些功能时选择。这就是完整的决策,而之所以差距并不更小,是因为 LobeHub 2.0 删除了曾经让两者安装复杂度相近的无数据库模式。
首先是名称。LobeChat 是一个已弃用的产品名称。仓库lobehub/lobe-chat现在通过 GitHub 的重命名重定向解析到lobehub/lobehub,当前 README 中任何地方都不包含字符串“LobeChat”。域名 lobechat.com 仍能解析,并重定向到app.lobehub.com。该仓库仍处于活跃状态,并未归档:最后一次推送为 2026 年 9 月 21 日,拥有 82,713 个 star,最新稳定版本v2.2.18于 2026 年 9 月 20 日发布。请从 API 读取该版本号,而不要从 Releases 页面读取,因为该页面主要由v0.0.0-nightly.*预发布版本占据。Open WebUI同样处于活跃状态——最后一次推送为 2026 年 9 月 21 日,拥有 152,671 个 star,最新稳定版本 v0.11.3 于 2026 年 8 月 31 日发布。Star 数量和推送日期每天都会变化;这些数据于 2026 年 9 月 21 日从 GitHub API 读取。
应该选哪一个
如果你是希望今天下午就运行聊天 UI 的个人或小团队,希望在无需注册第二个 API 的情况下检索自己的文档,或者部署必须保持为单个容器,请选择 Open WebUI。它的权限模型从设计上就是以管理员为中心:只有管理员可以添加模型连接,因为ENABLE_DIRECT_CONNECTIONS默认设置为False;当你支付令牌费用且不希望每个用户粘贴自己的端点时,这是正确的默认设置。
如果你明确需要以管理员为中心的模型所排除的功能——让各个用户持有自己的密钥和基础 URL,并使用KEY_VAULTS_SECRET对其进行静态加密——或者你希望使用 Anthropic SDK 形式而不是 chat completions,或者你认同其智能体和插件的发展方向,请选择 LobeHub。还要考虑其重新定位:LobeHub 的仓库描述现在称其为“你的首席智能体运营官,将你的智能体组织起来,实现 7×24 全天候运作”,而 Open WebUI 的描述仍是“易于使用的 AI 界面(支持 Ollama、OpenAI API 等)”——两者均于 2026 年 9 月 21 日读取。如果你寻找的是 2024 年的聊天应用,这一差异是首先需要检查的内容。
该选择的代价,按实际最可能困扰你的程度排列:部署(一个容器,对比一个 Postgres 实例、五个密钥和可选的 S3)、协议覆盖范围(LobeHub 会将 Anthropic 发送到你提供的任意基础 URL;Open WebUI 将其 Anthropic 原生处理绑定到api.anthropic.com主机名,并提供一个更窄的例外路径——见下文)、许可证形式(不同的付费边界,两者都不是 OSI 许可证),以及迁移(任一方向都没有导入器,因此无论选择哪个,日后重新选择都会让你付出历史记录的代价)。
LobeHub 与 Open WebUI:实际差异是什么
| LobeHub(原名 LobeChat) | Open WebUI | |
|---|---|---|
| 最低自行托管要求 | 带 pgvector 和 pg_search 的 PostgreSQL 17,然后在端口 3210 上运行应用容器 | 一个容器加一个命名卷,或pip install open-webui |
| 必须提供的密钥 | AUTH_SECRET, JWKS_KEY, KEY_VAULTS_SECRET, DATABASE_URL, APP_URL | 无——WEBUI_SECRET_KEY会在首次启动时自动生成并持久化,不过快速开始会显式设置它 |
| 无数据库模式 | 已在 2.0 中移除——NEXT_PUBLIC_SERVICE_MODE已不存在 | 默认使用 SQLite,无需外部数据库 |
| 自定义端点,按用户设置 | 是——按用户加密密钥和代理 URL | 默认关闭(ENABLE_DIRECT_CONNECTIONS为False) |
| 自定义供应商的请求格式 | 九种,包括 OpenAI、Anthropic、Google、Ollama 和 New API | OpenAI chat completions;Anthropic 原生发现绑定到api.anthropic.com主机名,Messages 透传还绑定到标记为litellm的连接 |
| 知识库 / RAG | 需要 Postgres、S3 和嵌入 API——默认使用 OpenAI text-embedding-3-small | 开箱即用地使用本地 SentenceTransformers 模型 |
| 托管版本 | LobeHub Cloud,四个已发布层级 | 无——该项目只销售企业许可证 |
| 最新稳定版本 | v2.2.18,2026 年 9 月 20 日 | v0.11.3,2026 年 8 月 31 日 |
来源,均于 2026 年 9 月 19 日读取:LobeHub 的Docker 自行托管文档、2.0 不兼容变更和知识库文档;Open WebUI 的快速开始和环境变量参考。LobeHub 的渲染文档网站正处于迁移中,目前数个页面会返回占位说明,因此上述链接指向仓库中的 MDX 源文件。
两者的许可证都不是普通的开源许可证
这是两者之间最明确、可验证的差异,并且两个 GitHub API 响应都对此表示一致:每个仓库都将其许可证报告为NOASSERTION。两者划定付费边界的位置完全不同。
| 项目 | 许可证 | 可免费执行 | 需要付费许可证 |
|---|---|---|---|
| LobeHub | LobeHub Community License,Apache-2.0 加附加条件 | 无需修改源代码即可将其用于商业用途,包括前端和后端 | 开发并分发衍生作品 |
| Open WebUI | Open WebUI License,BSD-3 风格加第 4 条 | 以品牌形式运行它,规模不限 | 在滚动的三十天期间内超过五十名最终用户时修改或删除品牌标识 |
LobeHub 许可证逐字写道,并保留旧名称:“From 1.0, LobeChat is licensed under the LobeHub Community License, based on Apache License 2.0 with the following additional conditions”——随后规定,进行修改和分发需要获得生产方的许可证。Open WebUI 许可证禁止在三个例外之外“altering, removing, obscuring, or replacing any 'Open WebUI' branding”,其中第一个例外是滚动的三十天期间内最终用户不超过五十人的部署。在向法律团队引用摘要之前,请仔细阅读:五十名用户这一数字仅与品牌标识例外有关,而不是普通使用上限。第三方文章经常将其与普通使用上限混为一谈。两份许可证文本均于 2026 年 9 月 19 日读取。
实际运行每项到底要花多少钱
Open WebUI 没有托管版,也没有公布价格:其企业版页面称该软件“对所有人均可按原样免费使用”,你无需企业协议即可部署,而且任何地方都没有出现数字——openwebui.com/pricing和openwebui.com/enterprise都返回 HTTP 404(于 2026 年 9 月 19 日检查)。因此,Open WebUI 这一列就是主机费用加上你的模型令牌费用,仅此而已。
LobeHub Cloud 公布了四个层级。表格前先说明一点:该页面上的月度金额会随计费切换开关变化,同一天的两次截图在年度字符串相同的情况下,返回了不同的月度字符串。请在结账时确认金额,不要相信任一截图。
| LobeHub Cloud 套餐层级 | 公布价格 | 月度额度 | 文件存储 | 向量条目 |
|---|---|---|---|---|
| 免费 | $0.0 月 / $0.0 年 | 500,000 | 10.0 MB | 100 |
| 入门版 | $118.8 年(每月字符串随切换开关变化) | 5,000,000 | 1.0 GB | 5,000 |
| 高级版 | $238.8 年(每月字符串随切换开关变化) | 15,000,000 | 2.0 GB | 10,000 |
| 终极版 | $478.8 年(每月字符串随切换开关变化) | 35,000,000 | 4.0 GB | 20,000 |
| 企业版 | 未公布价格——“联系” | 未说明 | 未说明 | 未说明 |
读取于 2026 年 9 月 21 日,来源为 lobehub.com/pricing。Enterprise 列是唯一列出“Self-hosted Provider”一项的列,同时还包含商业许可证、品牌主题和用户管理。计划表还在全部四个自助服务层级(包括 Free)中勾选了“Bring your own Provider API keys”——但这两点对于自定义基础 URL 是否能在 Cloud 上使用,指向了相反方向,而此页面无法从付费账户之外对此进行确认。下面所有关于连接第三方端点的内容,均针对自托管 LobeHub,其中每个字段都有文档说明。
定价页面从未说明的另一件事是:一个 credit 价值多少美元。LobeHub 只说明“LobeHub Cloud 使用 Credits 衡量模型用量(映射到 tokens)”,然后公布每个模型的 credit 费率——Claude Haiku 4.5 每 1M 个输入令牌为 1M credits、每 1M 个输出令牌为 5M credits;GPT-6 Astra 和 Claude Fable 5.1 为 10M / 50M;DeepSeek V4.1 Flash 为 0.33M / 1.32M。将其中任意一行除以模型供应商自己公布的目录价,都会得到同一个数字:1,000,000 credits ≈ 按目录价计算的 US$1.00 令牌费用。Haiku 4.5 的目录价是每 1M 个输入令牌 $1、每 1M 个输出令牌 $5,其 credit 行为 1M / 5M,这正是本页面实际核查的那一行。请将这个除数视为需要重新测试的假设:针对你计划运行的模型,依据该供应商当前的目录价重新验证,而不要把它当作 LobeHub 已同意的费率。该映射是推导出的算术结果,而非 LobeHub 的声明——这些 credit 数字印在定价页面上,因此你可以重新进行除法计算并决定是否认同,但页面上的任何内容都没有认可这种换算。不要去文档中寻找第二种说法:lobehub.com/docs/usage/subscription/model-pricing当前显示的是迁移占位页,而不是费率表,因此可用于预算的唯一数字来自实时定价页面。
连接第三方端点:真正的边界
这正是两个产品不再可以互换的地方。Open WebUI 默认干净地提供一种协议;LobeHub 将两种协议作为一等配置提供,但代价是安装更复杂。
Open WebUI。在 Settings > Admin > Connections > Manage OpenAI API Connections > Add Connection 中添加连接,填写 URL(保留 /v1)、密钥,以及可选的 Model IDs allowlist。环境变量等效配置也存在,其中有一个陷阱值得单独强调:
# Open WebUI. One protocol, one connection, admin-scoped.
# These are ConfigVar variables: they seed the DATABASE on first boot
# and are ignored on every restart after that. Change an existing
# install in Settings > Admin > Connections, not here.
OPENAI_API_BASE_URL=https://api.kunavo.com/v1
OPENAI_API_KEY=sk-kn-...这些变量在环境变量参考中被标记为 ConfigVar,该参考说明首次启动后,“ConfigVar环境变量将不再使用外部环境变量值”——数据库中存储的值优先。因此,在已经启动过的容器上编辑 OPENAI_API_BASE_URL 不会产生任何作用,这是此配置看起来失效的最常见原因。请改用管理员界面进行修改。另有两个较小的注意事项:OPENAI_API_BASE_URLS和OPENAI_API_KEYS可用分号分隔填写多个端点,OPENAI_API_CONFIGS则是一个按索引键控的 JSON 对象,用于为每个连接设置 enable、prefix_id和model_ids;如果端点没有 /models 路由,Open WebUI 自己的文档称验证会失败并返回 400、401 或 403,但聊天补全仍可正常工作,此时需要手动将模型 ID 输入 allowlist。
精确来说,协议上限是这样的。 Open WebUI 的 Anthropic 支持确实存在,但它位于两个不同的门槛之后——这是大多数文章会简化掉的细节。在 backend/open_webui/utils/anthropic.py 中,is_anthropic_url 字面值为 return 'api.anthropic.com' in url,这个主机名测试决定了 Anthropic 原生模型发现和 x-api-key 请求头替换的开关。位于其他主机名上的网关两者都无法获得。但 is_anthropic_messages_passthrough 会返回 is_anthropic_url(url) or provider == 'litellm',因此 /api/v1/messages 直通并非仅由主机名决定:标记为 litellm provider 的连接会将 Anthropic Messages payload 原样转发到 {base}/messages,保留 Bearer 身份验证,而不是替换为 x-api-key。不启用该标记时,Open WebUI 会将 Messages 请求转换为聊天补全,并将回复转换回来。无论哪种情况,对于第三方端点而言,OpenAI 兼容连接都是更简单的路径,因为模型发现不会从 api.anthropic.com 沿着 Anthropic 路径继续进行。
LobeHub,自托管。OpenAI 形式使用三个变量,Anthropic 形式另使用一组变量:
# LobeHub 2.x, self-hosted. All five below are still in the canary
# .env.example — ACCESS_CODE and NEXT_PUBLIC_SERVICE_MODE are not.
OPENAI_API_KEY=sk-kn-...
OPENAI_PROXY_URL=https://api.kunavo.com/v1
# LobeHub renders only models it has been told about.
# "-all,+x" means "disable everything, then enable x".
OPENAI_MODEL_LIST=-all,+claude-sonnet-4-6,+claude-haiku-4-5,+gpt-5-6-terra
# Optional, and separate: the Anthropic-protocol base URL.
# Note the missing /v1 — this one takes the origin only.
ANTHROPIC_API_KEY=sk-kn-...
ANTHROPIC_PROXY_URL=https://api.kunavo.com有两个细节曾让人花掉一整个晚上。实际上 OPENAI_MODEL_LIST 并非可选——LobeHub 只会渲染它已知的模型,而其自己的文档定义了以下语法:使用 + 添加,使用 - 隐藏,使用 name=display_name 重命名,使用 -all,+x 表示“仅显示 x”。另外两个代理变量的形式不同:对于 OPENAI_PROXY_URL,LobeHub 警告说“如果测试期间 AI 返回空消息,请尝试添加 /v1 后重试”;而 ANTHROPIC_PROXY_URL 默认为 https://api.anthropic.com,不带 /v1,因为 Anthropic SDK 会自行追加该路径。Kunavo 遵循同样的拆分——OpenAI 形式使用 /v1,Anthropic 形式只使用 origin,正如基础 URL 文档所说明的那样。两者的形式在纸面上是一致的;Kunavo 尚未针对其端点对任一客户端进行运行时测试,而已发布的配置指南并不等于兼容性测试。
在界面中,同一件事表现为一个命名提供商:Settings > Language Model > 创建提供商,填写 Provider ID(仅允许小写字母、数字、连字符和下划线,创建后不可变更)、从 OpenAI、Azure OpenAI、Anthropic、Google、Cloudflare、Qwen、Volcengine、Ollama 或 New API 中选择的 Request Format、必填的 Proxy URL,以及 API key。
月度费用估算示例
这是说明性的令牌算术,不是实际账单,也不是上限。假设一个活跃聊天用户使用一个月:2,400,000 个未缓存输入令牌和 360,000 个输出令牌,大约相当于 400 轮,每轮输入 6,000、输出 900。费率采用实时的每百万令牌Kunavo 目录价格。
| 模型 | 每 1M 个令牌的输入 / 输出 | 预计每月费用 |
|---|---|---|
| Claude Haiku 4.5 | $0.70 / $3.50 | $2.94 |
| GPT-5.6 Terra | $0.70 / $4.20 | $3.19 |
| Claude Sonnet 4.6 | $2.10 / $10.50 | $8.82 |
换一个单位来看规模:同一个假设月份,按 LobeHub Cloud 公布的 Claude Haiku 4.5 credit 费率计费,会消耗 4.2M credits——因此它在 Starter 的每月 5,000,000 配额内,但无法放入 Free 的 500,000 配额内。这两列并不是同一种购买内容,把它们呈现为同一种购买是不诚实的:LobeHub Cloud 订阅还包括托管、文件存储和向量条目,而令牌网关不提供这些内容。只有在你已经决定自托管,并且想了解令牌成本时,才应比较它们。
无论最终选择哪个客户端,令牌部分都是预付费的:Kunavo 的最低充值额为$10 的预付费额度,这是资金充值最低额,而不是任务费用或订阅费用。目录金额是计费下限,不是上限——上游报告费用后,账单取目录成本与上游成本乘以适用加价之间的较大值。缓存费用和外部工具不包含在此示例中;请参阅计费详情。还要再次注意,Kunavo 不提供任何嵌入模型,因此 LobeHub 的知识库仍需要自行配置嵌入提供商,而 Open WebUI 的默认配置会在同一台机器上本地运行。
配置其中一个
Open WebUI 是更快可以尝试的方案,Kunavo 也为它发布了配置参考:在 /v1 根路径建立一个连接并填入密钥,即可将 Claude 和 GPT 模型 ID 放入同一个选择器。请从Open WebUI 集成指南开始,准备为密钥充值时再创建 Kunavo 账户。如果你选择 LobeHub,请注意LobeChat 集成文档是为 1.x 产品编写的,其 compose 示例仍然使用已冻结的 lobehub/lobe-chat 镜像——其中列出的三个环境变量仍然正确,但请先拉取 lobehub/lobehub 并启动 Postgres。
还在筛选?LibreChat 与 Open WebUI 对比会在第三个客户端中比较同一个端点问题,AnythingLLM 与 Open WebUI 对比介绍以文档为先的替代方案,而OpenAI 兼容 API解释它们实际连接的是什么。
常见问题
LobeChat 和 LobeHub 是同一个东西吗?
是的——LobeHub 就是 LobeChat 演变而来的产品。GitHub 仓库 lobehub/lobe-chat 现在通过 GitHub 的重命名重定向解析到 lobehub/lobehub,而当前 README 完全不包含 LobeChat 一词。旧名称唯一仍以官方形式保留的地方是 LICENSE 文件,其中仍以“自 1.0 起,LobeChat 根据 LobeHub Community License 获得许可”开头。Docker 镜像也发生了变化:lobehub/lobe-chat 最后一次更新是在 2026 年 1 月 25 日,并冻结在 1.143.3;当前镜像是 lobehub/lobehub。任何仍告诉你拉取 lobehub/lobe-chat 的教程,描述的都是 1.x 产品。
LobeHub 还是 Open WebUI,哪个更容易自行托管?
Open WebUI,而且差距是结构性的,不是界面打磨程度的问题。Open WebUI 的文档化快速开始只需要一个容器和一个命名卷——无需外部数据库,因为它自带 SQLite 和本地嵌入模型。LobeHub 2.0 完全移除了客户端数据库模式,因此现在自行托管首先需要一个 PostgreSQL 实例(文档建议使用带有 pgvector 和 pg_search 扩展的 PostgreSQL 17,并通过 ParadeDB 镜像提供),还需要 AUTH_SECRET、JWKS_KEY、KEY_VAULTS_SECRET、DATABASE_URL 和 APP_URL;如果需要文件上传,还需要兼容 S3 的对象存储。这相当于两个服务和五个密钥,对比一个容器。
我可以将 LobeHub 或 Open WebUI 指向第三方 OpenAI 兼容端点吗?
两个自行托管的产品都接受任意基础 URL,但路径不同。Open WebUI 可在 Settings > Admin > Connections > Manage OpenAI API Connections > Add Connection 中设置一个,也可以在首次启动时设置 OPENAI_API_BASE_URL 和 OPENAI_API_KEY。自行托管的 LobeHub 使用 OPENAI_PROXY_URL 和 OPENAI_API_KEY,并且还需要 OPENAI_MODEL_LIST,因为它只会显示已告知它的模型。LobeHub 还公开了用于 Anthropic 协议的 ANTHROPIC_PROXY_URL。无法在付费账户之外验证 LobeHub Cloud 是否在 Free、Starter、Premium 或 Ultimate 层级接受自定义基础 URL,因此请将这些说明仅视为适用于自行托管的 LobeHub。
Open WebUI 可免费用于商业用途吗?
无论规模多大,运行它都是免费的。Open WebUI 的许可证是一份 BSD-3 风格文本,其文档明确说明该软件可供所有人按原样免费使用,并且今天即可在无需企业协议的情况下部署。在 LICENCE 文本中,付费相关内容只有品牌标识:第 4 条禁止修改、删除、遮挡或替换任何“Open WebUI”品牌标识,但以下情况除外:部署在滚动的三十天期间内最多有五十名最终用户,或你持有书面许可或企业许可证。这个五十名用户的门槛仅适用于白标,而不适用于普通的品牌使用。企业页面划出的范围略宽于许可证文本,将企业专属功能与白标一起列为企业许可证涵盖的内容,因此请针对你需要的具体功能查看该页面,不要将第 4 条理解为完整边界。任何地方都没有公布企业许可证的价格——openwebui.com/pricing 和 openwebui.com/enterprise 都返回 404,销售表单会询问你预计的席位数量。你在第三方“Open WebUI pricing”页面上找到的任何美元金额,都是该网站自行编造的。
Open WebUI 原生支持 Claude 吗?
它有原生 Anthropic 代码路径,并且有两个不同的门控条件。 在 backend/open_webui/utils/anthropic.py 中,is_anthropic_url 仅在字符串 api.anthropic.com 出现在 URL 中时返回 true;该主机名测试控制 Anthropic 原生模型发现和 x-api-key 标头切换——第三方网关两者都无法获得。/api/v1/messages 到 /v1/messages 的透传门控范围更宽一步:is_anthropic_messages_passthrough 在该主机名出现,或连接的 provider 设置为 litellm 时返回 true,因此其他主机名上的网关可以在其连接带有该标记时接收原样的 Anthropic Messages 请求,但身份验证仍使用 Bearer 令牌。没有该标记时,Open WebUI 会将 Messages 请求转换为 chat completions,并将回复转换回来。因此,对任何网关而言,最简单的路径是 OpenAI 兼容路径:将一个 /v1 连接指向该网关,然后通过该连接选择 Claude、GPT 或 Gemini 模型 ID。
我可以将聊天记录从 LobeChat 迁移到 Open WebUI,或反向迁移吗?
没有随附的工具可以做到这一点。双方都支持导出,但都没有记录可导入对方格式的工具。LobeHub 的 Settings > Data Storage 面板会导出带日期的 JSON 文件,也可以重新导入相同的 JSON;单个对话可以下载为 Markdown 或 OpenAI 格式 JSON。文档化的迁移路径是 1.x 本地数据库到 2.x 服务器数据库,而不是跨产品迁移。Open WebUI 提供 USER_PERMISSIONS_CHAT_EXPORT 用于按对话下载,提供 ENABLE_ADMIN_EXPORT 用于导出聊天和数据库,两者默认均为 true;其中数据库导出仅支持 SQLite。在两者之间迁移意味着编写自己的转换器,或接受历史记录丢失。
哪个产品的知识库需要嵌入 API 密钥?
LobeHub 需要;Open WebUI 不需要。LobeHub 的知识库文档将带 PGVector 的 PostgreSQL、兼容 S3 的对象存储和嵌入服务列为核心组件,并说明它默认使用 OpenAI 的 text-embedding-3-small,因此需要一个有权访问该模型的有效 OpenAI API 密钥。后续章节列出 zhipu、github、openai、bedrock 和 ollama 作为自定义嵌入供应商。Open WebUI 的 RAG_EMBEDDING_ENGINE 默认为空,意味着使用本地 SentenceTransformers 和 sentence-transformers/all-MiniLM-L6-v2,因此检索完全不需要嵌入密钥即可工作。Kunavo 不提供嵌入模型,所以在 LobeHub 中,无论哪个网关回答你的聊天流量,嵌入步骤都必须通过外部供应商或本地运行。
于 2026 年 9 月 21 日重新核查:通过 GitHub API 核查的两个 GitHub 仓库及其最新发布版本、两个 LICENSE 文件、canary 分支中的 LobeHub 自托管、知识库、迁移和模型提供商文档、源代码中的 LobeHub 自定义提供商表单、lobehub.com/pricing、Docker Hub 上的 lobehub/lobe-chat 镜像、Open WebUI 的环境变量参考、快速入门、企业版和提供商连接文档,以及 main 分支中的 Open WebUI anthropic.py 和 main.py。两个产品均未安装或运行,因此本文没有任何运行时兼容性声明。Kunavo 令牌费率来自实时目录;本文中的每个美元金额均为说明性的令牌费用计算。LobeHub Cloud 的积分到美元费率是推导出的,并非已公布的;LobeHub Cloud 的自定义基础 URL 也无法得到验证。