このページでは、Next AI Draw.io でよく起きる問題をまとめています。問題ごとに、どんな症状が出るか、なぜ起きるか、どうすればよいかを説明します。
PDF をエクスポートしても何も起こらない
アプリの「エクスポート」ダイアログで保存できるのは、draw.io ファイル、PNG 画像、SVG 画像、編集できる SVG です。PDF は draw.io 自身のメニューから作ります。キャンバス左上の ☰ を押し、形式を指定してエクスポート、PDF の順に選んでください。そのあとの動きは、アプリがどの draw.io を使っているかで変わります。
アプリに同梱された draw.io:Web 版、Docker イメージ、デスクトップアプリはこれを使います。ただし、NEXT_PUBLIC_DRAWIO_BASE_URL を指定してビルドしたアプリは別です。この draw.io は、印刷を通して PDF を作ります。PDF のダイアログが開くので、そこで 印刷 を押すと、ブラウザやシステムの印刷ダイアログが開きます。そこで、PDF に保存する項目を選んでください。たとえば Chrome なら PDF に保存、Windows なら Microsoft Print to PDF です。
外部の draw.io:NEXT_PUBLIC_DRAWIO_BASE_URL で指定した draw.io です(たとえば https://embed.diagrams.net)。ページが convert.diagrams.net/node/export に移動し、そのあと何も起こりません。この draw.io は図を convert.diagrams.net の変換サービスに送って PDF を作りますが、アプリの中ではこのダウンロードが失敗します。代わりに draw.io のメニューの 印刷 を選び、印刷ダイアログで PDF として保存してください。NEXT_PUBLIC_DRAWIO_BASE_URL を外してアプリを再ビルドし、同梱の draw.io を使う方法もあります。
関連する GitHub Issue:#539、#125
オフラインやイントラネットの環境で、ブラウザが embed.diagrams.net にアクセスできない
イントラネットの環境で、ブラウザに「embed.diagrams.net のサーバー IP アドレスが見つかりません」と表示されます。
アプリには draw.io のコピーが同梱されていて、/drawio から配信されます。そのため、ブラウザが embed.diagrams.net にアクセスする必要はありません。今の Dockerfile は NEXT_PUBLIC_DRAWIO_BASE_URL を空のままにしているので、この Dockerfile でビルドしたイメージは、公開されているイメージも含めて、すべてこのコピーを使います。embed.diagrams.net から draw.io を読み込むのは、NEXT_PUBLIC_DRAWIO_BASE_URL=https://embed.diagrams.net でビルドしたイメージだけです。この値は v0.5.0 より前の Dockerfile の既定値でした。
このエラーが出る場合は、v0.5.0 以降のイメージを使うか、このビルド引数を外してイメージを再ビルドしてください。Dockerfile を変更する必要はありません。ビルドのときに draw.io をダウンロードするので、イントラネットで使う場合は、インターネットに接続できるマシンでイメージをビルドし、そのイメージをイントラネットに転送してください。詳しくはインターネットに接続できない環境でビルドするを参照してください。
NEXT_PUBLIC_* の環境変数はビルド時の変数で、JS のコードに組み込まれます。実行時に設定しても効きません。
別の draw.io サーバーを使い続ける場合は、ビルド時に args でそのアドレスを渡します。
# docker-compose.yml
services:
drawio:
image: jgraph/drawio:latest
ports: ["8080:8080"]
next-ai-draw-io:
build:
context: .
args:
- NEXT_PUBLIC_DRAWIO_BASE_URL=http://あなたのサーバーIP:8080/
ports: ["3000:3000"]
env_file: .env関連する GitHub Issue:#295、#317
自前のモデルが考えるだけで図を描かない
ローカルにデプロイしたモデル(Qwen、LiteLLM など)が思考過程だけを出力し、図を生成しません。
考えられる原因は 2 つあります。
- モデルが小さすぎる:小さいモデルは、ツール呼び出しの指示に正しく従うのが苦手です。パラメータ数が 32B 以上のモデルを使ってください。
- ツール呼び出しが有効になっていない:モデルはツール呼び出しで図を描くので、モデルを動かすサービスでツール呼び出しを使えるように設定する必要があります。
モデルを動かすサービスで、ツール呼び出しを有効にしてください。たとえば vLLM では次のようにします。
python -m vllm.entrypoints.openai.api_server \
--model Qwen/Qwen3-32B \
--enable-auto-tool-choice \
--tool-call-parser hermes関連する GitHub Issue:#269、#75
アップロードした画像をモデルが読めない
画像を送ったあと、次のどちらかが起きます。
- チャットに「このモデルは画像入力に対応していません。」と表示され、その下にプロバイダーのエラーが表示されます。
- モデルが、画像がないかのように答えます。たとえば、画像が提供されていないと答えます。
選んだモデルがビジョン(画像を読み取る機能)に対応していません。たとえば Kimi K2、DeepSeek、Qwen のテキストモデルです。アプリは選ばれたモデルに画像を送り、そのモデルが画像を受け取れるかどうかはプロバイダーが判断します。プロバイダーが画像を拒否すると、アプリは上のメッセージを表示します。プロバイダーによっては画像を黙って捨てるので、モデルは画像なしで答えます。
対処法は次のとおりです。
- モデル設定で、画像を読めるモデルを選びます。たとえば GPT-5.2、Claude Sonnet 4.5、Gemini 3 Pro です。
- ほかのモデルは、プロバイダーのモデルのページで、画像入力に対応しているか確認します。モデル名に
visionまたはvlが含まれるモデルは、たいてい対応しています。 - 画像を読めるモデルなのに画像が拒否される場合は、v0.5.0 以降にアップデートします。以前のバージョンはモデル名から画像を読めるかどうかを推測していて、その推測が外れることがありました。
関連する GitHub Issue:#324、#421、#469、#874