Synaplan Multimodal Gateway
官方提供完整功能的開源伺服器作為MCP範例
你可以用 Synaplan Multimodal Gateway 做什麼?
- 查詢 RAG 知識庫 — 針對您上傳的文件提出問題,並透過
POST /mcp獲得基於您自身內容的 AI 答案。 - 檢索 AI 記憶 — 透過 MCP 端點查詢儲存在 Qdrant 向量搜尋中的使用者個人資料與互動歷史。
- 分解複雜請求 — 提交多步驟任務,AI 規劃器將其分解為任務圖(提取、摘要、生成),並即時串流回進度。
- 管理聊天頻道 — 連接並設定 WhatsApp、電子郵件或嵌入式聊天小工具,以進行多頻道的 AI 驅動對話。
- 連接外部 MCP 伺服器 — 在頻道下註冊您自己的 MCP 伺服器,以便多任務規劃器能透過
mcp_fetch節點從中提取即時資料。
文件
Synaplan
AI 驅動的知識管理,具備 RAG、聊天小工具與多管道整合功能。
線上實例:web.synaplan.com | 文件:docs.synaplan.com | API:Swagger UI

先決條件
- Docker + Docker Compose v2(macOS/Windows 上的 Docker Desktop,或 Linux 上的 Docker Engine + Compose 外掛)
- Git
- 最低 8 GB RAM(本機 AI 標準安裝建議 16 GB)
- 標準安裝約需 ~9 GB 可用磁碟空間(最小安裝約需 ~5 GB)
- 可用的 TCP 連接埠
5173、8000、8082、8025、3307、6333、11435
Apple Silicon (M1–M4) Mac: Synaplan 的容器映像檔是針對
linux/amd64發布的,因此在 Apple Silicon 上會以模擬方式執行。在 Docker Desktop → 設定 → 一般 中,啟用 「在 Apple Silicon 上使用 Rosetta 進行 x86/amd64 模擬」(macOS 13+),可獲得比預設 QEMU 更快、更穩定的容器。不啟用也能正常運作——只是速度較慢,且首次建置時間較長。
快速入門
git clone https://github.com/metadist/synaplan.git
cd synaplan
docker compose up -d
開啟 http://localhost:5173 —— 使用者介面約 2 分鐘內就緒。在標準安裝中,本機 Ollama 模型(gpt-oss:20b、bge-m3,總計約 14 GB)會繼續在背景中下載——使用本機 AI 的聊天功能會在該下載完成後開始運作(docker compose logs -f backend 會顯示進度)。若要獲得最快的首次體驗,請使用下方的最小安裝方式。
安裝選項
| 模式 | 指令 | 大小 | 最適合 |
|---|---|---|---|
| 標準 | docker compose up -d | ~9 GB | 完整功能、本機 AI |
| 最小 | docker compose -f docker-compose-minimal.yml up -d | ~5 GB | 僅限雲端 AI(Groq/OpenAI) |
若選擇最小安裝,請在啟動堆疊之前設定您的 API 金鑰,以便首次啟動時就能讀取(避免重新啟動)。請至 console.groq.com 取得免費金鑰:
echo "GROQ_API_KEY=your_key" >> backend/.env
docker compose -f docker-compose-minimal.yml up -d
已經在未設定金鑰的情況下啟動了嗎?請新增金鑰並重新啟動後端:
echo "GROQ_API_KEY=your_key" >> backend/.env && docker compose restart backend
存取
| 服務 | URL |
|---|---|
| 應用程式 | http://localhost:5173 |
| API | http://localhost:8000 |
| API 文件 | http://localhost:8000/api/doc |
| phpMyAdmin | http://localhost:8082 |
| MailHog | http://localhost:8025 |
預設登入憑證:
| 電子郵件 | 密碼 | 等級 |
|---|---|---|
| [email protected] | admin123 | ADMIN |
| [email protected] | demo123 | PRO |
| [email protected] | test123 | NEW(未驗證) |
功能特色
- AI 聊天 — Ollama、OpenAI、Anthropic、Groq、Gemini
- 多任務路由 — AI 規劃器會將複雜請求分解為任務圖(提取 → 摘要 → 生成 → 回覆),並在步驟執行時即時串流任務卡片
- RAG 搜尋 — 使用 MariaDB VECTOR 或 Qdrant 進行語義文件搜尋
- 聊天小工具 — 嵌入任何網站(小工具指南)
- 即時支援 — 即時 WebSocket 層(Centrifugo + Redis):人工接管小工具聊天、輸入指示器、操作員通知(即時功能指南)
- WhatsApp — Meta Business API 整合
- 電子郵件 — AI 驅動的電子郵件回覆
- 音訊 — Whisper 轉錄(輸入)+ 選用的 synaplan-tts(輸出)
- 文件 — PDF、Word、Excel、含 OCR 的圖片
- AI 記憶 — 使用 Qdrant 向量搜尋進行使用者分析
- 回饋系統 — 由 Qdrant 驅動的回饋擷取與分析
- 外掛 — 非侵入式外掛系統(外掛指南)
- MCP 伺服器 (早期存取) — 透過模型上下文協定連接 AI 客戶端(Claude、Cursor 等);您的 RAG 和記憶會成為
POST /mcp上的工具(MCP 指南) - MCP 客戶端 (早期存取) — 在 頻道 → MCP 伺服器 下連接您的 MCP 伺服器(CRM、wiki、n8n 等);多任務規劃器會透過
mcp_fetchDAG 節點從中提取即時資料——唯讀、SSRF 防護、按主題選擇加入。由已植入的BCONFIG旗標啟用(MCP.CLIENT_ENABLED、MULTITASK.MCP_FETCH_ENABLED—app:seed會在部署時將其設為 ON;明確的0列是操作員的終止開關)。請參閱 docs/MULTITASK_DATA_NODES.md
Qdrant 向量資料庫
Qdrant 作為內部 Docker 服務執行——無需設定。它為 AI 記憶、RAG 文件搜尋和回饋系統提供支援。
會隨 docker compose up -d 自動啟動。沒有它 Synaplan 也能完全正常運作(記憶和向量搜尋將被停用)。
即時與背景處理
兩個 compose 檔案也會啟動三個內部服務(無主機連接埠,無需設定):
| 服務 | 角色 |
|---|---|
redis | 必要的共享基礎架構:快取、工作階段、鎖定、速率限制、訊息佇列(Redis Streams)、Centrifugo 引擎 |
centrifugo | 用於即時功能的 WebSocket 閘道(即時聊天接管、輸入指示器、操作員通知)——瀏覽器透過 /connection/websocket 進行同源連接 |
worker | Symfony Messenger 消費者,用於執行非同步作業(AI 處理、文件索引、小工具爬取) |
在多節點叢集中,所有節點共用一個 Redis,因此在一個節點上發布的 WebSocket 事件會送達連接到任何其他節點的瀏覽器。詳細資訊:docs/REALTIME.md。
文字轉語音(選用)
若要使用語音輸出,請在 Synaplan 旁邊執行 synaplan-tts:
git clone https://github.com/metadist/synaplan-tts.git && cd synaplan-tts && docker compose up -d
常用指令
# Logs
docker compose logs -f backend
# Restart
docker compose restart backend
# Reset database
docker compose down -v && docker compose up -d
# Run tests
make test
# Code quality
make lint
文件
面向使用者與 API 的文件位於 docs.synaplan.com。原始碼:metadist/synaplan-docs。
儲存庫內指南(適用於在此程式碼庫上工作的開發人員):
| 指南 | 說明 |
|---|---|
| 安裝 | 詳細設定說明 |
| 設定 | 環境變數、API 金鑰 |
| 開發 | 指令、測試、架構 |
| 即時 / WebSockets | Centrifugo + Redis 即時層、多節點部署 |
| RAG 系統 | 文件搜尋與處理 |
| 聊天小工具 | 在網站上嵌入聊天功能 |
| Meta Business API 設定 | |
| 電子郵件 | 電子郵件頻道整合 |
相關儲存庫
| 儲存庫 | 用途 |
|---|---|
| synaplan | 主要應用程式(此儲存庫) |
| synaplan-docs | 公開文件網站 (docs.synaplan.com) |
| synaplan-tts | 選用的 Piper TTS 服務 |
| synaplan-sortx | 文件排序外掛 + 本機工具 |
| synaplan-charts | 用於 Kubernetes 的 Helm charts |
| synaplan-platform | 生產環境部署設定 |
專案結構
synaplan/
├── backend/ # Symfony PHP API
├── frontend/ # Vue.js SPA
├── docs/ # Documentation
├── _docker/ # Docker configs
└── plugins/ # Plugin system
貢獻
請參閱 AGENTS.md 了解開發指南和程式碼標準。