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_fetchnodes.
ドキュメント
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) Mac: 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によるセマンティックドキュメント検索
- チャットウィジェット — 任意のWebサイトに埋め込み可能 (ウィジェットガイド)
- ライブサポート — リアルタイムWebSocketレイヤー (Centrifugo + Redis): ウィジェットチャットへの人間による介入、タイピングインジケーター、オペレーター通知 (リアルタイムガイド)
- WhatsApp — Meta Business API統合
- メール — AIによるメール応答
- 音声 — Whisper文字起こし (入力) + オプションの synaplan-tts (出力)
- ドキュメント — PDF、Word、Excel、OCR対応画像
- AIメモリー — Qdrantベクトル検索によるユーザープロファイリング
- フィードバックシステム — Qdrantを活用したフィードバックの収集と分析
- プラグイン — 非侵襲的なプラグインシステム (プラグインガイド)
- MCPサーバー (早期アクセス) — Model Context Protocolを介してAIクライアント (Claude、Cursorなど) を接続。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はデプロイ時にそれらをONに設定します。明示的な0行はオペレーターのキルスイッチです) によって有効化されます。docs/MULTITASK_DATA_NODES.md を参照してください
Qdrantベクトルデータベース
Qdrantは内部Dockerサービスとして実行されます — 設定は不要です。AIメモリー、RAGドキュメント検索、フィードバックシステムを支えます。
docker compose up -d で自動的に起動します。SynaplanはQdrantなしでも完全に動作します (メモリーとベクトル検索は無効になります)。
リアルタイム & バックグラウンド処理
両方のComposeファイルは、3つの内部サービスも起動します (ホストポートなし、セットアップ不要):
| サービス | 役割 |
|---|---|
redis | 必須の共有インフラストラクチャ: キャッシュ、セッション、ロック、レート制限、メッセージキュー (Redis Streams)、Centrifugoエンジン |
centrifugo | リアルタイム機能用のWebSocketゲートウェイ (ライブチャット介入、タイピングインジケーター、オペレーター通知) — ブラウザは/connection/websocket経由で同一オリジン接続します |
worker | 非同期ジョブ (AI処理、ドキュメントインデックス作成、ウィジェットクロール) を実行するSymfony Messengerコンシューマー |
マルチノードクラスターでは、すべてのノードが1つの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キー |
| 開発 | コマンド、テスト、アーキテクチャ |
| リアルタイム / WebSocket | Centrifugo + Redisリアルタイムレイヤー、マルチノードデプロイメント |
| RAGシステム | ドキュメント検索と処理 |
| チャットウィジェット | Webサイトへのチャット埋め込み |
| 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 を参照してください。