Synaplan Multimodal Gateway
chính thứcCung cấp đầy đủ chức năng của máy chủ Mã nguồn mở như một ví dụ MCP.
Bạn có thể làm gì với Synaplan Multimodal Gateway MCP?
- Truy vấn cơ sở tri thức RAG của bạn — Đặt câu hỏi và nhận câu trả lời dựa trên các tài liệu bạn đã tải lên thông qua máy chủ MCP tại
POST /mcp. - Truy xuất bộ nhớ AI — Truy cập hồ sơ người dùng và lịch sử tương tác được lưu trữ trong Qdrant thông qua các công cụ MCP.
- Kết nối máy chủ MCP bên ngoài — Đăng ký máy chủ MCP của riêng bạn trong mục Kênh để trình lập kế hoạch đa nhiệm có thể lấy dữ liệu trực tiếp từ chúng.
- Phân rã các yêu cầu phức tạp — Trình lập kế hoạch AI chia nhỏ các tác vụ nhiều bước thành một đồ thị (trích xuất, tóm tắt, tạo) và phát trực tiếp tiến trình dưới dạng thẻ tác vụ.
Tài liệu
Synaplan
Quản lý tri thức hỗ trợ bởi AI với RAG, tiện ích chat và tích hợp đa kênh.
Phiên bản trực tiếp: web.synaplan.com | Tài liệu: docs.synaplan.com | API: Swagger UI

Điều kiện tiên quyết
- Docker + Docker Compose v2 (Docker Desktop trên macOS/Windows, hoặc Docker Engine + plugin Compose trên Linux)
- Git
- RAM tối thiểu 8 GB (khuyến nghị 16 GB cho cài đặt tiêu chuẩn AI cục bộ)
- ~9 GB dung lượng đĩa trống cho cài đặt tiêu chuẩn (~5 GB cho cài đặt tối thiểu)
- Các cổng TCP trống
5173,8000,8082,8025,3307,6333,11435
Máy Mac Apple Silicon (M1–M4): Các image container của Synaplan được xuất bản cho
linux/amd64, do đó chúng chạy dưới dạng giả lập trên Apple Silicon. Trong Docker Desktop → Settings → General, hãy bật "Use Rosetta for x86/amd64 emulation on Apple Silicon" (macOS 13+) để có các container nhanh hơn, ổn định hơn nhiều so với QEMU mặc định. Mọi thứ vẫn hoạt động nếu không bật — chỉ là chậm hơn và lần build đầu tiên mất nhiều thời gian hơn.
Bắt đầu nhanh
git clone https://github.com/metadist/synaplan.git
cd synaplan
docker compose up -d
Mở http://localhost:5173 — giao diện người dùng sẽ sẵn sàng trong ~2 phút. Với cài đặt tiêu chuẩn, các mô hình Ollama cục bộ (gpt-oss:20b, bge-m3, tổng ~14 GB) tiếp tục tải xuống trong nền — chat sử dụng AI cục bộ sẽ bắt đầu hoạt động sau khi quá trình tải xuống đó hoàn tất (docker compose logs -f backend hiển thị tiến trình). Để có trải nghiệm đầu tiên nhanh nhất, hãy sử dụng tùy chọn cài đặt Tối thiểu bên dưới.
Tùy chọn cài đặt
| Chế độ | Lệnh | Kích thước | Phù hợp nhất cho |
|---|---|---|---|
| Tiêu chuẩn | docker compose up -d | ~9 GB | Đầy đủ tính năng, AI cục bộ |
| Tối thiểu | docker compose -f docker-compose-minimal.yml up -d | ~5 GB | Chỉ AI đám mây (Groq/OpenAI) |
Đối với cài đặt tối thiểu, hãy đặt khóa API của bạn trước khi khởi động stack để lần khởi động đầu tiên đã nhận diện được nó (tránh phải khởi động lại). Nhận khóa miễn phí tại console.groq.com:
echo "GROQ_API_KEY=your_key" >> backend/.env
docker compose -f docker-compose-minimal.yml up -d
Đã khởi động mà chưa có khóa? Thêm nó vào và khởi động lại backend:
echo "GROQ_API_KEY=your_key" >> backend/.env && docker compose restart backend
Truy cập
| Dịch vụ | URL |
|---|---|
| Ứng dụng | http://localhost:5173 |
| API | http://localhost:8000 |
| Tài liệu API | http://localhost:8000/api/doc |
| phpMyAdmin | http://localhost:8082 |
| MailHog | http://localhost:8025 |
Thông tin đăng nhập mặc định:
| Mật khẩu | Cấp độ | |
|---|---|---|
| admin@synaplan.com | admin123 | ADMIN |
| demo@synaplan.com | demo123 | PRO |
| test@example.com | test123 | MỚI (chưa xác minh) |
Tính năng
- Chat AI — Ollama, OpenAI, Anthropic, Groq, Gemini
- Định tuyến đa tác vụ — Một bộ lập kế hoạch AI phân rã các yêu cầu phức tạp thành một đồ thị tác vụ (trích xuất → tóm tắt → tạo sinh → trả lời) và truyền trực tiếp các thẻ tác vụ trong khi các bước thực thi
- Tìm kiếm RAG — Tìm kiếm tài liệu ngữ nghĩa với MariaDB VECTOR hoặc Qdrant
- Tiện ích Chat — Nhúng vào bất kỳ trang web nào (hướng dẫn tiện ích)
- Hỗ trợ trực tiếp — Lớp WebSocket thời gian thực (Centrifugo + Redis): con người tiếp quản các cuộc chat từ tiện ích, chỉ báo đang nhập, thông báo cho điều hành viên (hướng dẫn thời gian thực)
- WhatsApp — Tích hợp Meta Business API
- Email — Phản hồi email hỗ trợ bởi AI
- Âm thanh — Chuyển đổi giọng nói thành văn bản Whisper (đầu vào) + tùy chọn synaplan-tts (đầu ra)
- Tài liệu — PDF, Word, Excel, hình ảnh với OCR
- Ký ức AI — Hồ sơ người dùng với tìm kiếm vector Qdrant
- Hệ thống phản hồi — Thu thập và phân tích phản hồi được hỗ trợ bởi Qdrant
- Plugin — Hệ thống plugin không xâm lấn (hướng dẫn plugin)
- Máy chủ MCP (truy cập sớm) — Kết nối các client AI (Claude, Cursor, …) qua Model Context Protocol; RAG và ký ức của bạn trở thành các công cụ tại
POST /mcp(hướng dẫn MCP) - Client MCP (truy cập sớm) — Kết nối máy chủ MCP của bạn (CRM, wiki, n8n, …) trong Kênh → Máy chủ MCP; bộ lập kế hoạch đa tác vụ kéo dữ liệu trực tiếp từ chúng qua các nút DAG
mcp_fetch— chỉ đọc, được bảo vệ chống SSRF, chọn tham gia theo chủ đề. Được kích hoạt bởi các cờBCONFIGđã được gieo (MCP.CLIENT_ENABLED,MULTITASK.MCP_FETCH_ENABLED—app:seedđặt chúng thành BẬT khi triển khai; một hàng0rõ ràng là công tắc tắt khẩn cấp của điều hành viên). Xem docs/MULTITASK_DATA_NODES.md
Cơ sở dữ liệu Vector Qdrant
Qdrant chạy như một dịch vụ Docker nội bộ — không cần cấu hình. Nó hỗ trợ ký ức AI, tìm kiếm tài liệu RAG và hệ thống phản hồi.
Tự động khởi động với docker compose up -d. Synaplan hoạt động đầy đủ mà không cần nó (ký ức và tìm kiếm vector sẽ bị vô hiệu hóa).
Xử lý thời gian thực & nền
Cả hai tệp compose cũng khởi động ba dịch vụ nội bộ (không có cổng máy chủ, không cần thiết lập):
| Dịch vụ | Vai trò |
|---|---|
redis | Cơ sở hạ tầng dùng chung bắt buộc: bộ nhớ đệm, phiên, khóa, giới hạn tốc độ, hàng đợi tin nhắn (Redis Streams), engine Centrifugo |
centrifugo | Cổng WebSocket cho các tính năng thời gian thực (tiếp quản chat trực tiếp, chỉ báo đang nhập, thông báo điều hành viên) — trình duyệt kết nối cùng nguồn gốc qua /connection/websocket |
worker | Trình tiêu thụ Symfony Messenger thực thi các công việc bất đồng bộ (xử lý AI, lập chỉ mục tài liệu, thu thập tiện ích) |
Trong một cụm đa nút, tất cả các nút chia sẻ một Redis, do đó các sự kiện WebSocket được xuất bản trên một nút sẽ đến được các trình duyệt kết nối với bất kỳ nút nào khác. Chi tiết: docs/REALTIME.md.
Chuyển văn bản thành giọng nói (Tùy chọn)
Để có đầu ra giọng nói, hãy chạy synaplan-tts cùng với Synaplan:
git clone https://github.com/metadist/synaplan-tts.git && cd synaplan-tts && docker compose up -d
Các lệnh phổ biến
# 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
Tài liệu
Tài liệu hướng tới người dùng & API có tại docs.synaplan.com. Nguồn: metadist/synaplan-docs.
Hướng dẫn trong kho lưu trữ (dành cho nhà phát triển làm việc trên codebase này):
| Hướng dẫn | Mô tả |
|---|---|
| Cài đặt | Hướng dẫn thiết lập chi tiết |
| Cấu hình | Biến môi trường, khóa API |
| Phát triển | Lệnh, kiểm thử, kiến trúc |
| Thời gian thực / WebSockets | Lớp thời gian thực Centrifugo + Redis, triển khai đa nút |
| Hệ thống RAG | Tìm kiếm và xử lý tài liệu |
| Tiện ích Chat | Nhúng chat vào trang web |
| Thiết lập Meta Business API | |
| Tích hợp kênh email |
Kho lưu trữ liên quan
| Kho lưu trữ | Mục đích |
|---|---|
| synaplan | Ứng dụng chính (kho lưu trữ này) |
| synaplan-docs | Trang tài liệu công khai (docs.synaplan.com) |
| synaplan-tts | Dịch vụ Piper TTS tùy chọn |
| synaplan-sortx | Plugin sắp xếp tài liệu + công cụ cục bộ |
| synaplan-charts | Biểu đồ Helm cho Kubernetes |
| synaplan-platform | Cấu hình triển khai sản xuất |
Cấu trúc dự án
synaplan/
├── backend/ # Symfony PHP API
├── frontend/ # Vue.js SPA
├── docs/ # Documentation
├── _docker/ # Docker configs
└── plugins/ # Plugin system
Đóng góp
Xem AGENTS.md để biết hướng dẫn phát triển và tiêu chuẩn mã nguồn.