LibreChat:打造企業級本地 AI 對話平台的完整指南

LibreChat:打造企業級本地 AI 對話平台的完整指南

深度介紹 LibreChat 這套開源 AI 對話平台的核心架構與功能。從 Agent 建構器、RAG 知識庫,到 Skill、Prompt、Memory、MCP 工具串接,完整解析如何在本地端打造一個企業可用的多模型 AI 對話系統。


如果說 RAGFlow 是一個專注於知識庫檢索的 AI 基礎設施,那 LibreChat 要解決的問題則更根本:如何讓企業員工用一個統一的介面,自由使用任何 AI 模型,同時把企業的知識、工具、流程全部整合進去?

LibreChat 的定位是一個多模型 AI 對話平台,它不綁定任何單一 LLM,Claude、GPT-4o、Gemini、本地 Ollama 模型全部可以在同一個介面切換使用。更重要的是,它內建了完整的 Agent 系統、RAG 知識庫、工具串接框架,讓一般員工不需要懂提示工程,就能使用經過設計的 AI 助手。


技術棧

層次技術版本用途
應用程式LibreChatv0.8.7主平台
後端語言Node.js-API 伺服器
對話資料庫MongoDB8.0.20對話紀錄、用戶資料、Agent 設定
全文搜尋Meilisearchv1.35.1對話歷史搜尋
向量資料庫PostgreSQL + pgvectorpg15RAG 文件向量儲存
RAG 服務LibreChat RAG API內建文件嵌入與語意搜尋
Embedding 模型text-embedding-3-small (OpenAI)外部 API文件向量化
LLMClaude / GPT / Gemini / Ollama外部 / 本地對話推理
工具串接MCP (Model Context Protocol)-外部系統整合
容器化Docker Compose-一鍵部署

LibreChat 是什麼?

LibreChat 是一套開源的 ChatGPT 替代方案,目前在 GitHub 上已累積超過 39,800 顆星。它的核心定位不是一個 LLM,而是一個讓多種 LLM 可以統一管理與使用的平台

整個系統透過 Docker Compose 一鍵啟動,對使用者完全透明。底層的 MongoDB 對話儲存、Meilisearch 全文搜尋、pgvector 向量資料庫全部自動運作,你只需要管好「設計什麼 Agent」和「上傳什麼知識」。


核心架構

LibreChat 的內部架構可以分為五個層次:

Loading Diagram...

七大功能模組

1. Agent 建構器

Agent 建構器是 LibreChat 的核心,讓你把 AI 助手「設計化」,而不是每次都從空白對話開始。

Agent 建構器介面

每個 Agent 可以獨立設定:

設定項目說明
模型選擇 Claude、GPT-4o、Gemini 或本地 Ollama
系統指令定義 Agent 的角色與回答風格
工具File Search、網路搜尋、MCP 工具
Skills掛載可重複使用的行為模組

這讓企業可以針對不同部門建立專屬助手:採購助手只能查採購知識庫、HR 助手只能處理人資相關問題,互不干擾。


2. 對話紀錄與書籤

LibreChat 的對話紀錄會自動儲存在 MongoDB,並透過 Meilisearch 建立全文搜尋索引,讓你可以跨所有歷史對話搜尋任何關鍵字。

對話紀錄與書籤介面

除了基本的對話列表,LibreChat 提供書籤功能,讓你把重要的對話標記起來:

  • 在任何對話中點擊書籤圖示
  • 填入標題與描述
  • 書籤列表統一管理,快速跳回重要分析結果

3. Skill(可重複使用的行為模組)

Skill 是 LibreChat 獨特的功能,讓你把常用的 AI 行為打包成可掛載的模組。

Skill 管理介面 書籤

(截圖:Skill 建立與管理介面)

每個 Skill 由一個 SKILL.md 文件定義,包含:

  • 用途說明(AI 靠這個判斷何時啟用)
  • 執行步驟
  • 輸出格式要求

三種觸發模式:

模式說明
Always Apply每次對話都強制執行
Model-invokedAI 自動判斷何時需要這個 Skill

實際案例:建立一個「今日 AI 新聞速報」Skill,定義搜尋關鍵字與輸出格式,掛載到 Agent 後,只要說「今天 AI 有什麼新消息」,AI 就會自動執行完整的搜尋與整理流程。


4. Prompt 提示庫

Prompt 提示庫讓你把常用的提示詞存成範本,對話時用 / 快速呼叫。

Prompt 提示庫介面

每個 Prompt 可以設定:

  • 名稱:顯示在列表的標題
  • 指令/ 後面的快速呼叫代號
  • 內容:完整的提示詞,支援 {{current_date}} 等特殊變數

實際案例:每日匯率查詢

建立一個指令為 /rate 的 Prompt,內容包含完整的匯率查詢格式。之後在任何對話框輸入 /rate,提示詞自動帶入,直接送出即可獲得結構化的匯率報告。


5. 記憶(Memory)

Memory 解決了 AI 對話「每次從零開始」的痛點,讓 AI 記住你的個人偏好與背景資訊。

Memory 設定介面

記憶採用 key/value 格式儲存:

設定後,不論在哪個對話或 Agent,AI 都會自動參考這些背景知識,不需要每次重新說明。


6. 附加檔案與 RAG 知識庫

LibreChat 的 File Search 功能讓 Agent 可以搜尋上傳的企業文件,實現 RAG(檢索增強生成)。

MCP Server 設定介面

技術架構:

  • Embedding 模型:OpenAI text-embedding-3-small
  • 向量資料庫:PostgreSQL + pgvector
  • 搜尋方式:語意向量搜尋

支援上傳的格式:PDF、DOCX、TXT、MD、CSV、XLSX 及各種程式碼檔案。

文件上傳後會自動向量化,之後與 Agent 的每次對話,系統都會先搜尋相關段落,再結合 LLM 生成答案,確保回答有文件依據。


7. MCP 工具串接

MCP(Model Context Protocol)是 LibreChat 最強大的擴展機制,讓 AI 可以直接呼叫外部系統的 API。

MCP Server 設定介面 MCP Server 設定介面2

MCP 的運作原理是:把複雜的 API 包裝成簡單的工具,讓 AI 不需要了解底層協議,只需要知道「工具名稱 + 參數」。

實際案例:串接 Odoo ERP

透過一個 Python FastMCP Server,把 Odoo 的 XML-RPC API 包裝成五個工具:

工具功能
get_purchase_orders查詢採購單
get_suppliers查詢供應商
get_inventory查詢庫存
get_sale_orders查詢銷售單
get_products查詢產品

設定後,只需在對話輸入「幫我查最近 10 筆採購單」,AI 就會自動呼叫 Odoo API 並整理成可讀的報告。

實際案例:串接 Synology MailPlus

透過 Python FastMCP Server 包裝標準 IMAP/SMTP 協議,讓 AI 可以直接操作公司信箱:

工具功能
read_emails讀取收件匣(支援指定資料夾與未讀過濾)
search_emails以關鍵字搜尋主旨或寄件者
send_email發送郵件(支援 CC)
get_unread_count查詢未讀信件數量

Synology MailPlus 使用標準 IMAP(port 993)與 SMTP SSL(port 465),MCP Server 直接透過這兩個協議連線,不需要任何額外 API 申請。設定後可在對話中直接說:「幫我找供應商回覆的詢價信」或「把這份報告寄給採購部門」。


企業儲存整合:QNAP QuObjects

LibreChat 預設把上傳的檔案存在本機 uploads/ 資料夾,但對企業來說更理想的做法是集中存放在 NAS。

LibreChat 支援 S3 相容儲存,QNAP 的 QuObjects 正是這樣的服務,讓 NAS 直接扮演企業私有雲的角色。

設定方式(.env):

AWS_ENDPOINT_URL=https://你的QNAP_IP:PORT
AWS_ACCESS_KEY_ID=你的存取金鑰ID
AWS_SECRET_ACCESS_KEY=你的秘密金鑰
AWS_REGION=us-east-1
AWS_BUCKET_NAME=librechat-files

librechat.yaml 啟用 S3:

fileStrategy: "s3"

注意事項:

  • QNAP QuObjects 使用自簽 SSL 憑證,需在 docker-compose 的 environment 加入 NODE_TLS_REJECT_UNAUTHORIZED=0 才能正常連線
  • Access Key 格式為完整字串(含冒號),如 KEY-NAME:xxxxx
  • 每個用戶上傳的檔案仍依用戶 ID 隔離,只是儲存位置從本機改為 NAS

完成後所有員工上傳的文件都會集中存放在 QNAP NAS,方便統一備份與管理。


LibreChat vs RAGFlow

兩個平台定位不同,適合不同場景:

比較維度RAGFlowLibreChat
核心強項深度文件解析與 RAG多模型管理與 Agent 設計
Agent 設計視覺化流程圖(節點式)參數配置 + Skill 掛載
文件解析DeepDoc 深度解析基本向量化
MCP 支援支援支援(用戶自定義)
適合對象知識庫導向的企業多工具整合的企業
上手難度

實際部署心得

我在本機(Windows 11 + Docker)完整跑起了 LibreChat,紀錄幾個注意的地方:

RAG 服務需要額外啟動:LibreChat 的 RAG 功能不在預設的 docker-compose.yml 裡,需要用 docker compose -f docker-compose.yml -f rag.yml up -d 才能啟動 pgvector 和 RAG API。

MCP Server 的網路問題:LibreChat 從 Docker 容器內部連線 MCP Server,localhost 指的是容器本身,必須用 host.docker.internal 才能連到主機上的其他服務。

Skill 的格式要求:伺服器端的 skill/ 資料夾中,SKILL.md 必須有 YAML frontmatter,且 name 欄位必須是 kebab-case(如 ai-news-daily),否則 LibreChat 啟動時會直接失敗。


結語

LibreChat 的設計理念是把「AI 對話」這件事標準化與平台化。透過 Agent 建構器,企業可以把 AI 使用的門檻降到最低,讓每個員工都能使用針對自己職能設計的 AI 助手,而不是面對一個空白的聊天框。

在後續的規劃中,預計會進一步整合更多 MCP Server,讓 LibreChat 的 Agent 能夠直接存取 ERP 訂單、庫存、財務報表等結構化資料,結合 RAG 知識庫的非結構化文件查詢,打造一個真正意義上的企業 AI 助理平台。


參考資料 (References)

官方資源與文件