Next AI Draw.io
Next AI Draw.io — это веб-приложение на Next.js, которое объединяет возможности языковых моделей (LLM) с редактором диаграмм draw.io. Вы можете создавать, изменять и улучшать диаграммы с помощью обычных текстовых команд, загружать изображения и PDF-файлы для автоматического построения схем, а также работать с облачной архитектурой (AWS, GCP, Azure).
Основные возможности
- Создание диаграмм через ИИ: опишите схему словами — ИИ сам сгенерирует draw.io XML.
- Восстановление по изображению: загрузите готовую диаграмму или скриншот, и ИИ воспроизведёт её.
- Загрузка PDF и текстовых файлов: извлечение содержимого для построения диаграмм на основе документов.
- Отображение «мыслей» ИИ: у поддерживаемых моделей (OpenAI o1/o3, Gemini, Claude) виден ход рассуждений.
- История изменений: полный контроль версий — возврат к предыдущим состояниям после правок ИИ.
- Чат-интерфейс: общайтесь с ИИ и дорабатывайте схему в реальном времени.
- Анимированные коннекторы: динамические связи между элементами диаграммы.
- Облачная архитектура: специализированная поддержка AWS, GCP и Azure (особенно хорошо у моделей Claude).
MCP-сервер (предварительная версия)
Проект предоставляет экспериментальный MCP-сервер для ИИ-агентов (Claude Desktop, Cursor, VS Code).
Конфигурация для Claude Desktop/Cursor/VS Code (MCP settings):
{
"mcpServers": {
"drawio": {
"command": "npx",
"args": ["@next-ai-drawio/mcp-server@latest"]
}
}
}
Для Claude Code CLI:
claude mcp add drawio -- npx @next-ai-drawio/mcp-server@latest
После этого можно попросить Клода нарисовать диаграмму, например: «Создай блок-схему аутентификации пользователя с логином, MFA и управлением сессиями». Диаграмма откроется в браузере сразу.
Подробнее о настройках для VS Code и Cursor — см. README MCP-сервера.
Быстрый старт
Онлайн-демо
Попробовать без установки: next-ai-drawio.jiang.jp.
Важно: из-за высокой нагрузки демо-сайт использует minimax-m2. Для лучшего результата рекомендуется запустить свою копию с Claude Sonnet 4.5 или Claude Opus 4.5.
На демо-сайте можно указать свой API-ключ (настройки → иконка шестерёнки в чате). Ключ хранится только локально в браузере.
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
Или используйте файл с переменными окружения:
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.
Если embed.diagrams.net недоступен (офлайн-сеть), настройте офлайн-режим по инструкции.
Установка из исходников
git clone https://github.com/DayuanJiang/next-ai-draw-io
cd next-ai-draw-io
npm install
Создайте .env.local из env.example и укажите настройки провайдера ИИ:
AI_PROVIDER — один из: bedrock, openai, anthropic, google, azure, ollama, openrouter, deepseek, siliconflow.
AI_MODEL — модель (например, gpt-4o).
- Укажите соответствующий API-ключ.
TEMPERATURE — опционально (например, 0 для детерминированного вывода). Для reasoning-моделей не ставьте.
ACCESS_CODE_LIST — опциональный пароль доступа (можно несколько через запятую). Без этого пароля любой сможет зайти на ваш сайт и быстро исчерпать токены. Настоятельно рекомендуется задать!
Запустите дев-сервер:
npm run dev
Откройте http://localhost:3000.
Деплой на Vercel
Самый простой способ — нажать кнопку «Deploy»:
Не забудьте в панели Vercel задать те же переменные окружения, что и в .env.local.
Поддерживаемые провайдеры ИИ
| Провайдер |
Кастомный endpoint |
| AWS Bedrock |
нет |
| OpenAI |
да |
| Anthropic |
да |
| Google AI |
да |
| Azure OpenAI |
да |
| Ollama |
да |
| OpenRouter |
нет |
| DeepSeek |
да |
| SiliconFlow |
да |
Подробные настройки каждого — в руководстве.
Требования к моделям: задача требует мощных моделей для генерации длинного форматированного XML. Рекомендуем: Claude Sonnet 4.5, GPT-5.1, Gemini 3 Pro, DeepSeek V3.2/R1. Модели Claude обучены на draw.io-диаграммах с логотипами облачных провайдеров — идеально для схем архитектуры.
Структура проекта
app/
api/chat/ # API эндпоинт чата с вызовами инструментов ИИ
page.tsx # главная страница со встроенным draw.io
components/
chat-panel.tsx # панель чата с управлением диаграммой
chat-input.tsx # поле ввода с загрузкой файлов
history-dialog.tsx # просмотр истории версий
ui/ # UI-компоненты
contexts/
diagram-context.tsx # глобальное состояние диаграммы
lib/
ai-providers.ts # конфигурация провайдеров ИИ
utils.ts # утилиты для работы с XML
public/ # статические файлы
Как это работает
Приложение использует:
- Next.js — фронтенд и роутинг.
- Vercel AI SDK (
ai + @ai-sdk/*) — потоковые ответы и поддержка разных провайдеров.
- react-drawio — рендеринг и редактирование диаграмм.
Диаграммы представлены как XML draw.io. ИИ обрабатывает команды и генерирует/изменяет этот XML.
Поддержка
Если проект оказался полезным, рассмотрите спонсорство — это поможет содержать демо-сайт.
Вопросы и предложения — через Issues на GitHub или по email: me[at]jiang.jp.
Комментарии
Комментариев пока нет. Будьте первым.