Synaplan Multimodal Gateway

ทางการ

Offers the complete functionality of the Open Source server as a MCP example

คุณทำอะไรได้บ้างด้วย Synaplan Multimodal Gateway?

  • Query RAG knowledge base — Ask questions against your uploaded documents and get AI answers grounded in your own content via POST /mcp.
  • Retrieve AI memories — Look up user profiles and interaction history stored in Qdrant vector search through the MCP endpoint.
  • Decompose complex requests — Submit multi-step tasks that the AI planner breaks into a task graph (extract, summarize, generate) and streams back live progress.
  • Manage chat channels — Connect and configure WhatsApp, email, or embedded chat widgets for multi-channel AI-powered conversations.
  • Connect external MCP servers — Register your own MCP servers under Channels so the multi-task planner can pull live data from them via mcp_fetch nodes.

เอกสาร

Synaplan

การจัดการความรู้ที่ขับเคลื่อนด้วย AI พร้อม RAG, วิดเจ็ตแชท และการผสานรวมหลายช่องทาง

License

อินสแตนซ์จริง: web.synaplan.com  |  เอกสาร: docs.synaplan.com  |  API: Swagger UI

Synaplan Dashboard


ข้อกำหนดเบื้องต้น

  • Docker + Docker Compose v2 (Docker Desktop บน macOS/Windows หรือ Docker Engine + ปลั๊กอิน Compose บน Linux)
  • Git
  • RAM 8 GB ขั้นต่ำ (แนะนำ 16 GB สำหรับการติดตั้งมาตรฐานแบบ local-AI)
  • พื้นที่ดิสก์ว่าง ~9 GB สำหรับการติดตั้งมาตรฐาน (~5 GB สำหรับแบบมินิมอล)
  • พอร์ต TCP ว่าง 5173, 8000, 8082, 8025, 3307, 6333, 11435

Mac ที่ใช้ Apple Silicon (M1–M4): อิมเมจคอนเทนเนอร์ของ Synaplan ถูกเผยแพร่สำหรับ linux/amd64 ดังนั้นจึงทำงานภายใต้การจำลองบน Apple Silicon ใน Docker Desktop → Settings → General ให้เปิดใช้งาน "Use Rosetta for x86/amd64 emulation on Apple Silicon" (macOS 13+) เพื่อให้คอนเทนเนอร์ทำงานเร็วขึ้นและเสถียรกว่า QEMU เริ่มต้นมาก ทุกอย่างทำงานได้โดยไม่ต้องใช้ — แค่ช้าลง และการ build ครั้งแรกใช้เวลานานกว่า

เริ่มต้นอย่างรวดเร็ว

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

เปิด http://localhost:5173UI พร้อมใช้งานใน ~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 GBAI บนคลาวด์เท่านั้น (Groq/OpenAI)

สำหรับการติดตั้งแบบมินิมอล ให้ตั้งค่า API key ของคุณ ก่อน เริ่มสแต็ก เพื่อให้การบูตครั้งแรกเห็นค่านั้น (หลีกเลี่ยงการรีสตาร์ท) รับคีย์ฟรีที่ 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
APIhttp://localhost:8000
เอกสาร APIhttp://localhost:8000/api/doc
phpMyAdminhttp://localhost:8082
MailHoghttp://localhost:8025

ข้อมูลรับรองการเข้าสู่ระบบเริ่มต้น:

อีเมลรหัสผ่านระดับ
[email protected]admin123ADMIN
[email protected]demo123PRO
[email protected]test123NEW (ยังไม่ยืนยัน)

ฟีเจอร์

  • แชท 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, …) ผ่าน Model Context Protocol; RAG และความทรงจำของคุณกลายเป็นเครื่องมือที่ POST /mcp (คู่มือ MCP)
  • ไคลเอนต์ MCP (การเข้าถึงก่อนใคร) — เชื่อมต่อเซิร์ฟเวอร์ MCP ของคุณ (CRM, วิกิ, n8n, …) ภายใต้ Channels → MCP Servers; ตัววางแผนหลายงานดึงข้อมูลสดจากเซิร์ฟเวอร์เหล่านั้นผ่านโหนด DAG mcp_fetch — อ่านอย่างเดียว, ป้องกัน SSRF, เลือกใช้ตามหัวข้อ เปิดใช้งานโดยแฟล็ก BCONFIG ที่ seeded (MCP.CLIENT_ENABLED, MULTITASK.MCP_FETCH_ENABLEDapp:seed ตั้งค่าเป็น ON เมื่อ deploy; แถว 0 ที่ชัดเจนคือสวิตช์หยุดฉุกเฉินของผู้ปฏิบัติงาน) ดู docs/MULTITASK_DATA_NODES.md

ฐานข้อมูลเวกเตอร์ Qdrant

Qdrant ทำงานเป็นบริการ Docker ภายใน — ไม่จำเป็นต้องกำหนดค่าใดๆ มันขับเคลื่อนความทรงจำ AI, การค้นหาเอกสาร RAG และระบบข้อเสนอแนะ

เริ่มต้นโดยอัตโนมัติด้วย docker compose up -d Synaplan ทำงานได้อย่างสมบูรณ์โดยไม่มีมัน (ความทรงจำและการค้นหาเวกเตอร์จะถูกปิดใช้งาน)


การประมวลผลแบบเรียลไทม์และเบื้องหลัง

ไฟล์ compose ทั้งสองยังเริ่มบริการภายในสามรายการ (ไม่มีพอร์ตโฮสต์, ไม่ต้องตั้งค่า):

บริการบทบาท
redisโครงสร้างพื้นฐานที่ใช้ร่วมกันที่จำเป็น: แคช, เซสชัน, ล็อก, การจำกัดอัตรา, คิวข้อความ (Redis Streams), เอนจิน Centrifugo
centrifugoเกตเวย์ WebSocket สำหรับฟีเจอร์เรียลไทม์ (การ接管แชทสด, ตัวบ่งชี้การพิมพ์, การแจ้งเตือนผู้ปฏิบัติงาน) — เบราว์เซอร์เชื่อมต่อแบบ same-origin ผ่าน /connection/websocket
workerผู้บริโภค Symfony Messenger ที่ดำเนินการงาน async (การประมวลผล AI, การจัดทำดัชนีเอกสาร, การรวบรวมข้อมูลวิดเจ็ต)

ในคลัสเตอร์หลายโหนด ทุกโหนดใช้ Redis ร่วมกัน ดังนั้นเหตุการณ์ WebSocket ที่เผยแพร่บนโหนดหนึ่งจะไปถึงเบราว์เซอร์ที่เชื่อมต่อกับโหนดอื่นๆ รายละเอียด: docs/REALTIME.md.


การแปลงข้อความเป็นเสียง (ตัวเลือก)

สำหรับเอาต์พุตเสียง ให้รัน synaplan-tts ควบคู่กับ Synaplan:

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

คู่มือใน repo (สำหรับนักพัฒนาที่ทำงานบนโค้ดเบสนี้):

คู่มือคำอธิบาย
การติดตั้งคำแนะนำการตั้งค่าโดยละเอียด
การกำหนดค่าตัวแปรสภาพแวดล้อม, คีย์ API
การพัฒนาคำสั่ง, การทดสอบ, สถาปัตยกรรม
เรียลไทม์ / WebSocketsเลเยอร์เรียลไทม์ Centrifugo + Redis, การ deploy หลายโหนด
ระบบ RAGการค้นหาและประมวลผลเอกสาร
วิดเจ็ตแชทฝังแชทบนเว็บไซต์
WhatsAppการตั้งค่า Meta Business API
อีเมลการผสานรวมช่องทางอีเมล

Repositories ที่เกี่ยวข้อง

Repoวัตถุประสงค์
synaplanแอปหลัก (repo นี้)
synaplan-docsไซต์เอกสารสาธารณะ (docs.synaplan.com)
synaplan-ttsบริการ Piper TTS ตัวเลือก
synaplan-sortxปลั๊กอินการจัดเรียงเอกสาร + เครื่องมือภายใน
synaplan-chartsHelm charts สำหรับ Kubernetes
synaplan-platformการกำหนดค่าการ deploy สำหรับ production

โครงสร้างโปรเจกต์

synaplan/
├── backend/        # Symfony PHP API
├── frontend/       # Vue.js SPA
├── docs/           # Documentation
├── _docker/        # Docker configs
└── plugins/        # Plugin system

การมีส่วนร่วม

ดู AGENTS.md สำหรับแนวทางการพัฒนาและมาตรฐานโค้ด


ใบอนุญาต

Apache-2.0