AnythingLLM
自托管文档问答与工作区 AI Agent 平台。
- Star 数
- ★ 68k
- 最近更新
- 1 天前
- License
- MIT
- 主语言
- JavaScript
- FA 评分
- 48/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 希望把内部 PDF、DOCX 和文本资料用于可追溯问答的团队,可部署私有工作区并查看回答来源引用。
- 不适合
- 需要完全离线、不产生任何外部连接的团队
- 只想用官方云托管、不愿自行部署运维的用户
- 需要多用户权限或嵌入聊天组件但不想用 Docker 的团队
这个 Agent 能做什么,适合哪些场景?
AnythingLLM 是一套可本地运行的 AI 应用,用于连接本地或云端模型、导入文档,并在工作区中进行带来源引用的对话。其单体仓库包含 ViteJS 与 React 前端、Node.js Express 服务端、负责文档解析的 collector,以及 Docker 构建与部署资源。服务端负责向量数据库管理和模型交互,collector 处理从界面上传的文档,前端用于内容与工作区管理。产品提供内置 Agent、无代码 Agent Flow 构建、定时任务、记忆、模型路由和 MCP 兼容能力,也支持多用户权限控制,但该项标注为 Docker 版本功能。它既可作为私有文档聊天界面部署,也可通过其开发者 API 和嵌入式聊天组件纳入现有系统;嵌入组件同样标注为 Docker 版本功能。
用户在前端拖放上传 PDF、TXT、DOCX 等文档;collector 这个 Node.js Express 服务会处理和解析文档,server 这个 Node.js Express 服务负责向量数据库管理及 LLM 交互。工作区随后可使用默认 LanceDB 或已列出的其他向量数据库保存检索数据,并将聊天请求发送给所选的本地或云端 LLM。界面输出聊天回复及来源引用;工作区内的 Agent 可执行如网页浏览等操作。管理员还可配置 Dynamic Model Routing、Automatic & User Managed Memories、Scheduled Tasks,以及无代码 Agent Flow;定时任务可按 cron 计划运行提示词,并具有完整 Agent 能力。
- 希望把内部 PDF、DOCX 和文本资料用于可追溯问答的团队,可部署私有工作区并查看回答来源引用。
- 使用 Ollama、LM Studio、LocalAI 或 llama.cpp 兼容模型的本地部署者,可把本地模型接入文档聊天流程。
- 需要按规则把不同聊天分配给不同模型或供应商的管理员,可使用 Dynamic Model Routing。
- 需要定期执行带 Agent 能力提示词的运营人员,可用 Scheduled Tasks 按 cron 计划运行任务。
- 需要为不同成员隔离访问体验的组织,可在 Docker 版本中使用多用户和权限控制。
- 希望把聊天入口嵌入网站的开发团队,可采用 AnythingLLM Embed,但该能力标注为 Docker 版本限定。
如何安装或部署这个 Agent?
仓库明确记录的开发启动方式是在仓库根目录执行:
yarn setup随后填写各应用部分所需的 .env 文件,且必须填写 server/.env.development。然后分别执行:
yarn dev:server
yarn dev:frontend
yarn dev:collectorREADME 将 server 和 collector 标明为 Node.js Express 服务、frontend 标明为 ViteJS + React;因此需要 Node.js 与 Yarn。若选择云端 LLM、嵌入模型或向量数据库,还需在相应环境配置中提供该服务所需的连接或凭据;README 未给出具体变量名、端口、默认模型配置或首个浏览器访问地址。
如何使用这个 Agent?
启动 server、frontend 和 collector 后,在前端创建和管理可供模型使用的内容,并通过拖放上传支持的文档类型。选择已支持的 LLM、嵌入模型和向量数据库配置后,在工作区发起对话;界面会提供来源引用。需要自动化时,创建 Scheduled Tasks 或无代码 Agent Flow;需要外部集成时,可使用 README 所述的 Full Developer API。README 未提供可复制的 API 请求示例、API 端点、鉴权流程或 Agent Flow 的完整配置示例。
这个 Agent 有哪些优点和局限?
- 同一产品覆盖文档解析、向量检索、聊天界面、工作区 Agent 和开发者 API,而不是只提供单一模型连接器。
- 模型选择范围广,既包含 Ollama、LM Studio、LocalAI 和 llama.cpp 兼容本地模型,也包含 OpenAI、Anthropic、AWS Bedrock、Gemini 等云端服务。
- 支持 Dynamic Model Routing、记忆、cron 定时任务和 MCP 兼容,可将模型选择与工作流自动化纳入工作区配置。
- 默认使用 LanceDB,同时列出 PGVector、Pinecone、Qdrant、Milvus、Weaviate 等多种向量数据库路径。
- 遥测可通过
DISABLE_TELEMETRY=true或应用内 Privacy 设置关闭;README 说明其追踪匿名事件而非聊天或文档内容。
- 开发启动需要分别运行 server、frontend 和 collector,并在启动前手动补全多个
.env文件,其中server/.env.development是必需项。 - README 没有提供具体环境变量、服务端口、API 鉴权、API 调用示例或完整的首用配置,因此实际部署仍需查阅额外文档或代码。
- 多用户权限和网站嵌入聊天组件均标注为仅 Docker 版本可用,非 Docker 部署可能无法获得这些能力。
- 使用外部 LLM、嵌入模型、工具或向量数据库时仍会产生对相应供应商的出站连接,并受其服务条款约束。
- 即使启用本地优先模式,模型镜像下载可能连接
cdn.anythingllm.com,上下文窗口缓存也可能访问 GitHub 或 GitHubusercontent。
这个 Agent 与同类方案有什么区别?
README 将 AnythingLLM 定位为可自行构建的私有、功能完整的 ChatGPT 式应用。与只绑定单一模型服务的聊天界面相比,它明确提供本地与云端多供应商模型路径,以及可选向量数据库;但 README 未给出与 ChatGPT 或其他产品的功能对照、性能数据或迁移步骤。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| AnythingLLM 当前 | 48 · 缺口较多 | 自托管服务免费 + 模型费 | ★ 68k | 1 天前 | JavaScript | OpenAI API · Claude API |
| NextClaw | 58 · 缺口较多 | 桌面应用免费 + 模型费 | ★ 263 | 1 天前 | TypeScript | Codex · Claude Code |
| MindsHub Cowork | 55 · 缺口较多 | 网页应用免费版 + 付费版 | ★ 40k | 13 天前 | Makefile | — |
| LazyMind | 50 · 缺口较多 | 桌面应用免费 + 模型费 | ★ 585 | 1 天前 | Go | Codex |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:README明确说明遥测功能及禁用方法,并列出其他出站连接;SECURITY.md说明管理员启用工具是设计意图,但未提供最小权限的默认配置。扣分:未提供默认最小权限配置,用户确认机制不明确,敏感数据处理细节不足,依赖安全仅提及VEX但未提供具体漏洞列表,外部影响(如出站连接)未完全透明,回滚机制未提及,来源归属仅通过作者字段和仓库元数据。
证据显示:README和package.json一致描述项目结构和开发命令,但未提供错误处理或失败消息的文档。扣分:依赖可用性未验证,失败消息未说明。
证据显示:README明确目标用户(开发者、企业)和多种部署场景,列出大量支持的LLM和向量数据库,但触发精度(如Agent工具触发条件)未详细说明。扣分:触发精度不足,环境适配虽广但未提供详细配置指南。
证据显示:README结构清晰,提供安装和开发指南,命名稳定(版本号明确),有示例和FAQ链接,MIT许可证明确,但已知限制未明确列出,版本变更日志未提供,维护责任通过作者和仓库元数据体现。扣分:已知限制和变更日志缺失。
证据显示:README强调输出可用性(如引用来源),边际价值(如降低token使用),成本效益(如本地运行减少成本),但未提供具体数据或对比。扣分:缺乏量化证据。
证据显示:README中的功能声明未提供具体实现细节或测试证据,跨来源验证不足,事实与推断未明确区分。扣分:声明缺乏可追溯性,未提供测试结果或独立验证。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 遥测默认开启,需手动禁用;出站连接可能涉及第三方服务。
- 管理员启用Agent工具(如SQL、文件系统)可能带来安全风险,需谨慎配置。
- 未提供回滚机制,升级前需备份数据。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
v1.19.0 AnythingLLM v1.19.0
发布说明摘录
Built-in LLM for Docker <img width="3680" height="2212" alt="AnythingLLM Docker built-in LLM powered by Lemonade and llama.cpp" src="https://github.com/user-attachments/assets/410b5784-ca15-4027-a1c4-056d9d5c748e" /> AnythingLLM Docker now has a default local LLM experience right out of the box. The same kind of built-in engine that ships with [AnythingLLM Desktop](https://docs.anythingllm.com/setup/llm-configuration/local/built-in) can now run inside the container: [Lemonade](https://lemonade-server.ai), the fully [open-source](https://github.com/lemonade-sdk/lemonade) local inferenc …在 GitHub 查看 ↗ -
v1.18.0 AnythingLLM v1.18.0
发布说明摘录
What's Changed * fix: point k8s probes at the server's /api/ping by @u00dxk2 in https://github.com/Mintplex-Labs/anything-llm/pull/6592 * fix: don't crash when removing a parsed file while an image is attached by @marmar9615-cloud in https://github.com/Mintplex-Labs/anything-llm/pull/6585 * fix: open the clicked image when attachments share a file name by @marmar9615-cloud in https://github.com/Mintplex-Labs/anything-llm/pull/6586 …在 GitHub 查看 ↗ -
v1.17.0 AnythingLLM v1.17.0
发布说明摘录
What's Changed * fix(collector): read spreadsheet dates as dates, not serial numbers by @L4XB in https://github.com/Mintplex-Labs/anything-llm/pull/6478 * Drop temp param for Anthropic models by @shatfield4 in https://github.com/Mintplex-Labs/anything-llm/pull/6472 * Allow Generic OpenAI max tokens of 0 to omit max_tokens from request by @shatfield4 in https://github.com/Mintplex-Labs/anything-llm/pull/6470 * fix: support SearchApi engines in agent web browsing by @evilive3000 in https://github.com/Mintplex-Labs/anything-llm/pull/6465 …在 GitHub 查看 ↗
常见问题
能否完全在本地使用?
是否会收集对话或文档内容?
DISABLE_TELEMETRY=true 关闭。