一句話結論
LibreChat 是一套 MIT 授權、4.5 萬顆星的自架 AI 聊天平台,用 Docker Compose 三行指令就能裝好,把 OpenAI、Anthropic、Google、OpenRouter 和本機 Ollama 收進同一個介面,還附帶 Agents、MCP、Skills、Code Interpreter、RAG 與多用戶權限——資料留在我自己的機器上,但介面體驗不輸 ChatGPT。
為什麼要自架聊天平台,而不直接用 ChatGPT?
直接訂閱 ChatGPT 是最省事的選擇,但以下情境它幫不上忙:
- 想把同一段對話換四家模型比一比——官方 App 一次只能一家,貼來貼去。
- 想在內網跑本機模型(Ollama、vLLM)處理敏感資料,卻又想要好用的網頁介面與對話紀錄。
- 想給團隊一個共用入口,每個人有自己的帳號、可以分享 Agent 跟 Prompt,但 API 金鑰由管理員統一管。
- 想把 MCP 工具、RAG 知識庫、程式碼執行接進聊天,而不是每個人都自己裝一遍。
LibreChat 就是補這塊:它是「前端+後端+資料庫」的完整平台,不是一個模型、也不是一個純前端殼。
LibreChat 現況(2026 年 10 月)
| 項目 | 數據 |
|---|---|
| GitHub Stars | 約 45,300 |
| Forks | 約 9,300 |
| 授權 | MIT |
| 主要語言 | TypeScript |
| 建立時間 | 2023 年 2 月 |
| 最新版本 | v0.8.8(2026-10-01 發布) |
| 官方文件 | docs.librechat.ai |
v0.8.8 這版的更新重點包括:Agent Management API(beta)(用 OIDC 身分程式化管理 Agent/檔案/Skill)、Attached Code Workspaces(高度實驗性)、Background tool 控制與 Code approval 控制(Ask/Allow/Deny/Full access)、手動 context 壓縮、Context Usage 用量面板、統一附件處理、新增 GPT-6 Astra 與 GPT-6.1 Sol、Trace Viewer 觀測與 OpenTelemetry 匯出。
跟 Open WebUI 差在哪?該選誰
兩套都是自架聊天介面,但定位其實不同(本部落格另有 Open WebUI 介紹):
| 面向 | LibreChat | Open WebUI |
|---|---|---|
| 定位 | 多供應商「AI 平台」,偏企業/團隊 | 以本機 Ollama 為核心的聊天介面 |
| 模型來源 | OpenAI、Anthropic、Google、AWS Bedrock、Azure、OpenRouter、自訂端點、Ollama | 以 Ollama/OpenAI 相容端點為主 |
| Agent 與工具 | 內建 Agents、Agent Marketplace、Skills、Subagents、MCP、Actions | 有工具與 Pipelines,Agent 生態較集中在本機 |
| 多用戶 | 完整(OAuth2/LDAP/Email、角色與群組權限、Admin Panel) | 支援但較輕量 |
| RAG | 內建 RAG API(pgvector)+ File Search | 內建文件上傳與向量檢索 |
| 前端體驗 | 接近 ChatGPT,含 Artifacts、Code Interpreter、對話分支 | 介面清爽,社群外掛多 |
一句話挑選法:主要是「自己一個人接本機模型、想最快跑起來」→ Open WebUI 更輕;要「多家 API 統一管理、給團隊用、要權限與審計」→ LibreChat 更完整。兩套不衝突,很多人的伺服器上是兩個都跑。
安裝:Docker Compose 三步驟
前置需求:Docker 與 Docker Compose(建議 Docker Engine 24+ 或 Docker Desktop),Linux/macOS 皆可,Windows 用 WSL2。
# 1. 取得原始碼
git clone https://github.com/danny-avila/LibreChat.git
cd LibreChat
# 2. 建立環境檔(預設值即可開跑)
cp .env.example .env
# Windows: copy .env.example .env
# 3. 啟動
docker compose up -d
第一次啟動會拉映像檔,需要幾分鐘;之後快很多。完成後打開瀏覽器:
http://localhost:3080
第一個註冊的帳號就是管理員(單租戶模式),所以務必先把服務放在安全的網路環境、或直接設定好反向代理與登入限制再開放。
它幫你起了哪些容器?
LibreChat 的 docker-compose.yml 是個小型全家桶,不是只有一個服務:
| 容器 | 映像 | 角色 |
|---|---|---|
| api(LibreChat) | registry.librechat.ai/librechat-ai/librechat-dev:latest | 主程式,對外連 3080 |
| admin-panel | clickhouse/librechat-admin-panel:latest | 管理介面(預設 3000) |
| mongodb | mongo:8.0.20 | 對話與使用者資料 |
| meilisearch | getmeili/meilisearch:v1.35.1 | 全文搜尋(需另開 SEARCH=true) |
| vectordb | pgvector/pgvector:0.8.0-pg15-trixie | RAG 向量庫 |
| rag_api | librechat-rag-api-dev-lite:latest | RAG 服務 |
也就是說,你得到的不只是聊天介面,還有一整套搜尋、向量與後台。
更新方式
git pull
docker compose pull
docker compose up -d
⚠️ 更新前務必先看官方 changelog 的 breaking changes,LibreChat 版號推進時偶爾會動到環境變數或設定格式。
.env 必改的幾個關鍵變數
.env.example 有數百行,但真正上線前一定要處理的是這幾個:
| 變數 | 預設 | 說明 |
|---|---|---|
HOST / PORT | localhost / 3080 | 對外位址與埠 |
DOMAIN_CLIENT / DOMAIN_SERVER | http://localhost:3080 | 走網域或反向代理時必改,否則登入與分享連結會壞 |
CREDS_KEY / CREDS_IV | 空 | 加密使用者 API 金鑰用,正式環境必須設固定值,否則重啟後使用者存的憑證會解不開 |
JWT_SECRET / JWT_REFRESH_SECRET | 空 | 登入權杖簽章;不設會用 .env.temp 的臨時值,重啟即登出 |
SEARCH + MEILI_MASTER_KEY | false | 兩者要同時設定,站內全文搜尋才會開 |
ALLOW_REGISTRATION | true | 對外開放前建議關掉或改走邀請 |
ALLOW_EMAIL_LOGIN / ALLOW_SOCIAL_LOGIN | true / false | 決定登入方式 |
OPENAI_API_KEY | user_provided | 留給使用者自帶;管理員要統一供給就填這裡 |
ANTHROPIC_API_KEY / GOOGLE_KEY | user_provided | 同上,對應 Claude 與 Gemini |
觀念:
user_provided的意思是「讓每個使用者自己填金鑰」,金鑰會被CREDS_KEY加密後存進資料庫。想統一代管,就在.env直接填入伺服器端金鑰。
設定完都要重啟:
docker compose down && docker compose up -d
接上本機 Ollama 與自訂端點(librechat.yaml)
LibreChat 支援的供應商已經很多,但真正的彈性在 librechat.yaml——任何 OpenAI 相容 API 都能掛進來,包含自架 Ollama、vLLM、LM Studio 或公司內部的 LLM Gateway。
步驟 1:建立設定檔
cp librechat.example.yaml librechat.yaml
設定檔開頭會看到 version: 1.3.17,這個版本號要跟著官方文件更新。
步驟 2:在 docker-compose.override.yml 打開掛載
官方建議不要直接改 docker-compose.yml,而是用 override:
services:
api:
volumes:
- type: bind
source: ./librechat.yaml
target: /app/librechat.yaml
步驟 3:加入 Ollama 端點
version: 1.3.17
cache: true
endpoints:
custom:
- name: "ollama"
apiKey: "ollama" # Ollama 不驗金鑰,填任意值
baseURL: "http://host.docker.internal:11434/v1/"
models:
default: ["qwen3:8b", "llama3.2"]
fetch: true # 自動抓取本機已下載的模型
titleConvo: true
titleModel: "qwen3:8b"
modelDisplayLabel: "本機 Ollama"
host.docker.internal 在容器內指向宿主機;Linux 上 compose 檔已加 extra_hosts: host.docker.internal:host-gateway,所以這個寫法可用。
🚨 陷阱:SSRF 保護會擋掉內網位址
LibreChat 對 Actions 與 MCP 有 SSRF 防護,預設會擋私有網段。如果你要接自架 Ollama 或內部 LLM gateway,必須在白名單列出 host:port:
endpoints:
allowedAddresses:
- 'host.docker.internal:11434'
- 'localhost:11434'
- '192.168.1.50:8080'
規則要注意:必須帶 port、不能用 URL 或 CIDR,而且列入的主機名稱會信任它解析到的 IP。這是很多人「設定看起來沒錯、但一直連不上」的真正原因。
功能實戰:這五件事最值得先玩
1. Agents:無程式碼自建助手
內建 Agent 建構器,選模型、掛工具、指定系統指令就能做出專用助手,還有 Agent Marketplace 可以部署社群做好的。Agent 可分享給特定使用者或群組。
2. MCP:把外部工具接進來
LibreChat 是官方 MCP 客戶端之一,在 Agent 裡掛上 MCP Server 就能呼叫外部工具。若還沒接觸過協定本身,建議先看本站的 MCP 完整教學。
3. Skills 與 Subagents
用 SKILL.md 打包可重複使用的指令集(可設手動觸發、自動觸發或常駐);Subagents 則允許把子任務丟給獨立的子 Agent 執行,各自有獨立 context window——長任務不容易把主對話塞爆。
4. Code Interpreter 與 Artifacts
Code Interpreter 由 ClickHouse/code-interpreter 提供,沙盒支援 Python、Node.js(JS/TS)、Go、C/C++、Java、PHP、Rust 甚至 Fortran,可直接上傳/下載檔案。Artifacts 則能直接生成 React、HTML 與 Mermaid 內容並即時預覽。
順帶一提:本站會特別提醒 Mermaid 的渲染競態問題——在 LibreChat 的 Artifacts 裡 Mermaid 是獨立渲染的,不受影響;但如果是自己寫的網站要放圖,還是以 Markdown 表格代替流程圖最穩。
5. 多用戶權限與 Admin Panel
支援 Email、OAuth2、LDAP 登入,可用角色與群組切權限;Admin Panel 隨 Docker Compose 一起裝好(預設 3000 埠),可以在瀏覽器裡管理使用者、群組並即時改設定,不用重新部署。生產環境記得設定 ADMIN_PANEL_SESSION_SECRET。
常見陷阱清單
| 症狀 | 原因與解法 |
|---|---|
| 3080 埠被佔用 | bind: address already in use;改 port 或在 docker-compose.override.yml 換埠 |
| 重啟後要重新登入、使用者金鑰失效 | 沒設 JWT_SECRET、JWT_REFRESH_SECRET、CREDS_KEY,用了 .env.temp 臨時值 |
| 搜尋功能沒反應 | SEARCH=true 與 MEILI_MASTER_KEY 必須同時設定 |
| 接不上自架 Ollama | 被 SSRF 白名單擋住,要在 endpoints.allowedAddresses 列 host:port |
| 分享連結與登入導向錯誤 | DOMAIN_CLIENT / DOMAIN_SERVER 沒改成實際網域 |
| 想從外網安全存取 | 別直接開 3080;走反向代理,或參考本站 Cloudflare Tunnel 完整教學 不開防火牆埠就能上線 |
| 更新後壞掉 | 先讀 changelog 的 breaking changes,再 git pull && docker compose pull |
什麼時候不該用 LibreChat?
- 只想單機接 Ollama 聊天:Open WebUI 的安裝與資源佔用更輕。
- 要的是完整 SaaS 功能與原生手機 App:官方 ChatGPT/Claude 體驗仍更順。
- 完全不想維運資料庫:LibreChat 需要 MongoDB、Meilisearch 與 Postgres,長期要處理備份與升級。
反過來說,只要你有「多家模型 + 團隊共用 + 資料自持」這三個需求同時出現,LibreChat 就是目前開源圈最省事的答案之一。
延伸閱讀
- Open WebUI:自託管類 ChatGPT 介面,讓本機 LLM 更易用
- MCP 完整教學 2026:什麼是 Model Context Protocol?
- Cloudflare Tunnel 完整教學 2026:不開防火牆 port 也能把自架服務搬上網
- Docker 完整教學 2026:從安裝、Dockerfile、Compose 多階段構建到安全部署
