Open WebUI 完全没有发布价格表:openwebui.com/pricing 和 openwebui.com/enterprise 均返回 404,并且聊天界面可以免费自行托管,没有席位上限,也没有请求上限。企业许可证限制的是移除 Open WebUI 品牌标识以及使用 Terminals 等企业专属附加功能,而不是使用它的人数。买方真正需要关注的数字,是项目不会向您收取的三项费用——机器、模型 token,以及 Open WebUI 内部悄悄发送的您没有输入的 token。以下将逐项说明,并附来源和核查日期。
这个问题流传着三种错误价格,先澄清它们。每席位每年 60 美元是真实且官方的价格,但它属于 Open WebUI Computer 的 Supporter 层级——即 cptr 软件包;这是同一团队推出、采用不同许可证的独立产品,其免费层级写明“永远为 0 美元”。搜索结果中归因于 Open WebUI 的年度企业价格来自第三方托管供应商,官方页面上没有出现,因此本文不重复。另有一个每月 19 美元的“Pro”计划属于 openwebui.net——这是一个与 openwebui.com 不同的相似域名,其应用在自己的文案中标为“NextChat”(核查日期:2026 年 9 月 21 日)。这里提及它是为了便于您识别,并且特意不提供链接。
软件的成本,以及许可证实际限制的内容
项目主页宣传的是安装方式,而不是套餐:“pip install open-webui / 一条命令。60 秒。不需要账户。”仓库仍然活跃且未归档,其在 main 上的最新提交日期为 2026 年 9 月 4 日。当前版本为 v0.11.3,其文件于 2026 年 8 月 31 日发布到 PyPI。需要注意一个官方信息不一致之处:主页博客卡片仍以 8 月 25 日的 v0.11.1 为标题。那是一篇博客文章,不是版本横幅;GitHub Releases才是版本发布的依据。
许可证同样需要谨慎解读。GitHub 将其报告为 NOASSERTION /“Other”,而第三方文章通常仍称其为 BSD-3。两者都只说对了一半。LICENSE 文件包含 BSD-3 文本以及第四条款;该条款在 v0.6.6 中引入,禁止修改、移除、遮蔽或替换 Open WebUI 品牌标识,但以下情况除外:任意滚动 30 天期间“终端用户总数……不超过五十(50)人”;您获得了书面许可;或您持有企业许可证。项目的许可证页面明确写道:“品牌要求仅适用于较大规模的部署(总计 50+ 名用户)”,并且“任何人仍可从 v0.6.5 分叉,且不受任何限制”。因此:该许可证目前不是 OSI 批准的许可证,但也不是使用人数上限——该门槛限制的是重新品牌化,而不是运行它。
| 项目 | 费用 | 来源,核查日期:2026 年 9 月 21 日 |
|---|---|---|
| Open WebUI,自行托管,保留品牌标识 | $0——列为“标准使用……免费” | Open WebUI 企业版 |
| 为界面使用白标或重新品牌化 | 需要企业许可证;未公布具体价格 | 同一页面,同一表格 |
| 企业许可证本身 | 关于席位数量的私下报价 | “请向我们提供您的部署终端用户数量(席位)” |
| 个人企业许可证 | 不出售 | “仅面向已注册实体和组织……无法接纳个人用户” |
Open WebUI Computer(cptr),另一款产品 | 永远为 $0;Supporter 版 $60 / 席位 / 年;企业版定制 | openwebui.com/computer |
| 模型令牌 | 你的提供商按 token 收取的费率 | 你的提供商自己的账单 |
项目用自己的话说明,企业许可证授予的是“白标、重新品牌化、修改原始品牌标识,或使用 Terminals 等企业专属产品”。Terminals被记录为 Open Terminal 的编排层:它会为每位用户配置一个独立工作区,包括文件、进程、软件包环境、资源限制和网络边界;这是许可证限制的功能示例,而不是品牌标识。第三方供应商提供的托管“Open WebUI hosting”又是另一回事:那是由他人基础设施产生的服务器账单。本页面没有获得任何托管主机的已验证价格——核查的一家供应商计划页面在普通抓取中显示的是价格占位符而非数字——因此不引用任何价格。
“Open WebUI API 成本”包含两个不同的问题
这个问题确实有歧义,而两部分的答案不同。
出站调用才会产生费用。Open WebUI 不自带模型,因此每个 token 都由您配置的端点计费。Open WebUI 自己的 API不收费:在已发布的 v0.11.3 标签中,backend/open_webui/main.py提供 GET /api/models(L874)、POST /api/chat/completions(L1085),以及一个更新且容易被忽略的 Anthropic 形式端点 POST /api/v1/messages(L1976),旁边还有 POST /api/v1/messages/count_tokens(L1907)。您使用自己的 Open WebUI 密钥进行身份验证,而不是使用供应商密钥。Open WebUI 不会为这些请求收费,因为它们只是入口:每个请求仍会到达您配置的上游,并在那里计费。让自己的脚本指向 Open WebUI 而不是供应商,只会改变路由,不会改变账单。
您没有输入、却会计费的调用
这是费率比较遗漏的部分。在 backend/open_webui/config.py 的 v0.11.3 标签中,四个后台生成器默认开启,另一个关闭。
| 设置 | v0.11.3 中的默认值 | 它会消耗什么 |
|---|---|---|
ENABLE_TITLE_GENERATION(L2312) | True | 每次新聊天额外生成一次 completion,用于命名 |
ENABLE_TAGS_GENERATION(L2310) | True | 每次新聊天额外生成一次 completion,用于添加标签 |
ENABLE_RETRIEVAL_QUERY_GENERATION(L2317) | True | 每次运行检索时额外生成一次 completion |
ENABLE_SEARCH_QUERY_GENERATION(L2315) | True | 使用网页搜索时额外生成一次 completion |
ENABLE_AUTOCOMPLETE_GENERATION(L2346) | False | 除非您将其开启,否则不会产生任何费用 |
TASK_MODEL / TASK_MODEL_EXTERNAL(L2193、L2195) | 空 | 空值表示这些任务会使用您的聊天模型 |
本页面没有测量实际会增加多少 token,任何声称具体百分比的说法都会是编造的。可以核查的是其结构:这些开关已开启,但任务模型未设置,因此命名和标签流量会按该对话当前使用的聊天模型计费,直到您在 TASK_MODEL_EXTERNAL 中指定一个便宜的 ID。Open WebUI 自己的 FAQ也表达了相同意思——“默认情况下,这些任务使用您正在聊天时使用的同一模型”——并建议采用相同的修复方式。预算前还应了解两个相反的默认值:网页搜索关闭(ENABLE_WEB_SEARCH,L1155),图像生成关闭(ENABLE_IMAGE_GENERATION,L1336),而代码解释器开启(L422)。
四个子系统,四个端点槽位——以及一个值得再读一遍的默认值
聊天兼容性不会自动延伸到产品的其他部分。检索嵌入、语音转文本、文本转语音和图像生成各自拥有独立的 base URL 与密钥对,而它们的回退值都是同一个 OPENAI_API_BASE_URL。令人意外的是:在 v0.11.3 标签中,连接列表构建完成后,config.py 的第 365 行会无条件重新赋值 OPENAI_API_BASE_URL = 'https://api.openai.com/v1'。因此,之后计算出的每个子系统默认值——RAG_OPENAI_API_BASE_URL(L1092)、IMAGES_OPENAI_API_BASE_URL(L1490)、AUDIO_STT_OPENAI_API_BASE_URL(L1565)、AUDIO_TTS_OPENAI_API_BASE_URL(L1606)——无论您为聊天设置了哪个变量,最终都会解析到 OpenAI 的端点。这是从源代码读取的模块级默认值;这些值会为持久化配置提供初始值,随后管理员界面可以覆盖它们;本页面未在运行中的实例中复现该行为。Issue #22084描述了相同症状;该问题于 2026 年 3 月 1 日创建,目前已关闭并标记为完成,因此应将上述源代码读取结果视为 v0.11.3 的模块级默认值,而不是一个开放问题。
好消息是,在默认设置下,这四个槽位都不会产生 API 支出。
| 子系统 | v0.11.3 中的默认值 | 默认情况下的成本 |
|---|---|---|
| 文档检索 | RAG_EMBEDDING_ENGINE为空(L996);模型为 sentence-transformers/all-MiniLM-L6-v2(L1002) | 不会产生 API 支出——嵌入步骤在本地、使用您自己的 CPU 和 RAM 运行 |
| 语音转文本 | AUDIO_STT_ENGINE为空(L1571),本地 Whisper | 不会产生 API 支出;改为使用本地计算 |
| 文本转语音 | AUDIO_TTS_ENGINE为空(L1620) | 不会产生 API 支出——引擎未设置时,服务器自己的 /audio/speech 路由会返回 404,而不是发起外部调用(routers/audio.py L559) |
| 图像生成 | 关闭(L1336) | 在启用它并选择端点之前不会产生任何费用 |
Kunavo 不提供嵌入、不提供语音转文本,也不提供文本转语音。
这一边界决定了您能否将这些槽位指向网关:RAG_OPENAI_API_BASE_URL、AUDIO_STT_OPENAI_API_BASE_URL 和 AUDIO_TTS_OPENAI_API_BASE_URL 不能指向这里。让检索步骤保持本地默认设置——这是产品随附的设置,也是免费的设置——或者将其发送给确实提供该步骤的供应商。检索账单中唯一会到达聊天供应商的部分,是检索到的文本;它会作为下一条提示中的普通输入 token 到达。RAG 实现介绍了分块大小和 top-k 如何转化为输入数量。
# The chat connection. This is the only slot the setup guides cover.
OPENAI_API_BASE_URL=https://api.kunavo.com/v1
OPENAI_API_KEY=sk-kn-...
# Titles, tags and retrieval queries run on the CHAT model unless you say
# otherwise. TASK_MODEL_EXTERNAL defaults to empty (config.py L2195).
TASK_MODEL_EXTERNAL=claude-haiku-4-5
# Leave the document-embedding step alone: empty means local, and local
# means no API spend at all (config.py L996 and L1002).
RAG_EMBEDDING_ENGINE=
RAG_EMBEDDING_MODEL=sentence-transformers/all-MiniLM-L6-v2一个聊天日的示例估算
这是用于说明的 token 算术,不是实测成本,也不是账单上限。假设一个人在聊天窗口中工作一天:40 轮助手回复,每轮发送 6,000 个未缓存输入 token(可见线程加上任何检索到的分块),并返回 700 个输出 token——总计 240,000 个输入 token 和 28,000 个输出 token。假设当天有8 个新聊天,并且 Open WebUI 默认的标题、标签和检索查询生成器每个聊天额外发起三次调用,每次 2,000 个输入 token 和 40 个输出 token。每次调用的大小是一个假设,并非实测值。费率采用Kunavo 目录中按百万 token 计价的实时价格。
| 模型 | 每 1M 个令牌的输入 / 输出 | 40 轮聊天 | 后台任务 | 每日总计 |
|---|---|---|---|---|
| Claude Haiku 4.5 | $0.70 / $3.50 | $0.266 | $0.037 | $0.303 |
| GPT-5.6 Terra | $0.70 / $4.20 | $0.286 | $0.038 | $0.323 |
| Claude Sonnet 4.6 | $2.10 / $10.50 | $0.798 | $0.111 | $0.909 |
| Claude Sonnet 5 | $1.40 / $7.00 | $0.532 | $0.074 | $0.606 |
请阅读最后一列,而不是聊天列。在这些假设下,后台流量约占一天的 12%——在用于命名和标记聊天的 Claude Sonnet 5 中花费 $0.074,占 $0.606。将 TASK_MODEL_EXTERNAL 设置为 Claude Haiku 4.5 后,这部分降至 $0.037,当天总额降至 $0.569,而任何人实际阅读的内容不变。仅这一项设置对账单的影响,就大于在相同层级之间更换供应商的影响。
在将其视为预算前,请根据您自己的用户人数和天数进行缩放,并注意该算术未包含的内容:提示缓存、图像或视频生成,以及代码解释器调用的任何工具。Kunavo 目录金额是计费下限,而不是上限——当上游报告其费用时,账单取目录成本与上游成本乘以适用加价两者中的较高者。Kunavo 最低充值金额为$10 的预付余额;这是资金最低限额,不是订阅费或按席位收费。请参阅计费详情和使用情况中的每请求账本。Open WebUI 也会报告自己的视图:v0.11.3 README描述了管理员仪表板,可“跟踪用户和模型之间的消息量、token 消耗和成本”。本页面未实际使用该功能;两个计量器统计相同流量时不会逐 token 一致,因此请根据您实际资助的一方进行核对。
哪条路径胜出,以及何时胜出
| 方式 | 适用场景 | 你放弃的内容 |
|---|---|---|
| 直接调用提供商 API | 一家供应商的模型覆盖用户的全部需求 | 第二个模型系列意味着第二个连接、第二个密钥和第二个需要监控的余额 |
| 网关(Kunavo 及其替代方案) | 您希望在一个选择器中、通过一个密钥提供多个模型系列,并在一个位置查看每个模型的价格 | 位于您与供应商之间的一层;原生提示缓存等供应商特定的附加功能在不同网关上的表现不同,依赖它们前应先进行测试 |
| 通过 Ollama 或 llama.cpp 使用本地模型 | 私密或低风险工作、不按请求收费,并且 Open WebUI 原生记录了这两种方式 | 相对于托管前沿模型而言需要硬件且能力存在差距;检索和长线程消耗的是 RAM,而不是美元 |
| 消费者聊天订阅 | 您主要想使用某一家供应商自己的产品 | 无法连接:Open WebUI 需要 API 端点,而聊天订阅不是 API 端点 |
| 托管的 Open WebUI 服务 | 您不想运行容器 | 在 token 账单之上的服务器账单;由于无法核实价格,本页面不引用任何价格 |
有一项协议细节比供应商选择更能决定配置方式。Open WebUI明确以协议为导向——它实现 OpenAI Chat Completions 协议,并拒绝在核心中加入供应商专属 API——因此应提供给它的是 OpenAI 形式的 /v1 根路径,即使使用 Claude 模型也是如此。它自己的 Anthropic 页面将 https://api.anthropic.com/v1 配置为 OpenAI 连接,并转述 Anthropic 的警告:该兼容层适用于测试,而非生产环境。每个连接还提供 API Type 切换项,可选择 Open Responses;文档将其标记为实验性功能,并警告“可能无法按预期与所有供应商配合”。Kunavo 提供 Responses 形式的路由,但本页面未对该组合进行运行时测试,因此应将 chat-completions 路径视为已知可用路径,而将该切换项视为可在备用连接上尝试的选项。
如果您比较的是前端本身,而不是供应商?LibreChat 与 Open WebUI和AnythingLLM 与 Open WebUI介绍了这项选择,而最佳 LLM 网关则按照费率和资金条款,而不是集成深度,比较网关层。
完成配置,然后检查第一天的费用
连接位于 Settings → Admin → Connections → “Manage OpenAI API Connections” → “Add Connection”,其中包含 URL 和 API Key 字段;也可以在容器启动时使用上面的两个环境变量完成同样配置。请保留 URL 末尾的 /v1——Open WebUI 会自行追加路由,而源代码会移除末尾斜杠。
有一种故障模式值得提前了解,因为它看起来像是集成失效,但实际并非如此。Open WebUI 自己的文档说明,保存连接不会测试连接,Verify 按钮会调用供应商的 /models 端点;如果该调用失败,“这并不意味着供应商不兼容:聊天补全仍然可以工作”——您应改为在每个连接的 Model IDs 允许列表中输入模型 ID。无论如何都值得填写该允许列表:在包含图像、视频和音乐模型的目录中,空筛选器会将聊天窗口无法调用的模型放入选择器。
Kunavo 为此客户端发布了配置指南。这是一份已发布的配置参考,而不是兼容性测试——本页面尚未在运行时使用 Kunavo 端点测试 Open WebUI;以上内容均来自 Open WebUI 已发布的源代码及其自身文档。尝试时请保留一条可用路由,运行一个有明确边界的日程,然后查看您的账户实际记录了什么。准备开始时,请先阅读 Open WebUI 集成指南,并在准备为密钥充值时创建 Kunavo 账户。
常见问题
Open WebUI 需要多少钱?
软件免费,并且没有可供查阅的价格表:openwebui.com/pricing 和 openwebui.com/enterprise 都返回 404,主页自身的安装说明是“pip install open-webui / 一条命令。60 秒。不需要账户。”(检查日期为 2026 年 9 月 19 日)。运行它没有席位上限,也没有请求上限。你实际支付的是运行它的机器费用、它发送出去的模型令牌费用,以及——如果你想移除 Open WebUI 品牌,或想使用 Terminals 等仅限企业版的附加功能——企业许可证费用;该费用没有公布具体数字,项目会在你发送席位数量后报价。
Open WebUI 有价格页面或已公布的企业版价格吗?
没有。其企业版文档要求你发送最终用户数量(席位),并说明企业许可证仅向已注册的实体和组织提供,不向个人用户提供。任何官方 Open WebUI 页面都没有出现美元金额。第三方托管供应商和内容网站会发布名为“Open WebUI pricing”的方案表和年度数字,但项目本身并未发布这些内容;应将其视为供应商内容。另一个相似域名 openwebui.net 以每月 $19 的价格销售名为“Pro”的方案,所对应的应用品牌为“NextChat”;它不是 openwebui.com,也不是由该项目运营。
运行 Open WebUI 供超过 50 名用户使用,需要企业许可证吗?
根据项目自己的企业版表格,不需要。该表格将“标准使用”——保留原始品牌标识的内部使用——列为免费;只有白标、重新品牌化或企业专属产品才需要企业许可证。五十名用户的门槛位于 LICENSE 第 4 条,仅限制一件事:在任意滚动三十天期间,您是否可以未经许可修改、移除、遮蔽或替换 Open WebUI 品牌标识。大规模部署前请自行阅读许可证文本;本文只是摘要,不构成法律建议。
Open WebUI 最适合使用哪个 API?
这取决于您希望在选择器中提供多少家供应商。Open WebUI 不自带模型,也不设供应商允许列表,因此每条路径都可供选择:如果一家供应商的模型已经覆盖您的全部需求,并且您希望使用该供应商自己的缓存和批处理条款,那么直接供应商 API 更合适;如果您希望通过一个密钥和一个余额,让模型选择器在一个连接下提供多个模型系列,那么网关更合适;对于私密或低风险工作,且不想按请求付费,则通过 Ollama 或 llama.cpp 使用本地服务器更合适。直接供应商 API 和网关的配置量相同——无论哪一种,Open WebUI 的 OpenAI 兼容连接表单都只需要 URL 和 API 密钥。本地服务器则不同:您还必须安装并运行它;Open WebUI 在各自的连接页面中提供了 Ollama 和 llama.cpp 的文档。
Open WebUI 最便宜的 API 是哪个?
标价最低与获得答案的成本最低,是两个不同的问题。聊天界面每轮都会为整个可见线程计费,因此在低费率模型上进行长对话,成本可能高于在高费率模型上进行短对话;而需要第二次尝试的模型,成本会翻倍。三个设置对聊天账单的影响可能大于费率表:默认标题、标签和检索查询生成使用哪个模型;每个提示中填入多少检索到的文档文本;以及在开始新线程前允许一个线程增长到多长。先调整这些设置,再比较费率。
Open WebUI 最适合使用哪个模型?
应根据上下文窗口实际承担的任务来选择,而不是依据基准排名。长篇粘贴文档和 RAG 线程需要较大的上下文窗口以及较低的输入费率,因为聊天界面消耗最多的是输入 token。工具调用和内置代码解释器需要模型在您实际使用的端点上具备可靠的函数调用能力——Open WebUI 自己的供应商文档警告称,Google 的 OpenAI 兼容端点会丢弃流式工具调用;这是该端点的特性,而不是模型本身的特性。如果用户会粘贴屏幕截图,视觉能力很重要。合理的配置是使用两个连接:一个便宜模型作为默认模型,另一个强大模型供用户切换。
Open WebUI 和 text-generation-webui 是同一个东西吗?
不是。Open WebUI 是 open-webui/open-webui,由 Open WebUI Inc. 维护,最新版本为 v0.11.3。oobabooga 的 text-generation-webui 是另一个维护者开发的不同项目,现在更名为 TextGen,并迁移到了 github.com/oobabooga/textgen。两者都提供 OpenAI 兼容 API,因此一个项目的配置片段放到另一个项目中看起来可能合理,但并不通用。
Open WebUI 页面、仓库、提交历史和软件包已于 2026 年 9 月 19 日检查,并于 9 月 21 日重新检查;openwebui.com/pricing 和 openwebui.com/enterprise 的 404 响应已直接获取;引用的每个配置默认值均在已发布的 v0.11.3 标签中读取,而不是在 main 中读取。未检查内容:托管服务价格、任何企业美元价格、默认后台任务的 token 开销、Open WebUI 自己的使用情况仪表板,以及 Open WebUI 对 Kunavo 的任何端到端运行。Kunavo token 费率来自实时目录,本文所有美元示例均为说明性的 token 算术。