Synaplan Multimodal Gateway

ทางการ

นำเสนอฟังก์ชันการทำงานที่สมบูรณ์ของเซิร์ฟเวอร์โอเพนซอร์สเป็นตัวอย่าง MCP

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

  • ค้นหาฐานความรู้ RAG ของคุณ — ถามคำถามเกี่ยวกับเอกสารที่คุณอัปโหลดและรับคำตอบที่อ้างอิงจากเนื้อหาของคุณเองผ่านปลายทาง POST /mcp
  • ดึงข้อมูลความทรงจำของ AI — ค้นหาโปรไฟล์ผู้ใช้และบริบทที่จัดเก็บไว้ซึ่ง Synaplan ได้บันทึกไว้ โดยแสดงเป็นเครื่องมือผ่านเซิร์ฟเวอร์ MCP
  • เชื่อมต่อเซิร์ฟเวอร์ MCP ภายนอก — เพิ่มบริการที่รองรับ MCP ของคุณเอง (CRM, wiki, n8n) ภายใต้ช่องทาง เพื่อให้ตัววางแผน AI สามารถดึงข้อมูลสดจากบริการเหล่านั้นได้
  • ประมวลผลคำขอแบบหลายขั้นตอน — แยกย่อยงานที่ซับซ้อนเป็นกราฟของขั้นตอน (แยกข้อมูล, สรุป, สร้างเนื้อหา) ที่จะสตรีมการ์ดความคืบหน้าแบบเรียลไทม์ขณะดำเนินการ

เอกสาร

Synaplan

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

License

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

Watch the Synaplan demo

▶ ดูการสาธิตบน YouTube


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

  • 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 เริ่มต้นมาก ทุกอย่างทำงานได้โดยไม่ต้องเปิด — แค่ช้าลง และการสร้างครั้งแรกใช้เวลานานกว่า

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

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

ข้อมูลประจำตัวสำหรับเข้าสู่ระบบเริ่มต้น:

อีเมลรหัสผ่านระดับ
admin@synaplan.comadmin123ADMIN
demo@synaplan.comdemo123PRO
test@example.comtest123NEW (ยังไม่ยืนยัน)

ฟีเจอร์

  • AI Chat — 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 ที่ถูกซีด (MCP.CLIENT_ENABLED, MULTITASK.MCP_FETCH_ENABLEDapp: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 สำหรับฟีเจอร์เรียลไทม์ (การ接管แชทสด, ตัวบ่งชี้การพิมพ์, การแจ้งเตือนผู้ปฏิบัติงาน) — เบราว์เซอร์เชื่อมต่อแบบ same-origin ผ่าน /connection/websocket
workerผู้บริโภค Symfony Messenger ที่ดำเนินการงานแบบอะซิงโครนัส (การประมวลผล 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 keys
การพัฒนาคำสั่ง, การทดสอบ, สถาปัตยกรรม
เรียลไทม์ / WebSocketsเลเยอร์เรียลไทม์ Centrifugo + Redis, การปรับใช้หลายโหนด
ระบบ RAGการค้นหาและประมวลผลเอกสาร
วิดเจ็ตแชทฝังแชทบนเว็บไซต์
WhatsAppการตั้งค่า Meta Business API
อีเมลการผสานรวมช่องทางอีเมล

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

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

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

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

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

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


ใบอนุญาต

Apache-2.0