Synaplan Multimodal Gateway
आधिकारिकओपन सोर्स सर्वर की पूर्ण कार्यक्षमता को MCP उदाहरण के रूप में प्रस्तुत करता है।
Synaplan Multimodal Gateway के साथ आप क्या कर सकते हैं?
- RAG ज्ञानकोष से प्रश्न करें — अपने अपलोड किए गए दस्तावेज़ों के आधार पर प्रश्न पूछें और
POST /mcpके माध्यम से अपनी सामग्री पर आधारित AI उत्तर प्राप्त करें। - AI मेमोरी पुनर्प्राप्त करें — MCP एंडपॉइंट के माध्यम से Qdrant वेक्टर खोज में संग्रहीत उपयोगकर्ता प्रोफ़ाइल और इंटरैक्शन इतिहास देखें।
- जटिल अनुरोधों को विभाजित करें — बहु-चरणीय कार्य सबमिट करें जिन्हें AI योजनाकार एक कार्य ग्राफ़ (निकालें, सारांशित करें, उत्पन्न करें) में तोड़ता है और लाइव प्रगति स्ट्रीम करता है।
- चैट चैनल प्रबंधित करें — मल्टी-चैनल AI-संचालित वार्तालापों के लिए WhatsApp, ईमेल या एम्बेडेड चैट विजेट कनेक्ट और कॉन्फ़िगर करें।
- बाहरी MCP सर्वर कनेक्ट करें — चैनलों के अंतर्गत अपने स्वयं के MCP सर्वर पंजीकृत करें ताकि मल्टी-टास्क योजनाकार
mcp_fetchनोड्स के माध्यम से उनसे लाइव डेटा खींच सके।
दस्तावेज़
Synaplan
AI-संचालित ज्ञान प्रबंधन, RAG, चैट विजेट और मल्टी-चैनल एकीकरण के साथ।
लाइव इंस्टेंस: web.synaplan.com | दस्तावेज़: docs.synaplan.com | API: Swagger UI

पूर्वापेक्षाएँ
- Docker + Docker Compose v2 (macOS/Windows पर Docker Desktop, या Linux पर Docker Engine + Compose प्लगइन)
- Git
- न्यूनतम 8 GB RAM (स्थानीय-AI मानक इंस्टॉल के लिए 16 GB अनुशंसित)
- मानक इंस्टॉल के लिए ~9 GB खाली डिस्क (न्यूनतम के लिए ~5 GB)
- खाली TCP पोर्ट
5173,8000,8082,8025,3307,6333,11435
Apple Silicon (M1–M4) Macs: 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:5173 खोलें — UI लगभग 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 GB | केवल क्लाउड AI (Groq/OpenAI) |
न्यूनतम इंस्टॉल के लिए, स्टैक शुरू करने से पहले अपनी API कुंजी सेट करें ताकि पहले बूट में ही यह दिखाई दे (पुनरारंभ से बचाता है)। 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 |
| API | http://localhost:8000 |
| API दस्तावेज़ | http://localhost:8000/api/doc |
| phpMyAdmin | http://localhost:8082 |
| MailHog | http://localhost:8025 |
डिफ़ॉल्ट लॉगिन क्रेडेंशियल:
| ईमेल | पासवर्ड | स्तर |
|---|---|---|
| [email protected] | admin123 | ADMIN |
| [email protected] | demo123 | PRO |
| [email protected] | test123 | NEW (असत्यापित) |
सुविधाएँ
- 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 क्लाइंट (प्रारंभिक पहुँच) — Channels → MCP Servers के अंतर्गत अपने MCP सर्वर (CRM, wiki, n8n, …) कनेक्ट करें; मल्टी-टास्क योजनाकार
mcp_fetchDAG नोड्स के माध्यम से उनसे लाइव डेटा खींचता है — केवल-पढ़ने, SSRF-संरक्षित, प्रति-विषय ऑप्ट-इन। सीडेडBCONFIGफ्लैग्स द्वारा सक्षम (MCP.CLIENT_ENABLED,MULTITASK.MCP_FETCH_ENABLED—app:seedउन्हें डिप्लॉय पर चालू करता है; एक स्पष्ट0पंक्ति ऑपरेटर किल स्विच है)। देखें docs/MULTITASK_DATA_NODES.md
Qdrant वेक्टर डेटाबेस
Qdrant एक आंतरिक Docker सेवा के रूप में चलता है — किसी कॉन्फ़िगरेशन की आवश्यकता नहीं है। यह AI यादों, RAG दस्तावेज़ खोज और प्रतिक्रिया प्रणाली को शक्ति प्रदान करता है।
docker compose up -d के साथ स्वचालित रूप से शुरू होता है। Synaplan इसके बिना पूरी तरह से काम करता है (यादें और वेक्टर खोज अक्षम हो जाएंगी)।
रीयलटाइम और पृष्ठभूमि प्रसंस्करण
दोनों compose फाइलें तीन आंतरिक सेवाएँ भी शुरू करती हैं (कोई होस्ट पोर्ट नहीं, कोई सेटअप आवश्यक नहीं):
| सेवा | भूमिका |
|---|---|
redis | अनिवार्य साझा बुनियादी ढाँचा: कैश, सत्र, ताले, दर सीमाएँ, संदेश कतारें (Redis Streams), Centrifugo इंजन |
centrifugo | रीयलटाइम सुविधाओं के लिए WebSocket गेटवे (लाइव चैट अधिग्रहण, टाइपिंग संकेतक, ऑपरेटर सूचनाएं) — ब्राउज़र /connection/websocket के माध्यम से समान-मूल से कनेक्ट होते हैं |
worker | Symfony Messenger उपभोक्ता जो async कार्यों (AI प्रसंस्करण, दस्तावेज़ अनुक्रमण, विजेट क्रॉलिंग) को निष्पादित करता है |
मल्टी-नोड क्लस्टर में सभी नोड एक Redis साझा करते हैं, इसलिए एक नोड पर प्रकाशित WebSocket ईवेंट किसी अन्य से जुड़े ब्राउज़रों तक पहुँचते हैं। विवरण: docs/REALTIME.md।
टेक्स्ट-टू-स्पीच (वैकल्पिक)
ध्वनि आउटपुट के लिए, Synaplan के साथ synaplan-tts चलाएँ:
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।
इन-रेपो गाइड (इस कोडबेस पर काम करने वाले डेवलपर्स के लिए):
| गाइड | विवरण |
|---|---|
| इंस्टॉलेशन | विस्तृत सेटअप निर्देश |
| कॉन्फ़िगरेशन | पर्यावरण चर, API कुंजियाँ |
| डेवलपमेंट | कमांड, परीक्षण, आर्किटेक्चर |
| रीयलटाइम / WebSockets | Centrifugo + Redis रीयलटाइम लेयर, मल्टी-नोड परिनियोजन |
| RAG प्रणाली | दस्तावेज़ खोज और प्रसंस्करण |
| चैट विजेट | वेबसाइटों पर चैट एम्बेड करें |
| Meta Business API सेटअप | |
| ईमेल | ईमेल चैनल एकीकरण |
संबंधित रिपॉजिटरी
| रिपो | उद्देश्य |
|---|---|
| synaplan | मुख्य ऐप (यह रिपो) |
| synaplan-docs | सार्वजनिक दस्तावेज़ साइट (docs.synaplan.com) |
| synaplan-tts | वैकल्पिक Piper TTS सेवा |
| synaplan-sortx | दस्तावेज़-सॉर्टिंग प्लगइन + स्थानीय उपकरण |
| synaplan-charts | Kubernetes के लिए Helm चार्ट |
| synaplan-platform | उत्पादन परिनियोजन कॉन्फ़िग |
परियोजना संरचना
synaplan/
├── backend/ # Symfony PHP API
├── frontend/ # Vue.js SPA
├── docs/ # Documentation
├── _docker/ # Docker configs
└── plugins/ # Plugin system
योगदान
विकास दिशानिर्देशों और कोड मानकों के लिए AGENTS.md देखें।