AI機能とdraw.ioダイアグラムを統合したNext.jsウェブアプリケーションです。自然言語コマンドとAI支援の可視化により、ダイアグラムを作成、修正、強化できます。
https://github.com/user-attachments/assets/b2eef5f3-b335-4e71-a755-dc2e80931979
以下はいくつかのプロンプト例と生成されたダイアグラムです:
|
アニメーションTransformerコネクタ プロンプト: **アニメーションコネクタ**付きのTransformerアーキテクチャ図を作成してください。 | |
|
GCPアーキテクチャ図 プロンプト: **GCPアイコン**を使用してGCPアーキテクチャ図を生成してください。この図では、ユーザーがインスタンス上でホストされているフロントエンドに接続します。 |
AWSアーキテクチャ図 プロンプト: **AWSアイコン**を使用してAWSアーキテクチャ図を生成してください。この図では、ユーザーがインスタンス上でホストされているフロントエンドに接続します。 |
|
Azureアーキテクチャ図 プロンプト: **Azureアイコン**を使用してAzureアーキテクチャ図を生成してください。この図では、ユーザーがインスタンス上でホストされているフロントエンドに接続します。 |
猫のスケッチ プロンプト: かわいい猫を描いてください。 |
プレビュー機能:この機能は実験的であり、変更される可能性があります。
MCP(Model Context Protocol)を介して、Claude Desktop、Cursor、VS CodeなどのAIエージェントでNext AI Draw.ioを使用できます。
{
"mcpServers": {
"drawio": {
"command": "npx",
"args": ["@next-ai-drawio/mcp-server@latest"]
}
}
}
claude mcp add drawio -- npx @next-ai-drawio/mcp-server@latest
Claudeにダイアグラムの作成を依頼:
「ログイン、MFA、セッション管理を含むユーザー認証のフローチャートを作成してください」
ダイアグラムがリアルタイムでブラウザに表示されます!
詳細はMCPサーバーREADMEをご覧ください(VS Code、Cursorなどのクライアント設定も含む)。
インストール不要!デモサイトで直接お試しください:
注意:アクセス数が多いため、デモサイトでは現在 minimax-m2 モデルを使用しています。最高の結果を得るには、Claude Sonnet 4.5 または Claude Opus 4.5 でのセルフホスティングをお勧めします。
自分のAPIキーを使用:自分のAPIキーを使用することで、デモサイトの利用制限を回避できます。チャットパネルの設定アイコンをクリックして、プロバイダーとAPIキーを設定してください。キーはブラウザのローカルに保存され、サーバーには保存されません。
ローカルで実行したいだけなら、Dockerを使用するのが最も簡単です。
まず、Dockerをインストールしていない場合はインストールしてください:Dockerを入手
次に実行:
docker run -d -p 3000:3000 \ -e AI_PROVIDER=openai \ -e AI_MODEL=gpt-4o \ -e OPENAI_API_KEY=your_api_key \ ghcr.io/dayuanjiang/next-ai-draw-io:latest
または env ファイルを使用:
cp env.example .env
# .env を編集して設定を入力
docker run -d -p 3000:3000 --env-file .env ghcr.io/dayuanjiang/next-ai-draw-io:latest
ブラウザで http://localhost:3000 を開いてください。
環境変数はお好みのAIプロバイダー設定に置き換えてください。利用可能なオプションについてはマルチプロバイダーサポートを参照してください。
オフラインデプロイ:
embed.diagrams.netがブロックされている場合は、オフラインデプロイガイド で設定オプションをご確認ください。
git clone https://github.com/DayuanJiang/next-ai-draw-io
cd next-ai-draw-io
npm install
ルートディレクトリに.env.localファイルを作成:
cp env.example .env.local
.env.localを編集して選択したプロバイダーを設定:
AI_PROVIDERを選択したプロバイダーに設定(bedrock, openai, anthropic, google, azure, ollama, openrouter, deepseek, siliconflow)AI_MODELを使用する特定のモデルに設定TEMPERATURE:オプションの温度設定(例:0で決定論的な出力)。温度をサポートしないモデル(推論モデルなど)では設定しないでください。ACCESS_CODE_LIST アクセスパスワード(オプション)。カンマ区切りで複数のパスワードを指定できます。警告:
ACCESS_CODE_LISTを設定しない場合、誰でもデプロイされたサイトに直接アクセスできるため、トークンが急速に消費される可能性があります。このオプションを設定することをお勧めします。
詳細な設定手順についてはプロバイダー設定ガイドを参照してください。
npm run dev
Next.jsアプリをデプロイする最も簡単な方法は、Next.jsの作成者によるVercelプラットフォームを使用することです。
詳細はNext.jsデプロイメントドキュメントをご覧ください。
ローカルの.env.localファイルと同様に、Vercelダッシュボードで環境変数を設定してください。
AWS BedrockとOpenRouter以外のすべてのプロバイダーはカスタムエンドポイントをサポートしています。
📖 詳細なプロバイダー設定ガイド - 各プロバイダーの設定手順をご覧ください。
モデル要件:このタスクは厳密なフォーマット制約(draw.io XML)を持つ長文テキスト生成を伴うため、強力なモデル機能が必要です。Claude Sonnet 4.5、GPT-4o、Gemini 2.0、DeepSeek V3/R1を推奨します。
注:claude-sonnet-4-5はAWSロゴ付きのdraw.ioダイアグラムで学習されているため、AWSアーキテクチャダイアグラムを作成したい場合は最適な選択です。
本アプリケーションは以下の技術を使用しています:
ai + @ai-sdk/*):ストリーミングAIレスポンスとマルチプロバイダーサポートダイアグラムはdraw.ioでレンダリングできるXMLとして表現されます。AIがコマンドを処理し、それに応じてこのXMLを生成または変更します。
app/ # Next.js App Router api/chat/ # AIツール付きチャットAPIエンドポイント page.tsx # DrawIO埋め込み付きメインページ components/ # Reactコンポーネント chat-panel.tsx # ダイアグラム制御付きチャットインターフェース chat-input.tsx # ファイルアップロード付きユーザー入力コンポーネント history-dialog.tsx # ダイアグラムバージョン履歴ビューア ui/ # UIコンポーネント(ボタン、カードなど) contexts/ # Reactコンテキストプロバイダー diagram-context.tsx # グローバルダイアグラム状態管理 lib/ # ユーティリティ関数とヘルパー ai-providers.ts # マルチプロバイダーAI設定 utils.ts # XML処理と変換ユーティリティ public/ # サンプル画像を含む静的アセット
このプロジェクトが役に立ったら、ライブデモサイトのホスティングを支援するためにスポンサーをご検討ください!
サポートやお問い合わせについては、GitHubリポジトリでissueを開くか、メンテナーにご連絡ください: