ByteNoteByteNote

字节笔记本

2026年8月29日

AnythingLLM:文档和网页交给任意 LLM 当知识库

API中转
¥120

AnythingLLM 干的事很单纯:把 PDF、Word、网页这些东西丢进工作区,再接到你手头那套模型上去聊。模型可以是本机 Ollama,也可以是 OpenAI、Gemini、OpenRouter,桌面版甚至自带一个本地模型,不用先配 API Key。Mintplex Labs 做的,MIT 开源,仓库在 Mintplex-Labs/anything-llm,文档在 docs.anythingllm.com

下面按「先装起来、再接模型、再灌文档」走一遍。桌面版适合一个人本机用;要多人、权限、网页聊天组件,才走 Docker。

它到底包了什么

它把 RAG、向量库、Agent、文档管道放在同一个界面里:

  • Workspace(工作区):文档的隔离单元。工作区之间不共享上下文,合同一套、技术文档一套,别混。
  • LLM:系统级默认模型、某个工作区单独的模型、Agent 专用模型,可以各配一套。
  • Embedder + 向量库:默认本机 embedder 和 LanceDB,不用先搭 Postgres。也可以换成 Ollama 的 nomic-embed-text、Chroma、Pinecone 这些。
  • 文档进聊天的两种方式:直接把全文贴进当前对话(Attached),或者切块嵌入工作区(RAG)。1.8.5 之后这两种都能用。

桌面版有内置 LLM 和 embedder,几乎零配置。Docker 版没有内置 LLM,必须自己接 Ollama 或云端 API;换来的是多用户、角色权限、可嵌入的聊天组件。

当前桌面版是 v1.16.1,下载页:anythingllm.com/download

桌面版:Mac / Windows / Linux

个人用,走桌面。Mac 两种装法:

  1. 从官网下 .dmg。Apple Silicon 用 AnythingLLMDesktop-AppleSilicon.dmg,Intel 用 AnythingLLMDesktop.dmg,拖进 Applications。
  2. Homebrew:
bash
brew install --cask anythingllm

Windows 和 Linux 同样从下载页拿安装包。Linux 注意选对 x64 / ARM64。系统要求写在 Installation Desktop

打开之后会进设置向导。本机只给自己用,可以先选内置模型,后面再改 Ollama。桌面版默认后端只听 127.0.0.1,浏览器访问不到界面。设置里有一项 Enable network discovery,打开后 API 会听 0.0.0.0,方便手机客户端或脚本调 Developer API。它不提供网页 UI,也没有账号体系,别把桌面版暴露到公网。要给同事用,换 Docker。

数据落在本机用户目录,卸载和日志路径见 Where is my data stored

Docker:本机或服务器

多人、权限、浏览器访问,用官方镜像 mintplexlabs/anythingllm:latest,端口默认 3001。抓网页依赖容器里的 Chromium,启动时需要 SYS_ADMIN capability,官方文档写在 Local DockerCloud Docker

先拉镜像,再把数据目录挂到 $HOME/anythingllm,映射 .env,端口 3001。浏览器打开 http://localhost:3001

存储目录必须可写。镜像以 UID/GID 1000 跑。Linux 上如果数据目录建在 /opt/data 这类 root 目录下,容器会报 unable to open database file。官方建议用家目录;已经建在别处的,把目录 chown 给 1000,不要图省事把权限开成全世界可写。

示例启动命令(和官方文档同一套参数):

bash
docker pull mintplexlabs/anythingllm:latest
export STORAGE_LOCATION=$HOME/anythingllm
mkdir -p "$STORAGE_LOCATION"
touch "$STORAGE_LOCATION/.env"
# 完整 docker run 见官方 Local Docker 页:挂载 storage 和 .env,端口 3001

完整 docker run 在官方文档里,关键是:-p 3001:3001-v $HOME/anythingllm:/app/server/storage、以及网页抓取需要的 capability。漏挂 volume 的话,容器一重启数据就没了。

接模型:Ollama 和 OpenAI

设置入口在 Settings 的 LLM 一栏。系统级 LLM 是默认;某个工作区可以覆盖。Agent 还可以再配一个专门会 tool calling 的模型。

Ollama(本机)

先装 Ollama,拉一个聊天模型和一个嵌入模型,例如 llama3.2nomic-embed-text

桌面版连 Ollama,Base URL 用 http://127.0.0.1:11434。选好 chat 模型。Embedder 也可以选 Ollama,模型填 nomic-embed-text

Docker 里不要写 localhost。容器里的 localhost 是容器自己,连不到宿主机上的 Ollama。Mac / Windows 用 http://host.docker.internal:11434。Linux 一般是 http://172.17.0.1:11434。Ollama 还要监听 0.0.0.0,否则容器进不来。连不上时先看 Ollama Connection Debugging

OpenAI 和其他云端

Settings 里选 OpenAI,填 platform.openai.com 的 API Key,再选模型。账号要挂计费,否则调用会失败,报错不一定写得清楚。

同一套应用可以同时挂本地和云端:敏感文档的工作区用 Ollama,公开资料的工作区用 GPT。还支持 Anthropic、Gemini、Azure、OpenRouter、LM Studio、Generic OpenAI 兼容端点。列表在 LLM Setup

灌文档和网页

左侧新建一个 Workspace,名字起清楚,比如「产品手册」或「内部 Wiki」。

打开工作区的文档管理:

  1. 上传文件:PDF、TXT、DOCX、Markdown 等,拖进去。上传只是抽文本,还没进向量库。
  2. Move to Workspace / Embed:这一步才切块、嵌入、写入 LanceDB。没这一步,模型看不见文件。
  3. 网页:文档管理里有网站抓取。给一个 URL,AnythingLLM 会爬正文再嵌入。Docker 没按官方文档加上网页抓取所需 capability 时,这一步会失败。

聊天框里也可以临时丢文件:拖到输入框,或点 +。这种附件默认只对当前线程有效。要让整个工作区、所有线程都能检索,还是走工作区嵌入。

文档太大、贴全文会撑爆上下文时,界面会问你:取消、硬塞(会裁切,答案会飘)、还是 Embed。日常知识库用 Embed。某份文件特别关键、又塞得进上下文,可以在已嵌入的文件上点图钉(Pin),变成全文插入,不再走 RAG 检索。

当成知识库来聊

工作区设置里有几种聊天模式(齿轮,Chat Settings):

  • Query:只根据已嵌入文档回答。找不到就说找不到。查手册、合同、规范用这个,少胡编。
  • Chat:文档加上模型自己的常识,适合发散。
  • Agent(较新版本默认):会调内置技能和 MCP,比如网页浏览、SQL、写文件。模型要支持 tool calling 才稳。也可以在输入框用 @agent 临时开一轮。

Query 模式一直回「No relevant information found」,先别怪模型。去工作区 Vector Database Settings:

  • Document similarity threshold 先改成 No restriction。默认大约过滤低于 20% 的块,中文资料配英文 embedder 时很容易被滤掉。
  • Max Context Snippets 一般 4 到 6。开太大,噪声会把答案带跑。
  • 用 LanceDB 时可以开 Accuracy Optimized 重排序,稍慢,命中会好一点。

提问尽量用文档里的原词。手册写的是「初始化应用」,你问「怎么启动」可能检索不到。

几个实际会碰到的点

  • 工作区隔离是故意的。同一份 PDF 要给两个主题用,得分别嵌入,或者接受它们共享那份向量。
  • 桌面版不要开公网。没有登录。同事要共用,Docker 加上打开多用户。
  • Docker 连本机服务,永远检查是不是写成了 localhost。
  • 嵌入模型换了,旧向量对不齐,相关文档要重新嵌入。
  • Agent 不调工具,先看当前模型支不支持 native tool calling;不行就换一个,或看文档里的 PROVIDER_DISABLE_NATIVE_TOOL_CALLING。
  • 网页抓取失败,先对照官方 Docker 启动命令,确认网页抓取所需的 capability 在。

官方文档比仓库 README 全:docs.anythingllm.com。下载和桌面包在 anythingllm.com。源码:github.com/Mintplex-Labs/anything-llm

分享: