M3E Canvas 使用指南:浏览器拖拽设计 Material 3 界面,一键生成 AI 编码提示词

0 阅读

M3E Canvas 解决了什么问题

用 AI 写代码的朋友常遇到一个尴尬局面:AI 能快速生成逻辑,但界面总是“不对味”。你说“现代感首页”,它可能给你一个十年前风格的列表;你强调“圆角卡片+悬浮按钮”,结果出来的样式和想象差很远。

M3E Canvas 的思路很简单:别靠嘴描述,直接把界面画出来。它提供一套基于 Material 3 Expressive 设计系统的可视化编辑器,让你在浏览器里拖拽组件、设置跳转、调整主题,然后一键生成结构化的提示词。这些提示词可以直接喂给 Claude Code、Cursor、Codex 或 Gemini CLI,让 AI “照图施工”,大幅减少界面偏差。

在这里插入图片描述

这个项目在 GitHub 上发布仅 6 天就收获了 4800 多个 Star,说明它确实戳中了当前 AI 编程工作流中的一个真实痛点——如何准确传达 UI 意图。

在这里插入图片描述

三种使用方式实测

在这里插入图片描述

官方在线版:零安装,开箱即用

最简单的办法是直接访问 https://lnkiai.github.io/m3e-canvas/。这是托管在 GitHub Pages 上的官方版本,打开就能用,无需任何配置。

编辑器默认带有一个“首页”示例屏,包含顶栏、按钮、列表项、悬浮 FAB 和底部导航,你可以直接修改或清空重做。所有操作会自动保存到当前浏览器的 localStorage 中。

需要注意的是,这种方式的数据完全依赖本地存储。如果你换了浏览器、清除了缓存,或者用了无痕模式,之前的设计就会丢失。所以重要设计记得及时复制提示词或导出图片存档。

本地开发运行:适合长期使用或断网场景

如果你希望稳定保存设计、支持离线使用,或者打算二次开发,可以本地运行源码。唯一硬性要求是 Node.js 版本 ≥ 22.12(也支持 24.x 或 26+)。

操作步骤如下:

# 克隆仓库
git clone --depth 1 https://github.com/lnkiai/m3e-canvas.git
cd m3e-canvas

# 安装依赖
npm install

# 启动开发服务器
npm run dev

成功后,终端会显示 Local: http://localhost:3000。打开该地址,如果看到左侧有“部件/图层/颜色/形状/字体/动效/AI/言语”八个面板标签,中央是手机示例屏,就说明部署成功了。

这种方式的好处是数据依然存在你自己的浏览器中,但服务由本地提供,不受网络影响,也避免了 GitHub Pages 偶尔加载慢的问题。

静态构建部署:私有化或团队共享

如果你想把 M3E Canvas 部署到自己的域名下,或者供团队内部使用,可以构建静态文件。构建产物是一个纯静态的 out/ 目录(约 2.7MB),不依赖 Node.js 运行时,可托管在 GitHub Pages、Vercel、Netlify 或任意 Nginx 服务器上。

构建命令很简单:

npm run build

构建完成后,out/ 目录就包含了所有可部署的文件。项目自带 .nojekyll 文件,对 GitHub Pages 友好。如果你要部署到子路径(比如 https://yourdomain.com/m3e/),只需在构建前设置环境变量:

# Windows PowerShell
$env:NEXT_PUBLIC_BASE_PATH="/m3e"
npm run build

# Linux/macOS
NEXT_PUBLIC_BASE_PATH=/m3e npm run build

然后将整个 out/ 目录上传到服务器对应路径即可。

核心功能怎么用

拖拽设计 + 生成提示词

编辑器左侧是“部件”面板,包含按钮、顶栏、列表项、FAB 等 40 多个 Material 3 组件。你可以直接拖到中央画布上,两个组件靠近时会自动磁性吸附对齐。

右侧“编辑”面板可以修改文字、颜色、尺寸等细节。完成设计后,点击顶部或右侧的“提示词”标签,选择目标语言(中文、英文、日文、韩文)和平台(Android 或 Web),系统会生成一段结构化描述。

这段提示词可以直接复制给 AI 编码工具。例如,选“Android”时,描述会偏向 Compose 或 XML 布局;选“Web”则会侧重 React 或 HTML/CSS 结构。

手机与桌面双形态切换

M3E Canvas 支持同一套设计在手机和桌面两种形态间切换。顶部有“手机 / 桌面”切换按钮,默认是 412×892 的手机屏。切换到 1280×800 桌面屏后,底部导航会自动变成侧边 rail 布局,其他组件也会重新排版。

这种设计让开发者能用一份稿子同时生成响应式应用的两套提示词,减少重复劳动。

多屏跳转与流程连线

点击工具栏的“添加屏幕”可以创建多个页面。选中一个可点击的组件(如按钮),在右侧编辑面板中设置“点击后跳转到哪个屏幕”和转场动画(滑入、淡入、放大等)。

画布上会自动绘制流程箭头,按 P 键进入预览模式,可以直接点击体验跳转效果,返回时动画会反向播放。这套交互逻辑也会被包含在最终的提示词中,帮助 AI 理解页面流转关系。

主题配色与全局样式调整

左侧“颜色”面板允许你选择预设主题,或输入一个种子色自动生成整套 Material 3 配色方案,支持亮色、暗色、高对比度和动态色模式。

“形状”面板可以统一调整所有组件的圆角程度;“字体”支持 Roboto 系列或系统字体;“动效”则控制转场和交互的动画风格。这些全局设置会直接影响生成的提示词内容。

导出与分享

设计完成后,你可以:

  • 复制提示词文本(可手动编辑补充)
  • 导出单屏为 PNG 图片
  • 使用“分享链接(beta)”功能生成一个 URL,他人打开即可查看你的设计

所有操作都支持撤销/重做(Ctrl+Z / Ctrl+Shift+Z),以及常用快捷键:V 选择、H 抓手、Ctrl+D 复制、Delete 删除。

常见问题与踩坑记录

Node.js 版本不兼容

项目要求 Node.js ≥ 22.12,如果你用的是 18 或 20 版本,npm installnpm run dev 时会报 EBADENGINE 错误。

解决方法:前往 nodejs.org 下载 LTS 版本(22.x 或 24.x),安装后重启终端,验证 node --version 是否满足要求。

界面语言不是中文

M3E Canvas 会根据浏览器语言自动选择界面语言。如果你看到的是日语或英语,可以在左侧面板底部的“言语”标签(桌面端)或顶部菜单(手机版)中手动切换为“中文”。

设计数据丢失

由于没有账号系统,所有数据都存在浏览器的 localStorage 中。换设备、清缓存或使用不同浏览器都会导致设计消失。

建议:重要设计及时导出提示词或 PNG;长期使用固定一个浏览器,或采用本地部署方式;跨设备迁移可借助“分享链接”功能。

手机端功能受限

在屏幕宽度小于 840px 的设备上,M3E Canvas 会进入精简模式,只显示单屏和基本编辑功能。完整多屏编辑器是为桌面浏览器设计的。

因此,建议主要在电脑上进行设计,手机端仅用于查看或微调。

功能验证情况

本文在 Windows 11 + Node v24.14.0 环境下进行了实测:

  • 源码克隆、依赖安装、本地开发启动、静态构建均成功
  • 编辑器界面正常渲染,8 个面板标签、40+ 组件、示例屏 DOM 结构正确
  • 中文界面切换、提示词面板、主题调整等功能均可操作

部分交互(如拖拽落位、跳转预览、PNG 导出)因自动化环境限制未逐帧验证,但官方 README 中的演示视频(story.gif)已确认核心链路可行。

常见问答

Q:M3E Canvas 能直接生成代码吗?

不能。它生成的是给 AI 编码工具用的提示词,最终代码由 Claude Code、Cursor 等工具产出。它的定位是“设计 → 提示词”的转换器,而非代码生成器。

Q:需要付费或 API Key 吗?

核心功能完全免费、开源(MIT 许可),无需注册。只有“AI 辅助写说明”这一可选功能需要你自带 OpenAI、Claude、Gemini 或 DeepSeek 的 API Key,且 Key 仅存在本地浏览器,请求直连官方,无中间服务器。

Q:项目太新,值得现在用吗?

虽然项目刚发布 6 天,但热度高、核心链路有验证、许可宽松。你可以先用在线版低成本试水,重要项目搭配本地部署+及时导出,风险可控。

Q:能导出 Figma 或源码文件吗?

目前不支持。导出形式只有提示词、PNG 图片和分享链接。这是有意为之——它的目标是把设计意图准确传递给 AI 编码工具,而不是提供半成品代码。

总结

M3E Canvas 把“画界面”这件事变得极其简单,再通过结构化提示词打通了与 AI 编码工具的最后一公里。它不追求大而全,而是精准解决“AI 不懂 UI 描述”这个具体问题。

无论你是前端开发者、独立创作者,还是想提升 AI 编程效率的工程师,都值得花几分钟试试。打开在线版,拖几个组件,生成一段提示词,粘贴给你的 AI 工具——很可能这就是未来 App 开发的标准流程之一。