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?

  • 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.

License

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

Synaplan chat screen


Đ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:5173giao 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ệ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 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ụ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 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_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 đ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ò
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), engine 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 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ẫ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ã nguồn.


Giấy phép

Apache-2.0