大家好,我是 Java陳序員。
在日常工作中,我們常常要繪製架構圖、流程圖等。
你是否也曾經歷過這些場景:對着空白的 Draw.io 界面發呆,想畫個系統架構圖卻不知從何下手?花兩小時調整流程圖佈局,結果元素還是擠成一團?好不容易畫完的雲架構圖,領導一句“重新排版”讓你心態崩潰?
今天,給大家推薦一款製圖神器,用 AI 幫助你輕鬆繪製專業圖表!
關注微信公眾號:【Java陳序員】,獲取開源項目分享、AI副業分享、超200本經典計算機電子書籍等。
項目介紹
next-ai-draw-io —— 一個集成了 AI 功能的 Next.js 網頁應用,與 Draw.io 圖表無縫結合,通過自然語言命令和 AI 輔助可視化來創建、修改和增強圖表。
功能特色:
- LLM 驅動的圖表創建:利用大語言模型,通過文字描述直接創建流程圖、架構圖等各類圖表,無需手動拖拽元素
- 交互式聊天界面:支持與 AI 實時對話對現有圖表進行精準修改,包括添加元素、調整佈局、修改樣式等,並且可查看 AI 生成圖表的推理過程
- 圖像識別與復刻:支持上傳現有圖表圖片,AI 自動識別並生成可編輯的版本,保留原風格與佈局
- 文檔解析:支持上傳 PDF、TXT、MD 等格式文件,提取內容並轉化為結構化圖表
- 版本歷史:自動保存每一次修改記錄,可隨時查看和恢復之前的版本
- 靈活導出:支持通過 Draw.io 工具欄將圖表導出為 .drawio、.svg、.png 等格式
- 支持多模型和離線部署:可配置多種 AI 提供商,並支持通過 Docker 本地部署
支持的 AI 提供商:AWS Bedrock(默認)、OpenAI、Anthropic、Google AI、Azure OpenAI、Ollama、OpenRouter、DeepSeek、SiliconFlow
快速上手
next-ai-draw-io 支持 Docker 部署,可通過 Docker 快速部署。
1、拉取鏡像
docker pull ghcr.io/dayuanjiang/next-ai-draw-io:latest
2、運行容器
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 的方式部署:
docker run -d -p 3000:3000 --env-file .env ghcr.io/dayuanjiang/next-ai-draw-io:latest
.env 配置文件的內容可參考:
# AI 提供商配置,可選項: bedrock、openai、anthropic、google、azure、ollama、openrouter、deepseek、siliconflow
# 默認: bedrock
AI_PROVIDER=bedrock
# AI 大模型(必填)
AI_MODEL=global.anthropic.claude-sonnet-4-5-20250929-v1:0
### 下面根據 AI 提供商開啓配置對應的 API_KEY
# AWS Bedrock pei
# AWS_REGION=us-east-1
# AWS_ACCESS_KEY_ID=your-access-key-id
# AWS_SECRET_ACCESS_KEY=your-secret-access-key
# Note: Claude and Nova models support reasoning/extended thinking
# BEDROCK_REASONING_BUDGET_TOKENS=12000 # Optional: Claude reasoning budget in tokens (1024-64000)
# BEDROCK_REASONING_EFFORT=medium # Optional: Nova reasoning effort (low/medium/high)
# OpenAI Configuration
# OPENAI_API_KEY=sk-...
# OPENAI_BASE_URL=https://api.openai.com/v1 # Optional: Custom OpenAI-compatible endpoint
# OPENAI_ORGANIZATION=org-... # Optional
# OPENAI_PROJECT=proj_... # Optional
# Note: o1/o3/gpt-5 models automatically enable reasoning summary (default: detailed)
# OPENAI_REASONING_EFFORT=low # Optional: Reasoning effort (minimal/low/medium/high) - for o1/o3/gpt-5
# OPENAI_REASONING_SUMMARY=detailed # Optional: Override reasoning summary (none/brief/detailed)
# Anthropic (Direct) Configuration
# ANTHROPIC_API_KEY=sk-ant-...
# ANTHROPIC_BASE_URL=https://your-custom-anthropic/v1
# ANTHROPIC_THINKING_TYPE=enabled # Optional: Anthropic extended thinking (enabled)
# ANTHROPIC_THINKING_BUDGET_TOKENS=12000 # Optional: Budget for extended thinking in tokens
# Google Generative AI Configuration
# GOOGLE_GENERATIVE_AI_API_KEY=...
# GOOGLE_BASE_URL=https://generativelanguage.googleapis.com/v1beta # Optional: Custom endpoint
# GOOGLE_CANDIDATE_COUNT=1 # Optional: Number of candidates to generate
# GOOGLE_TOP_K=40 # Optional: Top K sampling parameter
# GOOGLE_TOP_P=0.95 # Optional: Nucleus sampling parameter
# Note: Gemini 2.5/3 models automatically enable reasoning display (includeThoughts: true)
# GOOGLE_THINKING_BUDGET=8192 # Optional: Gemini 2.5 thinking budget in tokens (for more/less thinking)
# GOOGLE_THINKING_LEVEL=high # Optional: Gemini 3 thinking level (low/high)
# Azure OpenAI Configuration
# Configure endpoint using ONE of these methods:
# 1. AZURE_RESOURCE_NAME - SDK constructs: https://{name}.openai.azure.com/openai/v1{path}
# 2. AZURE_BASE_URL - SDK appends /v1{path} to your URL
# If both are set, AZURE_BASE_URL takes precedence.
# AZURE_RESOURCE_NAME=your-resource-name
# AZURE_API_KEY=...
# AZURE_BASE_URL=https://your-resource.openai.azure.com/openai # Alternative: Custom endpoint
# AZURE_REASONING_EFFORT=low # Optional: Azure reasoning effort (low, medium, high)
# AZURE_REASONING_SUMMARY=detailed
# Ollama (Local) Configuration
# OLLAMA_BASE_URL=http://localhost:11434/api # Optional, defaults to localhost
# OLLAMA_ENABLE_THINKING=true # Optional: Enable thinking for models that support it (e.g., qwen3)
# OpenRouter Configuration
# OPENROUTER_API_KEY=sk-or-v1-...
# OPENROUTER_BASE_URL=https://openrouter.ai/api/v1 # Optional: Custom endpoint
# DeepSeek Configuration
# DEEPSEEK_API_KEY=sk-...
# DEEPSEEK_BASE_URL=https://api.deepseek.com/v1 # Optional: Custom endpoint
# SiliconFlow Configuration (OpenAI-compatible)
# Base domain can be .com or .cn, defaults to https://api.siliconflow.com/v1
# SILICONFLOW_API_KEY=sk-...
# SILICONFLOW_BASE_URL=https://api.siliconflow.com/v1 # Optional: switch to https://api.siliconflow.cn/v1 if needed
# Langfuse Observability (Optional)
# Enable LLM tracing and analytics - https://langfuse.com
# LANGFUSE_PUBLIC_KEY=pk-lf-...
# LANGFUSE_SECRET_KEY=sk-lf-...
# LANGFUSE_BASEURL=https://cloud.langfuse.com # EU region, use https://us.cloud.langfuse.com for US
# Temperature (Optional)
# Controls randomness in AI responses. Lower = more deterministic.
# Leave unset for models that don't support temperature (e.g., GPT-5.1 reasoning models)
# TEMPERATURE=0
# Access Control (Optional)
# ACCESS_CODE_LIST=your-secret-code,another-code
# Draw.io Configuration (Optional)
# NEXT_PUBLIC_DRAWIO_BASE_URL=https://embed.diagrams.net # Default: https://embed.diagrams.net
# Use this to point to a self-hosted draw.io instance
# PDF Input Feature (Optional)
# Enable PDF file upload to extract text and generate diagrams
# Enabled by default. Set to "false" to disable.
# ENABLE_PDF_INPUT=true
# NEXT_PUBLIC_MAX_EXTRACTED_CHARS=150000 # Max characters for PDF/text extraction (default: 150000)
3、容器運行成功後,訪問
http://{IP/域名}:3000
如果沒有在啓動命令中指定 AI 提供商信息和配置文件,也可以在使用過程中再進行配置。
功能體驗
next-ai-draw-io 的使用十分簡單,只需要在對話框中輸入提示詞,就可以幫你生成。
如工作中經常涉及到的架構圖:
提示詞:K8S架構圖。
然後你可以利用 Draw.io 強大的繪圖能力進行自定義修改,也可以通過 AI 對話讓它幫你修改,比如改成動畫連接線。
UML 類圖:
提示詞:用 UML 類圖展示用户權限管理模塊的設計。
時序圖:
提示詞:時序圖展示用户登錄的交互過程。
ER 圖:
提示詞:繪製會員系統的數據庫 ER 圖。
當然了,在枯燥無聊的工作中,我們也可以讓它幫忙繪製一些沙雕圖。
提示詞:一個帥哥在打籃球。
本地開發
1、克隆倉庫
git clone https://github.com/DayuanJiang/next-ai-draw-io
cd next-ai-draw-io
2、安裝依賴
npm install
3、在根目錄創建 .env.local 文件配置 AI 提供商
cp env.example .env.local
編輯 .env.local 並配置您選擇的提供商:
- 將 AI_PROVIDER 設置為您選擇的提供商(bedrock, openai, anthropic, google, azure, ollama, openrouter, deepseek, siliconflow)
- 將 AI_MODEL 設置為您要使用的特定模型
- 添加您的提供商所需的 API 密鑰
TEMPERATURE:可選的温度設置(例如 0 表示確定性輸出)。對於不支持此參數的模型(如推理模型),請不要設置ACCESS_CODE_LIST訪問密碼,可選,可以使用逗號隔開多個密碼
4、啓動運行
npm run dev
5、運行成功後,瀏覽器訪問
http://localhost:6002
可以説,無論是技術人員需要的架構圖,還是產品經理必備的業務流程圖,甚至是隨手畫的創意草圖,next-ai-draw-io 這款工具都能輕鬆搞定。快去部署試試吧~
項目地址:https://github.com/DayuanJiang/next-ai-draw-io
最後
推薦的開源項目已經收錄到 GitHub 項目,歡迎 Star:
https://github.com/chenyl8848/great-open-source-project
或者訪問網站,進行在線瀏覽:
https://chencoding.top:8090/#/
我創建了一個開源項目交流羣,方便大家在羣裏交流、討論開源項目。
但是任何人在羣裏打任何廣告,都會被 T 掉。
如果你對這個交流羣感興趣或者在使用開源項目中遇到問題,可以通過如下方式進羣:
關注微信公眾號:【Java陳序員】,回覆【開源項目交流羣】進羣,或者通過公眾號下方的菜單添加個人微信,並備註【開源項目交流羣】,通過後拉你進羣。
大家的點贊、收藏和評論都是對作者的支持,如文章對你有幫助還請點贊轉發支持下,謝謝!