桌面端 Vibe Coding
用 AI 辅助改造 01MVP Desktop 模板的安全顺序和验收方式
你将学到
- 桌面端任务为什么需要分层,以及四层分别管什么
- 让 AI 改桌面端代码的推荐流程
- 如何写一段精准的 prompt,让 AI 一次只动一个层级
- 每一层常见的错误模式和避免方法
为什么桌面端要比 Web 更谨慎
桌面端不只是一个页面。它同时涉及 React 前端、Tauri runtime、本地系统权限、安装包和自动更新。如果让 AI 一口气改太多,出了问题很难定位是哪一层的改动引起的。
Web 端改坏了刷新一下就行,桌面端改坏了可能连窗口都打不开。所以改桌面端代码的节奏应该是:改一层、验一层、再改下一层。
桌面端四层架构
从上到下:
- 前端界面 — 页面、按钮、表单、状态、主题。改完浏览器预览就能看。
- Runtime Adapter —
src/runtime/里的抽象层,决定一个能力走浏览器 API 还是 Tauri command。 - 本地能力 — Tauri command、capability、plugin、tray、app data。涉及 Rust 侧和系统权限。
- 发布工程 — 签名、公证、安装包、自动更新。改这里的代码之前,前三层要先稳定。
每一层都有自己的验收方式。前端看浏览器预览,本地能力看 Tauri 原生窗口,发布工程看安装包和签名。不要用上一层的验收方式覆盖下一层。
每一层常见错误
了解常见错误模式,能帮你更快定位问题:
- 前端界面 — 在组件里直接调用 Tauri API,没有走 runtime adapter。浏览器预览能跑但原生窗口报错。
- Runtime Adapter — 在 adapter 里硬编码 Tauri 特有的返回结构,导致浏览器 fallback 拿不到正确数据。
- 本地能力 — 加了新的 Tauri command 但没在 capability 文件里声明权限,原生窗口调用时静默失败。
- 发布工程 — 本地用 ad-hoc 签名测试通过,但正式打包后因为没做 notarization 导致 macOS 用户打不开。
每改一层,想想这一层特有的失败方式是什么。
推荐的 AI 工作流
让 AI 先读结构
让 AI 先扫描 products/01mvp/apps/desktop 的文件结构,确认哪些文件属于 React,哪些属于 Tauri/Rust。这样它不会把前端逻辑写进 Rust 里。
如果项目已经有 src/runtime/ 目录,让 AI 先读里面的文件,理解当前的 adapter 模式。
限定一个具体目标
不要说"帮我做一个笔记桌面应用"。说"帮我把 productName 改成 MyNotes"或者"帮我加一个托盘菜单项打开设置窗口"。目标越窄,AI 出错的范围越小。
一次只给一个目标。改完验收通过,再给下一个。
要求 AI 列出改动和验收命令
改完后让 AI 列出它动了哪些文件、影响了哪些层、应该运行什么验收命令。浏览器预览、Tauri 原生窗口、cargo check、tauri:build 属于不同层级,不要跳过。
如果 AI 说"都改好了"但没告诉你怎么验,追问它。
补文档和注释
桌面端每新增一个本地能力,都要在代码里或文档里留下权限说明和验收方式。下次让 AI 继续改的时候,它能读到这些上下文。
尤其是 Tauri capability 的变更,一定要注释清楚为什么需要这个权限。
参考 prompt
这段 prompt 可以作为基础,根据实际情况修改:
请只处理 01MVP Desktop 模板的一个阶段,不要重写整个桌面应用。
当前阶段:这里写清楚,例如"替换应用身份"或"新增托盘菜单"。
产品名称:这里填名称。
目标平台:macOS / Windows / Linux。
请先检查 products/01mvp/apps/desktop 的现有结构。
如果涉及 Tauri 原生能力,请说明会影响哪些 command、capability、plugin 和前端 adapter。
完成后请列出改动文件、需要人工准备的平台信息、以及应该运行的验收命令。使用时把"当前阶段"和"产品名称"替换成你自己的内容。一次只填一个阶段。
下一步
了解了 AI 工作流后,下一步是按顺序把模板改成自己的应用。请阅读改成自己的 App。
想和其他创造者交流?
这篇文档有问题?