DayuanJiang / next-ai-draw-io
- пятница, 5 декабря 2025 г. в 00:00:04
A next.js web application that integrates AI capabilities with draw.io diagrams. This app allows you to create, modify, and enhance diagrams through natural language commands and AI-assisted visualization.
A Next.js web application that integrates AI capabilities with draw.io diagrams. Create, modify, and enhance diagrams through natural language commands and AI-assisted visualization.
Here are some example prompts and their generated diagrams:
The application uses the following technologies:
ai + @ai-sdk/*): For streaming AI responses and multi-provider supportDiagrams are represented as XML that can be rendered in draw.io. The AI processes your commands and generates or modifies this XML accordingly.
OPENAI_BASE_URL)Note that claude-sonnet-4-5 has trained on draw.io diagrams with AWS logos, so if you want to create AWS architecture diagrams, this is the best choice.
If you just want to run it locally, the best way is to use Docker.
First, install Docker if you haven't already: Get Docker
Then run:
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:latestOpen http://localhost:3000 in your browser.
Replace the environment variables with your preferred AI provider configuration. See Multi-Provider Support for available options.
git clone https://github.com/DayuanJiang/next-ai-draw-io
cd next-ai-draw-ionpm install
# or
yarn installCreate a .env.local file in the root directory:
cp env.example .env.localEdit .env.local and configure your chosen provider:
AI_PROVIDER to your chosen provider (bedrock, openai, anthropic, google, azure, ollama, openrouter, deepseek)AI_MODEL to the specific model you want to useSee the Multi-Provider Support section above for provider-specific configuration examples.
npm run devThe easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out the Next.js deployment documentation for more details.
Or you can deploy by this button.
Be sure to set the environment variables in the Vercel dashboard as you did in your local .env.local file.
app/ # Next.js App Router
api/chat/ # Chat API endpoint with AI tools
page.tsx # Main page with DrawIO embed
components/ # React components
chat-panel.tsx # Chat interface with diagram control
chat-input.tsx # User input component with file upload
history-dialog.tsx # Diagram version history viewer
ui/ # UI components (buttons, cards, etc.)
contexts/ # React context providers
diagram-context.tsx # Global diagram state management
lib/ # Utility functions and helpers
ai-providers.ts # Multi-provider AI configuration
utils.ts # XML processing and conversion utilities
public/ # Static assets including example images
If you find this project useful, please consider sponsoring to help me host the live demo site!
For support or inquiries, please open an issue on the GitHub repository or contact the maintainer at: