Synaplan Multimodal Gateway

chính thức

Cung 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?

  • Tìm kiếm cơ sở tri thức RAG của bạn — Đặt câu hỏi dựa trên tài liệu bạn đã tải lên và nhận câu trả lời dựa trên nội dung của bạn thông qua điểm cuối POST /mcp.
  • Truy xuất bộ nhớ AI — Truy vấn hồ sơ người dùng và ngữ cảnh đã lưu mà Synaplan đã thu thập, được hiển thị dưới dạng công cụ thông qua máy chủ MCP.
  • Kết nối máy chủ MCP bên ngoài — Thêm các dịch vụ tương thích MCP của riêng bạn (CRM, wiki, n8n) vào mục Channels để trình lập kế hoạch AI có thể lấy dữ liệu trực tiếp từ chúng.
  • Xử lý các yêu cầu nhiều bước — Phân tách các tác vụ phức tạp thành một đồ thị các bước (trích xuất, tóm tắt, tạo) để phát trực tiếp các thẻ tiến độ khi chúng thực thi.

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.

License

Phiên bản trực tiếp: web.synaplan.com  |  Tài liệu: docs.synaplan.com  |  API: Swagger UI

Watch the Synaplan demo

▶ Xem demo trên YouTube


Đ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 bản cài đặt tiêu chuẩn với AI cục bộ)
  • ~9 GB dung lượng đĩa trống cho bản cài đặt tiêu chuẩn (~5 GB cho bản 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ỉ chậm hơn và lần build đầu tiên sẽ lâu hơn.

Bắt đầu nhanh

git clone https://github.com/metadist/synaplan.git
cd synaplan
docker compose up -d

Mở http://localhost:5173giao diện người dùng sẽ sẵn sàng sau ~2 phút. Với bản 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) sẽ 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 bản cài đặt Tối thiểu bên dưới.


Tùy chọn cài đặt

Chế độLệnhKích thướcPhù hợp nhất cho
Tiêu chuẩndocker compose up -d~9 GBĐầy đủ tính năng, AI cục bộ
Tối thiểudocker compose -f docker-compose-minimal.yml up -d~5 GBChỉ AI đám mây (Groq/OpenAI)

Đối với bản 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? Hãy thêm nó 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ụnghttp://localhost:5173
APIhttp://localhost:8000
Tài liệu APIhttp://localhost:8000/api/doc
phpMyAdminhttp://localhost:8082
MailHoghttp://localhost:8025

Thông tin đăng nhập mặc định:

EmailMật khẩuCấp độ
admin@synaplan.comadmin123ADMIN
demo@synaplan.comdemo123PRO
test@example.comtest123MỚ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 tách các yêu cầu phức tạp thành đồ thị tác vụ (trích xuất → tóm tắt → tạo sinh → trả lời) và phát trực tiếp các thẻ tác vụ trong khi các bước đang 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 trò chuyện 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 được hỗ trợ bởi AI
  • Âm thanh — Chuyển lời 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ông cụ tại POST /mcp (hướng dẫn MCP)
  • Máy khách 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ụ lấy 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_ENABLEDapp:seed đặt chúng thành BẬT khi triển khai; một hàng 0 rõ ràng là công tắc tắt khẩn cấp của người vận hành). 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ò
redisCơ 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), công cụ Centrifugo
centrifugoCổ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
workerTrình tiêu thụ Symfony Messenger thực thi các công việc không đồ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 đến 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ẫnMô tả
Cài đặtHướng dẫn thiết lập chi tiết
Cấu hìnhBiến môi trường, khóa API
Phát triểnLệnh, kiểm thử, kiến trúc
Thời gian thực / WebSocketsLớp thời gian thực Centrifugo + Redis, triển khai đa nút
Hệ thống RAGTìm kiếm và xử lý tài liệu
Tiện ích ChatNhúng chat vào trang web
WhatsAppThiết lập Meta Business API
EmailTí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-docsTrang tài liệu công khai (docs.synaplan.com)
synaplan-ttsDịch vụ Piper TTS tùy chọn
synaplan-sortxPlugin sắp xếp tài liệu + công cụ cục bộ
synaplan-chartsBiểu đồ Helm cho Kubernetes
synaplan-platformCấ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ã.


Giấy phép

Apache-2.0