AnythingLLM 完整教學 — All-in-One Self-Hosted AI Application

1. 專案定位

AnythingLLM 是 Mintplex Labs 開發的 all-in-one (一站式) self-hosted AI application (自建 AI 應用),定位為「你一直在找的那個 AI app」——私有、功能完整、無需複雜設定。它解決的核心問題是:讓非技術使用者也能在幾分鐘內部署一個功能齊全的私有 ChatGPT,支援文件 RAG (Retrieval-Augmented Generation; 檢索增強生成)、AI agent、多用戶管理。

為什麼需要 AnythingLLM?

需求AnythingLLM 的解答
簡單部署Desktop App 一鍵安裝,或 Docker 一行指令
文件對話拖放上傳 PDF / DOCX / TXT,自動向量化 + RAG
Provider 自由35+ LLM provider、9 種 vector DB、15+ embedder
企業多用戶角色權限管理 + workspace 隔離
無程式碼 Agent視覺化 agent flow builder
可嵌入提供網頁嵌入聊天元件
成熟穩定3 年開發歷史,61K stars,v1.13.0

專案規模

  • Stars: 61,026 · Forks: 6,627
  • 建立日期: 2023-06-04(歷史最久的同類專案之一)
  • 最新版本: v1.13.0(2026-05-26)
  • 授權: MIT License
  • 公司: Mintplex Labs Inc.(提供商業 hosted 版本)

2. 安裝指南

2.1 Desktop App(最簡單)

直接從官網下載:https://anythingllm.com/download

支援 macOS / Windows / Linux。下載後雙擊安裝,開箱即用。

2.2 Docker 安裝(推薦用於伺服器)

1docker pull mintplexlabs/anythingllm
2docker run -d -p 3001:3001 \
3  --cap-add SYS_ADMIN \
4  -v ${STORAGE_LOCATION:-.}/anythingllm:/app/server/storage \
5  -v ${STORAGE_LOCATION:-.}/anythingllm/.env:/app/server/.env \
6  mintplexlabs/anythingllm

開啟 http://localhost:3001

2.3 雲端一鍵部署

平台方式
AWSCloudFormation 模板
GCPCloud Run 一鍵部署
DigitalOceanTerraform 模板
Railway模板部署
Render.com一鍵部署
RepoCloud模板部署
Elestio管理式部署
NorthflankStack 部署
HuggingFace Spaces免費部署
Helm / K8s / OpenShift企業級部署

2.4 從原始碼開發

1git clone https://github.com/Mintplex-Labs/anything-llm.git
2cd anything-llm
3yarn setup                  # 產生 .env 檔案
4# 填寫 server/.env.development
5yarn dev:server             # 啟動後端
6yarn dev:frontend           # 啟動前端
7yarn dev:collector          # 啟動文件收集器

系統需求: Node.js(見 .nvmrc)

2.5 Bare Metal 安裝

詳見 BARE_METAL.md——不使用 Docker 的生產環境部署指南。

3. 核心架構解析

AnythingLLM 採用 monorepo 結構,分為六大模組:前端(React)、後端(Express)、文件收集器(Collector)、Docker 建構、嵌入元件、瀏覽器擴充。


flowchart TD
    subgraph Client["使用者端"]
        DESKTOP[Desktop App
Mac / Win / Linux] WEB[Web Browser] EMBED[嵌入式 Widget] EXT[Chrome Extension] end subgraph Frontend["前端 — React + Vite"] UI[Chat UI / 文件管理] AGENT_FLOW[Agent Flow Builder] SETTINGS[Settings / 權限管理] end subgraph Backend["後端 — Node.js Express"] API[REST API Server] LLM_ROUTER[Dynamic Model Router
自動路由最佳 Provider] AGENT_ENGINE[Agent Engine
Tool Selection + Execution] MEM[Memory Manager
自動 / 手動記憶] SCHEDULER[Scheduled Tasks
Cron 排程] AUTH[Multi-User Auth
JWT + 角色權限] end subgraph Collector["Collector — 文件處理"] UPLOAD[檔案上傳
PDF / DOCX / TXT] PARSE[文件解析 + 分段] VECTORIZE[Embedding + 向量化] end subgraph Storage["儲存層"] SQLITE[(SQLite / Prisma)] VDB[(Vector DB
LanceDB / Pinecone / Chroma
Qdrant / Milvus / Weaviate)] FILES[server/storage/
文件 / 模型 / 設定] end subgraph Providers["外部 Provider"] OPENAI[OpenAI / Azure] ANTHROPIC[Anthropic] OLLAMA[Ollama / LM Studio] BEDROCK[AWS Bedrock] GEMINI[Google Gemini] MORE[35+ 其他 Provider] end Client --> Frontend Frontend --> Backend Backend --> Collector Collector --> VECTORIZE --> VDB API --> SQLITE & FILES LLM_ROUTER --> Providers AGENT_ENGINE --> LLM_ROUTER

3.1 模組分工

模組技術職責
frontend/React + ViteUI、聊天介面、文件管理、Agent Flow Builder、設定頁面
server/Node.js + Express + PrismaAPI server、LLM 互動、向量 DB 管理、auth、排程
collector/Node.js + Express文件上傳解析、分段、向量化
embed/獨立 submodule可嵌入網站的聊天元件
browser-extension/Chrome Extension瀏覽器擴充
docker/Dockerfile + Compose容器化部署

3.2 Dynamic Model Routing

v1.13.0 引入的重要特性——根據使用者定義的規則(對話類型、成本、延遲等),自動將聊天請求路由到最佳的 LLM provider + model 組合。

3.3 Workspace 概念

AnythingLLM 的核心組織單位是 workspace (工作空間)。每個 workspace 有獨立的:

  • 文件集合(RAG 知識庫)
  • LLM 設定(可覆蓋全域)
  • Agent 設定
  • Chat history
  • 記憶

多用戶模式下,workspace 可設定不同的存取權限。

4. 使用方式詳解

4.1 文件對話(RAG)

  1. 在 workspace 中上傳文件(支援 PDF / TXT / DOCX / CSV / HTML / MD 等)
  2. 系統自動分段 + embedding + 存入 vector DB
  3. 對話時自動檢索相關文件段落,注入 LLM prompt
  4. 回覆附帶 source citation (來源引用)

4.2 AI Agent

Agent 支援多種內建工具:

  • Web Search — SearXNG / Google / Bing
  • Web Scraping — 抓取網頁內容
  • SQL Agent — 查詢資料庫
  • RAG Search — 搜尋 workspace 文件
  • Summarizer — 摘要文件或對話
  • Chart Generation — 產生圖表
  • Custom Skills — 自訂 JavaScript 工具

4.3 Agent Flow Builder(無程式碼)

視覺化建構 agent workflow,支援條件分支、循環、多工具串接,無需寫程式。

4.4 Scheduled Tasks

1使用 Cron 語法排程 + Agent 能力:
2- 每日自動摘要新文件
3- 定期檢查網站變更
4- 排程資料分析報告

4.5 Embeddable Chat Widget

1<!-- 在你的網站嵌入 AnythingLLM 聊天元件 -->
2<script src="https://your-instance/embed/embed.min.js"
3  data-embed-id="your-embed-id"
4  data-base-api-url="https://your-instance/api/embed">
5</script>

4.6 Developer API

完整 REST API(Swagger 文件內建),支援:

  • 文件上傳 / 管理
  • 對話 / Streaming
  • Workspace CRUD
  • Agent 控制
  • 使用者管理

5. 應用場景

5.1 企業知識庫

最典型的場景。部門上傳內部文件(規章、SOP、技術文件),員工透過 chat 介面詢問,AnythingLLM 從文件中檢索回答。Workspace 隔離確保部門間資料不互通。

5.2 客服自動化

使用 Embeddable Widget 嵌入公司網站,客戶直接在頁面上與 AI 對話。背後由公司 FAQ / 產品文件作為知識庫。

5.3 個人研究助手

研究人員上傳論文,逐篇或跨篇提問。Source citation 功能讓使用者能追溯回答的來源段落。

5.4 開發團隊內部工具

透過 Developer API 整合到現有工具鏈(Slack bot、CI/CD pipeline、內部 dashboard)。

5.5 教育場景

教師上傳課程教材,學生透過 chat 提問學習。多用戶權限確保學生只能存取自己的 workspace。

6. 資安掃描報告

6.1 整體評級:🟢 低風險

AnythingLLM 是成熟的商業支撐專案,安全性整體良好。

6.2 發現項目

🟢 低風險:Telemetry 預設開啟

使用 PostHog(開源遙測服務)收集匿名使用統計。僅追蹤事件類型(文件新增/移除、對話送出、DB 類型、LLM provider),不含任何內容。

關閉方式

1DISABLE_TELEMETRY=true  # 在 .env 設定
2# 或:Settings → Privacy → 關閉 Telemetry

🟢 低風險:環境變數管理

API key、JWT secret 等透過 .env 檔案管理,未在原始碼中硬編碼。密碼複雜度可透過環境變數調整。

🟢 低風險:CDN 外部連線

cdn.anythingllm.com 用於下載模型,github/githubusercontent.com 用於 context window cache 檔案。兩者在停用 telemetry 後仍會連線。

🟢 低風險:Docker 安全

Docker 映像基於 ubuntu:noble,使用非 root 使用者執行。需要 SYS_ADMIN capability(用於 Chromium headless)。

6.3 安全建議

  1. 生產環境務必設定 AUTH_TOKEN 或啟用多用戶認證
  2. 設定 JWT_SECRET 為強隨機值
  3. 不要將 .env 檔案提交到版本控制
  4. 企業部署建議搭配 reverse proxy + HTTPS

7. AnythingLLM vs Odysseus 詳細比較

以下是 AnythingLLM 與 Odysseus(pewdiepie-archdaemon/odysseus)的全面比較:

7.1 基本資訊比較

維度AnythingLLMOdysseus
Stars61,02646,095
建立時間2023-06-04(3 年)2026-05-31(5 天)
最新版本v1.13.0無正式 release
授權MITMIT
公司/作者Mintplex Labs Inc.(商業公司)個人開發者
Desktop App✅ Mac / Win / Linux❌(僅 web,macOS 可包裝)
前端技術React + Vite原生 JavaScript(無框架)
後端技術Node.js ExpressPython FastAPI
主要語言JavaScriptJavaScript + Python

7.2 功能比較

功能AnythingLLMOdysseus
Chat / 對話
RAG / 文件對話✅ 完整管線✅ ChromaDB
AI Agent✅ 視覺化 builder✅ 基於 opencode
Deep Research✅ 源自 Tongyi
模型盲測比較✅ Compare
文件編輯器✅ 多標籤 Markdown/HTML
Email 整合✅ IMAP/SMTP + AI triage
Calendar 整合✅ CalDAV sync
Notes / Tasks✅ 筆記 + 排程任務
Memory / Skills✅ 自動記憶✅ ChromaDB 向量記憶
Cookbook (模型推薦)✅ 硬體掃描 + 一鍵部署
Scheduled Tasks✅ Cron 排程✅ Cron 排程
MCP 支援✅ 4 個內建 server
Multi-user✅ 角色權限✅ 角色權限 + 2FA
嵌入式 Widget
Dynamic Model Routing✅ 規則路由
No-code Agent Builder
Developer API✅ Swagger✅ FastAPI
PWA / Mobile✅ 獨立 mobile app✅ PWA 響應式
Browser Extension✅ Chrome
TTS / STT✅ 多 provider✅ faster-whisper
Image Generation✅(via MCP)
Shell Access✅ admin-only
YouTube 處理✅ 轉錄 + 摘要
Coding Agent 整合✅ Claude Code / Codex

7.3 LLM Provider 支援

維度AnythingLLMOdysseus
支援數量35+ 原生支援任何 OpenAI-compatible
Provider UI每個 provider 有專屬設定頁面Settings 統一設定
本地模型Ollama / LM Studio / llama.cpp / Docker Model RunnerOllama / vLLM / llama.cpp
Model Router✅ Dynamic routing

7.4 Vector Database 支援

維度AnythingLLMOdysseus
預設 DBLanceDB(零設定)ChromaDB
可選 DBPGVector / Pinecone / Chroma / Weaviate / Qdrant / Milvus / Zilliz / Astra DBChromaDB only
自訂 Embedder15+ providerfastembed (ONNX)

7.5 部署方式比較

部署方式AnythingLLMOdysseus
Desktop App
Docker
Docker Compose✅(含 ChromaDB + SearXNG + ntfy)
雲端一鍵部署✅ 8 種(AWS / GCP / DO / Railway…)
Helm / K8s
Native 安裝✅(Python / macOS script / Windows PS)
Bare Metal 指南❌(README 內含)

7.6 安全性比較

維度AnythingLLMOdysseus
整體評級🟢 低風險🟡 中風險
認證JWT + 多用戶角色bcrypt + 2FA + session token
2FA✅ (pyotp)
Shell Access❌ 不提供✅ admin-only(shell=True)
Prompt Injection 防護基礎✅ 明確 untrusted context 標記
SSRF 防護基礎✅ url_safety.py 完整實作
Owner ScopeWorkspace 隔離有若干 Issue 待修
TelemetryPostHog(可關)❌ 無遙測

7.7 選擇建議

選 AnythingLLM,如果你…

  • 需要開箱即用的 Desktop App,不想碰 terminal
  • 核心需求是文件 RAG 對話
  • 需要 9 種 vector DB 選擇和豐富的 LLM provider 設定
  • 需要網站嵌入式聊天元件
  • 需要視覺化 Agent Flow Builder
  • 需要雲端一鍵部署(AWS / GCP / Railway 等)
  • 重視穩定性和成熟度(3 年歷史,正式版本號)

選 Odysseus,如果你…

  • 需要完整的 workspace(chat + email + calendar + notes + docs + research)
  • 需要 Deep Research 多步驟研究報告
  • 需要 Cookbook 硬體適配 + 模型推薦 + 一鍵本地 serving
  • 需要模型盲測比較(Compare)
  • 需要 shell / python 工具存取(agent 完整系統控制)
  • 需要 2FA 安全認證
  • 已經有 Claude Code / Codex 工作流,想要 agent 記憶互通
  • 偏好 Python 生態系(FastAPI / SQLAlchemy / ChromaDB)

兩者的根本差異:AnythingLLM 專注於「文件 RAG + 對話」,做得深且穩;Odysseus 嘗試成為「AI 驅動的個人工作站」,涵蓋面更廣但每個功能深度不一。

8. 進階技巧

8.1 Custom Agent Skills

server/storage/plugins/agent-skills/ 目錄下建立 JavaScript 檔案,定義自訂工具:

1module.exports = {
2  name: "my-custom-tool",
3  description: "Description for the LLM",
4  handler: async (args) => {
5    // Your logic here
6    return { result: "..." };
7  }
8};

8.2 Document Sync

v1.13.0 新增 document sync (文件同步) 功能——系統定期檢查已匯入的線上文件是否有更新,自動重新向量化。可透過 DOCUMENT_SYNC_STALE_AFTER_MS 環境變數調整間隔。

8.3 多語系支援

locales/ 目錄含中文(簡體)、日文翻譯。可透過 PR 貢獻更多語系。

8.4 模型本地推論

AnythingLLM 內建原生 embedder(不需外部服務),也支援本地 LLM(llama.cpp compatible model / Microsoft Foundry Local / Docker Model Runner / AMD Lemonade)。

9. 整合進其他工作流

9.1 API 整合

 1# 透過 API 上傳文件
 2curl -X POST http://localhost:3001/api/v1/document/upload \
 3  -H "Authorization: Bearer YOUR_API_KEY" \
 4  -F "file=@document.pdf"
 5
 6# 透過 API 對話
 7curl -X POST http://localhost:3001/api/v1/workspace/my-workspace/chat \
 8  -H "Authorization: Bearer YOUR_API_KEY" \
 9  -H "Content-Type: application/json" \
10  -d '{"message": "What does this document say about X?"}'

9.2 與 SearXNG 整合

AnythingLLM agent 支援 SearXNG 作為搜尋 provider,可自建 SearXNG 實例並在設定中指定。

9.3 與 Slack / Discord Bot 整合

透過 Developer API + webhook,可將 AnythingLLM 接入 Slack 或 Discord bot。

9.4 CI/CD 整合

在 pipeline 中使用 API 自動上傳新文件到 workspace,保持知識庫最新。

10. 重點摘要 Checklist

  • 安裝:Desktop App 一鍵 / docker pull mintplexlabs/anythingllm / 雲端一鍵
  • 首次設定:選擇 LLM provider + embedder + vector DB
  • 文件 RAG:上傳 PDF / DOCX → 自動向量化 → 開始對話
  • Agent:啟用內建工具或建立自訂 skill
  • 排程:Scheduled Tasks 設定定期任務
  • 多用戶:Docker 版支援角色權限管理
  • 嵌入:Embeddable Widget 嵌入網站客服
  • API:完整 REST API + Swagger 文件
  • 隱私:DISABLE_TELEMETRY=true 關閉遙測
  • 安全:設定 AUTH_TOKEN / JWT_SECRET + HTTPS
  • vs Odysseus:AnythingLLM 更穩定 + RAG 更深;Odysseus 功能面更廣(email / calendar / research / cookbook)

11. 進一步閱讀