当你想要一个开箱即用、以工作区为形态的 RAG 产品——文档、本地嵌入器、本地向量存储和 agent 都集成在一次安装中——请选择 AnythingLLM。当你想要一个具备免费基于角色的访问控制的多用户聊天平台,并且本来就会自带模型端点时,请选择 Open WebUI。 两者都可以免费自行托管,也都接受第三方 OpenAI 兼容的基础 URL 和密钥;在两种情况下,持续性账单都是托管费用加模型 token,而不是软件费用。
本页面从两个方向回答了这一比较;没有单独的反向顺序页面,因为“AnythingLLM vs Open WebUI”和“Open WebUI vs AnythingLLM”是同一个决策。下文所有断言均引自各项目自身的网站、文档或代码仓库,并于 2026 年 9 月 18 日检查。Kunavo 未对任一客户端进行运行时测试,因此这里没有基准测试、延迟数据或检索质量结论。
在比较之前先说明一个名称问题:Open WebUI 以前叫 Ollama WebUI;在项目自己的公开命名讨论中,Ollama 团队表示希望避免用户将该项目误认为官方 Ollama 商标项目,因此之后进行了更名。其团队页面称,该项目由创建者和创始人 Tim J. Baek 领导。仍然保留旧宣传语的分支并不是独立的现存竞争产品。text-generation-webui、Stable Diffusion web UI 和 Mozilla AI 的any-llm库也都不是。
应该选择哪一款
| 您的情况 | 选择 | 为什么 |
|---|---|---|
| 一个人、一台笔记本电脑,以及不应离开这台电脑的文档 | AnythingLLM Desktop | 一次安装,内置 LLM 提供商——这是其功能表标记为仅限桌面版的两行之一,另一行是“一键安装”——再加上本地嵌入器和本地向量存储;无需托管 |
| 需要账户、角色和按资源访问权限的团队 | 两者皆可,但请看模型 | Open WebUI 提供 Admin / User / Pending 角色、用户组和按模型的访问控制,且没有许可限制;AnythingLLM 只有 Docker 版本支持多用户 |
| 你希望多人同时打开一个浏览器界面 | Open WebUI,或 Docker 上的 AnythingLLM | AnythingLLM Desktop 完全没有可通过浏览器访问的界面,其网络发现开关暴露的是 API,而不是界面 |
| 你希望有人为你组装好检索流水线 | AnythingLLM | 工作区、文档处理、agent 以及由你定义的规则驱动的模型路由器会一并提供;在你进行任何配置之前,检索就可以使用捆绑的本地嵌入器和存储 |
| 你希望自行塑造检索的每个部分 | Open WebUI | 嵌入引擎、混合 BM25 搜索、外部重排序和向量存储,全部通过你设置的环境变量配置 |
| 你希望将界面进行白标化 | Docker 上的 AnythingLLM | 白标化是文档明确说明的 Docker 功能;Open WebUI 对超过 50 名用户的品牌标识更改有限制 |
| 你完全不想运行服务器 | AnythingLLM Cloud | 这里唯一的第一方托管选项——Open WebUI 自身的部署选项全部是自行托管——并且它存在下文列出的实际功能限制 |
两者之间的迁移在一个方向上比看起来便宜,在另一个方向上则不是。聊天连接具有可移植性:相同的基础 URL 和密钥可以在几分钟内迁移。你的文档则不能——每个产品都有自己的工作区或知识模型以及自己的向量存储,因此切换意味着重新摄取并重新生成语料库嵌入。在承诺之前,有两道单向门值得了解:AnythingLLM 文档说明,一旦实例进入多用户模式,就无法恢复为单用户模式;而 AnythingLLM Desktop 被描述为单用户应用,因此从桌面试用成长为团队部署时,需要迁移到 Docker,而不是升级。
每个产品的费用
| 版本 | 公布价格 | 价格包含和不包含的内容 |
|---|---|---|
| AnythingLLM Desktop | 免费 | 单用户;不支持多用户、浏览器界面或白标 |
| AnythingLLM 自托管(Docker) | 免费,采用 MIT 许可证 | 解锁多用户、用户管理、白标和可嵌入聊天小组件的版本 |
| AnythingLLM Cloud——Basic | $50/月 | 专用实例和自定义子域名;页面本身写着“只需提供 LLM API Key”,因此不包含推理。未公布席位数量或使用配额 |
| AnythingLLM Cloud——Pro | $99/月 | 宣传为“借助优先资源提供更高性能”,支持响应目标为 72 小时;云端限制页面称 Professional 层级的计算资源多于 Starter。依然未公布席位数量或配额 |
| AnythingLLM Cloud——Enterprise | 联系我们 — 未公布价格 | 本地部署、自定义集成、SSO 和 RBAC |
| AnythingLLM Desktop Pro | 任何公开页面均未公布 | 提高三个设备端 Magic 功能的每日上限并移除文档水印;不限制 RAG、代理或模型连接 |
| Open WebUI — 标准自托管使用 | 免费 | 模型连接、RAG 和 RBAC 文档均未设置许可证限制;在 30 天内超过 50 名用户时必须保留品牌标识 |
| Open WebUI — 企业许可证 | 仅提供报价 — 未公布价格或层级 | 白标、品牌重塑和 Terminals 功能;其页面称生产环境使用需要企业许可证;面向已注册组织提供,不面向个人 |
来源均于 2026 年 9 月 18 日核查:AnythingLLM 定价、Desktop Pro 概览、Open WebUI 企业许可以及其许可证页面。有三点需要注意。第一,“AnythingLLM Pro”指代两个互不相关的产品——99 美元的托管 Cloud 层级和 Desktop Pro 许可证密钥——因此未说明具体是哪一个产品的价格没有意义。第二,我们能够访问的任何地方都未公布 Desktop Pro 价格:核查当日,唯一的结账 URL 拒绝非浏览器请求,因此应将该金额视为未经验证,并在结账页面确认。第三,供应商自己的页面对层级名称存在不一致——定价页面称为 Basic 和 Pro,而云端限制页面将相同层级称为 Starter 和 Professional。请在结账时确认购买的是哪个层级,而不要仅凭名称判断。
AnythingLLM Cloud 也是功能限制最严格的版本,而且这些限制从价格中并不明显。该页面说明,托管云端不附带内置 LLM;上传大型文档——这里的大型按字数而非文件大小计算——可能使 CPU 不堪重负、终止进程并产生 502;不支持自定义代理,也不支持 MCP。如果你评估 AnythingLLM 的原因是 MCP 或自定义代理,那么无论预算多少,托管层级都不是正确的版本。
逐项拆解 RAG 账单
常见的假设是,文档聊天设置会分别为推理、嵌入、重排序和存储付费。这些部分在两个产品中都可以分别配置,但开箱即用时只有其中一项会单独计费:两者默认都使用本地 MiniLM 嵌入器和本地存储,除非你将重排序指向某个 API,否则两者都不会将重排序请求发送到 API。
| 流水线阶段 | AnythingLLM 默认值 | Open WebUI 默认值 | 由 API 计费? |
|---|---|---|---|
| 聊天推理 | 你配置的提供商 | 你配置的连接 | 是 — 这就是账单来源 |
| 嵌入 | 捆绑的本地嵌入器 — 其原生引擎将 Xenova/all-MiniLM-L6-v2 设为默认模型 | RAG_EMBEDDING_ENGINE 为空,参考文档将其称为 Default (SentenceTransformers),并将 sentence-transformers/all-MiniLM-L6-v2 设为默认模型 | 不是,除非你将引擎切换到某个提供商 |
| 重排序 | 捆绑的本地交叉编码器 — 使用重排序时,其原生重排序器会在进程内加载 Xenova/ms-marco-MiniLM-L-6-v2 | 引擎为空,参考文档将其称为本地 Sentence-Transformer CrossEncoder;开箱即用时未设置重排序模型 | 不是。AnythingLLM 的捆绑重排序器在进程内运行;在 Open WebUI 中,只有在 RAG_RERANKING_ENGINE=external 时才会访问 API |
| 向量存储 | LanceDB,位于实例内,无需配置 | VECTOR_DB 默认使用 chroma,精简镜像则使用 pgvector | 不是 — 使用的是你的磁盘,而非 API |
| 托管 | 你的机器、Docker 主机,或每月 50 美元起的 Cloud | 你的机器或 Docker 主机 | 不是 API 账单,但确实需要花钱 |
有两个后果。如果你原本在预算中列出嵌入费用,在有意启用之前应将其删除。Kunavo 不提供嵌入模型,也不提供文本转语音或语音转文本模型;其目录仅列出聊天、图像、视频和音乐模型,因此目前无法将任一产品的嵌入器、转录提供商或语音提供商指向 Kunavo——请保留本地默认值。如果你确实将 Open WebUI 的嵌入迁移到外部提供商,其参考文档指出 RAG_EMBEDDING_BATCH_SIZE 默认为 1,即每个分块发送一个请求,这会使大型导入在变得昂贵之前就变得缓慢。同一页面还警告,默认 Chroma 存储使用的 SQLite 客户端无法安全地跨多个工作进程或副本使用——这是扩展决策而非成本决策,但它会在同一个项目中产生影响。关于流水线设计本身,请参阅我们的 RAG 实现指南。
将任一产品指向同一个端点
两者都接受 OpenAI 兼容的基础 URL 和密钥,但两者的具体形式差异大于概念差异。
# AnythingLLM — LLM Preference -> provider "Generic OpenAI"
Base URL https://api.kunavo.com/v1 # the /v1 root, handed verbatim to the OpenAI SDK
API Key sk-kn-...
Model context window <your model's context window> # defaults to 4096 if left blank
Max Tokens 4096 # defaults to 1024 if left blank
Selected Model claude-sonnet-5
# …or as environment variables on the Docker build:
LLM_PROVIDER='generic-openai'
GENERIC_OPEN_AI_BASE_PATH='https://api.kunavo.com/v1'
GENERIC_OPEN_AI_API_KEY=sk-kn-...
GENERIC_OPEN_AI_MODEL_PREF='claude-sonnet-5'
GENERIC_OPEN_AI_MODEL_TOKEN_LIMIT=<your model's context window> # falls back to 4096
# Open WebUI — Settings -> Admin -> Connections -> Manage OpenAI API Connections -> Add
URL https://api.kunavo.com/v1
API Key sk-kn-...
# …or at container start:
docker run -d -p 3000:8080 \
-e OPENAI_API_BASE_URL=https://api.kunavo.com/v1 \
-e OPENAI_API_KEY=sk-kn-... \
-v open-webui:/app/backend/data \
--name open-webui ghcr.io/open-webui/open-webui:main四个细节决定这是否能一次成功。第一个是URL 后缀:AnythingLLM 自己的 .env.example 会将基础路径写为 /v1,而提供商源码决定其余部分:该值会以 baseURL 的形式原样传递给 OpenAI SDK,因此 SDK 会将自己的路由追加到你输入的内容之后。请使用 /v1 根路径。第二个是提供商警告:AnythingLLM 将此连接标记为面向开发者的提供商,并提醒说,如果输入任何配置设置不正确,“可能无法按预期运行”——这也引出了第三个细节,即容易造成问题的默认值。在上面链接的提供商源码中,如果相应的环境变量未设置,最大令牌数会回退到 1024,提示窗口会回退到 4096;这些默认值导致的截断回答看起来与网关故障完全一样。第四,两者的模型发现都是可选的。AnythingLLM 的 Generic OpenAI 提供商从不预先验证模型 ID——上面链接的源码会直接跳过检查,因为用该文件自己的话说,它不知道模型是否有效。这是该提供商的行为,并不代表 AnythingLLM 的命名提供商。至于 Open WebUI,其文档说明,未实现 /models 的提供商将无法通过连接验证;这“并不意味着提供商不兼容:聊天补全仍将正常工作”;随后你应手动将模型名称添加到 Model IDs 允许列表中。
同一页面清楚地公布了端点契约:/v1/chat/completions 是必需路由,而 /v1/models、/v1/embeddings、/v1/audio/speech、/v1/audio/transcriptions 和 /v1/images/generations 是可选路由,每个路由分别解锁一项功能。具体端点会响应这五个可选路由中的哪些,是该端点自身的业务;这里的答案很明确:Kunavo 不提供嵌入模型,也不提供文本转语音或语音转文本,因此列表中的 RAG、TTS 和 STT 条目仍应使用你为它们配置的设置。该页面还说明,Open WebUI“不会在核心中实现特定于提供商的非标准 API”,这类提供商应通过中间件代理或其 pipe 函数进行桥接。AnythingLLM 没有发布等效契约,但其.env.example和提供商源码提供了两个有用的后门:对于需要额外身份验证的网关,可以使用 GENERIC_OPEN_AI_CUSTOM_HEADERS;当提供商的事件流出现问题时,可以使用 GENERIC_OPENAI_STREAMING_DISABLED 关闭流式传输。
Open WebUI 有一个特有的部署陷阱。其Direct Connections功能允许普通用户在管理员启用后添加自己的基础 URL 和密钥,但浏览器会直接与 API 提供商通信,因此该提供商必须允许来自你的 Open WebUI 域名的跨源请求——该页面指出,严格的提供商可能因 CORS 原因阻止浏览器直接请求。这是你所选择的 API 的属性,而不是 Open WebUI 的属性;在向团队承诺该功能之前,值得先进行测试。如果你是因为 Claude 而来到这里,还需要了解一条主机名规则:Open WebUI 的Anthropic 页面称,它会检测任何包含 api.anthropic.com 的 URL,并为该主机提供特殊的模型列表和 /api/v1/messages 透传处理;其他所有主机名,包括网关,都是普通的 OpenAI 兼容连接。关于“兼容”通常涵盖和不涵盖哪些内容,请参阅OpenAI 兼容 API 指南。
文档聊天一个月的成本
由于两个产品的软件都是免费的,模型令牌就是可变成本。检索增强的交互以输入为主:每个问题都包含检索到的分块、系统提示和部分历史记录。假设一个月有 200 次交互,每次交互 6,000 个输入令牌和 500 个输出令牌——即 120 万个输入令牌和 100,000 个输出令牌。
| 模型 | Kunavo 费率,每 1M 个令牌的输入 / 输出价格 | 该月的估算 |
|---|---|---|
| Claude Sonnet 5 | $1.40 / $7.00 | $2.38 |
| Claude Haiku 4.5 | $0.70 / $3.50 | $1.19 |
这是根据上述假设、按当前Kunavo 目录费率进行的令牌计算——是说明性估算,不是经过测量的工作负载,也不是账单上限。你自己的分块数量、历史长度和重试行为对成本的影响大于模型选择。还要注意,列出的最低费率和完成任务的最低成本是不同的说法:一个较弱的模型如果需要针对困难的检索问题尝试三次,成本可能高于一次回答成功的模型。Kunavo 的目录金额是计费底价——上游报告费用时,账单取目录成本与适用加价后的上游成本两者中的较高者——最低充值金额为预付余额 10 美元,而不是订阅。缓存费用和任何外部工具均不包含在此示例中;请参阅计费详情。
多用户、权限和许可证问题
这是两个产品差异最大的地方,而且差异不在功能数量——而在于你运行的是哪个构建版本。AnythingLLM 的桌面版概览将 Desktop 称为“单人”应用,并将多用户支持、用户管理、工作区访问管理、密码保护、白标、可嵌入聊天小组件以及可通过浏览器访问的 UI 列为仅 Docker 支持。表格中另有两项被标为仅 Desktop 支持:一键安装和内置 LLM 提供商。因此,团队使用 AnythingLLM 意味着使用 Docker 构建版本,而将其切换到多用户模式是不可逆的。
Open WebUI 从一开始就面向多用户。其三个角色——Admin、User 和 Pending,以及权限组和按模型设置的访问控制,在 RBAC 文档中的任何地方都没有许可证限制。受到限制的是品牌:在 30 天内超过 50 名用户时,除非持有企业许可证,否则必须保留 Open WebUI 名称和标识可见;而Terminals——它为每个用户配置一个工作区,并使用独立的文件和进程——明确要求生产环境使用企业许可证。如果你的需求是面向大型组织的白标内部助手,那么决定性事实是这一条款,而不是某项功能;AnythingLLM 的 Docker 白标功能就是可与企业报价进行价格比较的替代方案。
截至核查日期,依据 GitHub API 得出的两个项目当前状态:AnythingLLM 采用 MIT 许可证,未归档,最新版本为 v1.16.1,于 2026 年 8 月 27 日发布;Open WebUI 未归档,最新版本为 v0.11.3,于 2026 年 8 月 31 日发布,其许可证报告为 NOASSERTION,因为它是自定义许可证而非标准 OSS 许可证。根据这两个信号——过去一个月内发布过版本且代码仓库未归档——两个项目都没有处于停滞状态。
网关适合放在哪里
两个产品都不向你出售推理服务,因此都需要模型端点,而且两者都可以指向同一个端点——这使得并排试用成本很低:分别安装,为它们提供一个基础 URL 和一个密钥,然后在相同模型上比较,而不是根据对比表比较。Kunavo 提供了它们共同使用的 OpenAI 兼容接口。其中一个产品已有公开的设置指南,但那是一份书面操作说明,而不是我们进行的兼容性测试:先将 Open WebUI 连接到 Kunavo,准备好将密钥交由其管理时,再创建 Kunavo 账户。对于 AnythingLLM,请使用上面的 Generic OpenAI 字段映射。如果你仍在筛选界面,LibreChat 与 Open WebUI 的比较涵盖了第三个常见候选项。
常见问题
AnythingLLM 和 Open WebUI 有什么区别?
AnythingLLM 是 Mintplex Labs 推出的、以工作区为先的 RAG 产品:文档存放在工作区中,桌面版作为单一应用安装,并已将内置 LLM 提供商、本地嵌入器和本地向量存储连接在一起——桌面版概览自身的功能表将“内置 LLM 提供商”标记为仅限桌面版。Open WebUI 是一个聊天平台,其文档称 Tim J. Baek 为创建者和创始人,并假设你自带模型端点;其文档首先介绍多用户功能——Admin、User 和 Pending 角色、权限组以及按模型的访问控制——以及一个插件系统,其功能包括过滤器和管道,同时也支持工具。两者都可以免费自行托管,也都接受 OpenAI 兼容的基础 URL 和密钥;实际区别在于,AnythingLLM 交付时已组装好更多检索流水线,而 Open WebUI 交付时已准备好更多团队部署能力。
Open WebUI 免费吗?它是开源的吗?
运行它是免费的。企业版页面的许可表将 Standard Use——“内部使用,原始品牌标识必须完全保留”——列为免费,许可页面也称 Open WebUI“仍然免费,并采用宽松许可”。但如果不加限定,称当前版本为开源并不准确:项目自己的许可页面称,自 2025 年 4 月 19 日的 v0.6.6 起,不得更改、移除或遮盖 Open WebUI 的品牌标识,但有三项例外(30 天内不超过 50 名用户、获得书面许可的实质性贡献者,或企业许可);这使其不符合 OSI 认证条件。包括 v0.6.5 在内的所有更早版本仍采用 BSD-3。GitHub 将许可报告为 NOASSERTION,意味着它是自定义许可,而非专有软件,也不是无许可。
AnythingLLM 免费吗?
桌面应用可免费下载,使用 Docker 自行托管也是免费的;该代码仓库采用 MIT 许可。另有两个付费产品共用这一名称。AnythingLLM Cloud 是托管服务,截至 2026 年 9 月 18 日,其定价为 Basic 每月 $50、Pro 每月 $99,Enterprise 为“联系我们”。AnythingLLM Desktop Pro 是适用于桌面版 v1.15.0 及更高版本的许可证密钥,可提高三项设备端 Magic 功能的每日配额,并移除文档水印;文档说明这些功能均为可选功能,始终提供免费层级,并非使用 AnythingLLM 的必要条件。两种付费产品都不包含模型推理。
哪一个更适合 RAG?
它们回答的是不同形式的问题;由于本指南未对任一产品进行运行时测试,这里不提供基准测试。AnythingLLM 围绕工作区组织检索,并默认使用本地 all-MiniLM-L6-v2 嵌入器和本地实例中的 LanceDB 存储——其 LanceDB 页面称,文档文本和嵌入从不离开应用,也无需配置——因此在配置提供商之前,文档聊天就可以工作。Open WebUI 同样默认使用本地 SentenceTransformers 嵌入器,其重排序引擎默认为空;参考文档将其描述为本地 Sentence-Transformer CrossEncoder——不过开箱即用时没有设置重排序模型,因此无论如何都不会向 API 发送内容。它还提供混合 BM25 加向量检索,该功能默认关闭,并通过环境变量暴露更多底层配置——包括外部重排序器;参考文档提醒,由于不会向 URL 追加路径,你必须提供完整 URL。请用你自己的文档进行判断;检索质量取决于你的语料库,而不是比较表。
一个 API 密钥能同时驱动两个产品吗?
聊天功能可以。两者都接受 OpenAI 兼容的基础 URL 和密钥,也都允许该端点使用同一个地址,因此你可以在评估期间并行运行它们,并在相同模型上进行比较。密钥不会自动覆盖其他功能:在两个产品中,嵌入器、转录和图像生成都是独立的提供商,各自拥有自己的基础 URL 和凭据,因此将聊天指向网关后,检索仍会使用之前的配置。
两者是否有任何一个原生支持通过第三方端点使用 Claude?
不是标题所暗示的那种支持。AnythingLLM 有一个 Anthropic 提供商,但其服务器自带的 .env.example 为该提供商记录的三个变量是 API 密钥、模型偏好和缓存控制设置——没有基础路径,因此 Anthropic 兼容网关应通过 OpenAI 兼容路径使用。Open WebUI 对 Anthropic 的处理受主机名控制:其文档称,Open WebUI 会检测任何包含 api.anthropic.com 的 URL,并将该主机的原生模型列表重塑为 OpenAI 格式;同时,发送到 Open WebUI 自身 /api/v1/messages 端点的请求会在聊天流水线之外原生转发到 /v1/messages,以连接该主机。任何其他主机名都属于普通的 OpenAI 兼容连接。同一页面还指向管道功能或 LiteLLM 等代理,用于 Claude 原生功能——这是你需要搭建的桥接,而不是可以切换的设置。
运行其中任一个产品一个月需要多少钱?
两种情况下软件都免费,因此账单由托管费用加模型 token 组成。开箱即用时,唯一的 API 项目是聊天,因为两个产品默认都在本地进行嵌入,除非你将重排序指向某个 API,否则都不会向 API 发送重排序请求。按 Kunavo 目录费率进行说明性 token 计算——200 次检索增强对话,每次包含 6,000 个输入 token 和 500 个输出 token——一个月的聊天费用在中端模型上为几美元,在快速模型上远低于一美元。这是基于所述 token 假设的估算,不是经过测量的任务成本,也不是上限;Kunavo 的最低充值金额为 $10 预付积分。
供应商价格、许可证条款、发布版本、默认配置值和文档引文均于 2026 年 9 月 18 日根据 anythingllm.com、docs.anythingllm.com、docs.openwebui.com、各项目代码仓库和 GitHub API 进行了核查;每一项都已在上方链接。Kunavo 令牌费率取自实时目录;月度数字是根据所述令牌假设得出的说明性估算。Kunavo 未对任一客户端进行运行时测试。