AI驱动的图表生成器Next-AI-Draw.io

AI驱动的图表生成器Next-AI-Draw.io
在这里插入图片描述

简介

什么是 Next-AI-Draw.io ?

Next-AI-Draw.io 是一个开源的、支持自托管的在线绘图应用。它结合了传统绘图工具的灵活性和人工智能的强大能力,让你不仅可以自由创作流程图、线框图、思维导图,还能通过 AI 指令一键生成内容,极大地提升了创作效率。

主要特点

  • LLM 驱动的图表创建:利用大型语言模型(LLM)通过自然语言命令直接创建和操作 draw.io 图表。
  • 基于图像的图表复制:上传现有图表或图像,让 AI 自动复制并增强它们。
  • 图表历史记录:全面的版本控制,跟踪所有更改,允许您查看和恢复图表的先前版本。
  • 交互式聊天界面:与 AI 进行交流,实时优化您的图表。
  • AWS 架构图支持:专门支持生成 AWS 架构图。
  • 动画连接器:在图表元素之间创建动态和动画连接器,以实现更好的可视化效果。
  • 多模型支持:支持多个 AI 提供者(如 AWS BedrockOpenAI 等),用户可以根据需要选择不同的模型。

应用场景

  • 头脑风暴:快速记录和组织团队的想法,利用 AI 扩展创意。
  • 软件设计:绘制系统架构图、UML 图和数据库模型。
  • 产品原型:创建低保真线框图和用户流程图。
  • 项目管理:制作流程图和甘特图,可视化项目进度。
  • 个人笔记:将笔记和想法以思维导图的形式组织起来。

Next AI Draw.io 是一个功能强大且灵活的工具,用户可以使用 AI 技术有效地创建和编辑专业图表。

构建镜像

如果你不想自己构建,可以跳过,直接阅读下一章节

Dockerfile

官方没有提供 Docker 镜像,下面是老苏基于源代码,在 AI 协助下构建的 Dockerfile

# 阶段 1: 依赖安装与构建 # 这个阶段安装所有依赖(包括 devDependencies)来构建项目 FROM node:20-alpine AS deps WORKDIR /app # 复制 package.json 和 lock 文件 COPY package*.json ./ # 安装所有依赖 RUN npm ci # ---------------------------------------------------------------- # 阶段 2: 构建阶段 # 这个阶段使用上一步安装的依赖来构建应用 FROM node:20-alpine AS builder WORKDIR /app # 从 'deps' 阶段复制 node_modules COPY --from=deps /app/node_modules ./node_modules # 复制源码 COPY . . # 确保 next.config.js 中已设置 output: 'standalone' # 构建应用 RUN npm run build # ---------------------------------------------------------------- # 阶段 3: 运行时阶段 # 这是最终运行应用的最小化镜像 FROM node:20-alpine AS runner WORKDIR /app # 设置生产环境变量 ENV NODE_ENV=production # Next.js 在 standalone 模式下会自动设置 HOSTNAME 为 0.0.0.0 # 创建非 root 用户以提升安全性 RUN addgroup --system --gid 1001 nodejs RUN adduser --system --uid 1001 nextjs USER nextjs # 从构建阶段复制 standalone 输出 # standalone 目录包含了所有运行应用所需的文件 COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./ # 复制 public 和 .next/static 目录 COPY --from=builder --chown=nextjs:nodejs /app/public ./public COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static # 暴露端口 EXPOSE 3000 # 设置 Next.js 默认端口 ENV PORT 3000 # 启动服务器 # standalone 模式会生成一个 server.js 入口文件 CMD ["node", "server.js"] 

next.config.ts

除此之外,还需要修改项目根目录下的 next.config.ts 文件,因为上面的 Dockerfile 依赖 Next.jsstandalone 模式。

将原始的内容

importtype{ NextConfig }from"next";const nextConfig: NextConfig ={/* config options here */};exportdefault nextConfig;

改为下面这样,确保其中包含 output: 'standalone' 配置

importtype{ NextConfig }from"next";const nextConfig: NextConfig ={/* config options here */ output:'standalone',};exportdefault nextConfig;

构建和运行

构建镜像和容器运行的基本命令如下👇

# 下载代码git clone https://github.com/DayuanJiang/next-ai-draw-io.git # 进入目录 cd next-ai-draw-io # 构建镜像 docker build -t wbsu2003/next-ai-draw-io:v1 .# 运行容器 docker run -d \ --restart unless-stopped \ --name next-ai-draw-io \ -p 3164:3000 \ -e AI_PROVIDER=openai \ -e AI_MODEL=deepseek-ai/DeepSeek-V3.2-Exp \ -e OPENAI_BASE_URL=https://api.siliconflow.cn/v1 \ -e OPENAI_API_KEY=sk-xxxxxxxxxxxx \ wbsu2003/next-ai-draw-io:v1 

准备

Next-AI-Draw.io 支持主流的大模型

  • AWS Bedrock (default)
  • OpenAI / OpenAI-compatible APIs (via OPENAI_BASE_URL)
  • Anthropic
  • Google AI
  • Azure OpenAI
  • Ollama

不同的模型能力存在差异,有条件的可以试试 claude-sonnet-4-5 或者 claude-opus-4-5,判别的标准很简单,就是让它画一只猫

本文还是以 硅基流动 为例:

  • AI_PROVIDER硅基流动OpenAI-compatible,所以设为 openai
  • OPENAI_API_KEYsk-xxxxxxxxxxxx 改为自己的 API key
  • OPENAI_BASE_URLhttps://api.siliconflow.cn/v1
  • AI_MODEL: 可以试了 deepseek-ai/DeepSeek-V3.2-Exp ,因为比较便宜

目前硅基流动(SiliconFlow),注册就送 2000Tokens,虽然不是免费,但也够用一阵子的

注册地址:

https://cloud.siliconflow.cn/i/NkUiXVhQ

如果你使用的不是 硅基流动,环境变量可以参考官方的 https://github.com/DayuanJiang/next-ai-draw-io/blob/main/env.example 文件

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 wbsu2003 ,翻页、下拉找到 wbsu2003/next-ai-draw-io,版本选择 latest

本文写作时, latest 版本对应的软件版本为 v0.2.0

端口

本地端口只要不与现有端口冲突即可。

本地端口容器端口
31643000

环境

为了让 AI 功能正常工作,老苏提供了一个 OpenAI 兼容的 API 服务,详细说明参考上一个章节

变量说明
AI_PROVIDERopenai必须。你的大语言模型提供商,支持 bedrock, openai, anthropic, google, azure, ollama, openrouter
AI_MODELdeepseek-ai/DeepSeek-V3.2-Exp必须。你使用的大语言模型
OPENAI_API_KEYsk-xxxxxxxxxxxx必须。你的大语言模型的密钥
OPENAI_API_BASE_URLhttps://api.openai.com/v1可选。如果你使用第三方代理或自建的 API 服务,请修改此地址。

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 运行容器 docker run -d \ --restart unless-stopped \ --name next-ai-draw-io \ -p 3164:3000 \ -e AI_PROVIDER=openai \ -e AI_MODEL=deepseek-ai/DeepSeek-V3.2-Exp \ -e OPENAI_BASE_URL=https://api.siliconflow.cn/v1 \ -e OPENAI_API_KEY=sk-xxxxxxxxxxxx \ wbsu2003/next-ai-draw-io 

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version:'3'services:next-ai-draw-io:image: wbsu2003/next-ai-draw-io container_name: next-ai-draw-io restart: unless-stopped ports:- 3164:3000environment:- AI_PROVIDER=openai - AI_MODEL=deepseek-ai/DeepSeek-V3.2-Exp - OPENAI_BASE_URL=https://api.siliconflow.cn/v1 - OPENAI_API_KEY=sk-xxxxxxxxxxxx 

然后通过 SSH 登录到您的群晖,执行下面的命令:

# 新建文件夹 next-ai-draw-io 和 子目录mkdir -p /volume1/docker/next-ai-draw-io # 进入 next-ai-draw-io 目录cd /volume1/docker/next-ai-draw-io # 将 docker-compose.yml 放入当前目录# 一键启动 docker-compose up -d 

运行

在浏览器中输入 http://群晖IP:3164 就能看到应用主界面

如果遇到加载失败(像下图一样,一直转圈),重新刷新一下页面

画一个登录的流程图

绘制过程

绘制完成

关闭侧边的聊天窗口后,和 Draw.io 是一样的

最后看看 deepseek-ai/DeepSeek-V3.2-Exp 画的猫

参考文档

DayuanJiang/next-ai-draw-io: 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.
地址:https://github.com/DayuanJiang/next-ai-draw-io
Next AI Draw.io - AI-Powered Diagram Generator
地址:https://next-ai-draw-io.vercel.app/

Read more

91n边缘计算设备部署轻量TensorFlow模型全流程

91n边缘计算设备部署轻量TensorFlow模型全流程 在工厂车间的流水线上,一台不起眼的小型嵌入式设备正实时分析摄像头传来的图像——它没有连接云端,也不依赖高性能GPU,却能在200毫秒内判断出产品表面是否存在划痕,并立即触发报警。这背后的核心技术,正是基于“91n”类边缘计算设备与轻量化TensorFlow模型的深度融合。 这类设备算力有限、内存紧张,却承担着工业智能化转型中最关键的一环:让AI真正落地到生产现场。而要实现这一目标,不仅需要合适的硬件平台,更离不开一套高效、稳定、可规模化的软件部署方案。TensorFlow Lite 正是在这样的需求背景下脱颖而出,成为当前工业级边缘AI应用的主流选择。 TensorFlow Lite 的工程实践价值 为什么是 TensorFlow Lite?这个问题的答案,藏在每一次模型转换、每一行推理代码和每一个实际部署案例中。 作为 TensorFlow 针对移动端和嵌入式场景优化的轻量版本,TFLite 并非简单地“裁剪”功能,而是从底层重新设计了推理引擎。它的核心逻辑可以概括为三个阶段:模型转换 → 解释器加载 → 本地推理

微信小程序案例 - 自定义 tabBar

一、前言 微信小程序原生的 tabBar 提供了底部导航栏的基础功能,但其样式和交互受限,难以满足日益增长的 UI 设计需求。因此,越来越多的小程序项目选择使用 自定义 tabBar 来实现更灵活、更美观的底部导航。 本文将带你从零开始,手把手实现一个完整的 微信小程序自定义 tabBar 案例,包括: ✅ tabBar 的结构设计 ✅ 动态切换页面 ✅ 图标与文字高亮状态管理 ✅ 样式美化与响应式适配 ✅ 页面跳转逻辑处理 ✅ 完整代码示例 并通过图文结合的方式帮助你掌握如何在实际项目中灵活应用自定义 tabBar。 二、为什么需要自定义 tabBar? 原生 tabBar 局限自定义 tabBar 优势样式固定,无法修改图标大小、颜色等可自由定制样式最多只能配置 5 个 tab 页灵活扩展,可做横向滚动不支持中间凸起按钮支持自定义布局难以集成动态数据可绑定数据、响应事件 三、项目目标 我们将实现一个类似美团风格的自定义 tabBar,

从零开发 AR 演讲提词器:基于 Rokid CXR-M SDK 的实战指南

从零开发 AR 演讲提词器:基于 Rokid CXR-M SDK 的实战指南

从零开发 AR 演讲提词器:基于 Rokid CXR-M SDK 的实战指南 站在讲台上,数百双眼睛注视着你。你开始演讲,却发现关键时刻想不起下一句要说什么——这种场景,每个演讲者都不陌生。 传统的解决方案是在讲台上放一张稿子,或者用 PPT 做备注。但低头看稿显得不专业,看 PPT 又要扭头,容易打断演讲节奏。如果能有一个只有自己能看到的"隐形提词器",演讲就能更加从容自信。 Rokid AR 眼镜恰好提供了这种可能:将提词内容无线传输到眼镜显示屏,演讲者只需自然平视,文字便清晰呈现,而台下观众毫无察觉。本文将完整记录如何利用 Rokid CXR-M SDK 从零开发这款演讲提词器应用。 一、技术方案设计 1.1 为什么选择 AR 眼镜 在确定技术方案前,我们先对比几种提词方案: 方案