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 (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
APIhttp://localhost:8000
APIドキュメントhttp://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によるセマンティックドキュメント検索
  • チャットウィジェット — 任意の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_fetch DAGノード経由でそれらからライブデータを取得します — 読み取り専用、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は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キー
開発コマンド、テスト、アーキテクチャ
リアルタイム / WebSocketCentrifugo + Redisリアルタイムレイヤー、マルチノードデプロイメント
RAGシステムドキュメント検索と処理
チャットウィジェットWebサイトへのチャット埋め込み
WhatsAppMeta Business APIセットアップ
メールメールチャネル統合

関連リポジトリ

リポジトリ目的
synaplanメインアプリ (このリポジトリ)
synaplan-docs公開ドキュメントサイト (docs.synaplan.com)
synaplan-ttsオプションのPiper TTSサービス
synaplan-sortxドキュメントソートプラグイン + ローカルツール
synaplan-chartsKubernetes用Helmチャート
synaplan-platform本番デプロイメント設定

プロジェクト構造

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

コントリビューション

開発ガイドラインとコード標準については AGENTS.md を参照してください。


ライセンス

Apache-2.0