SuperAPI AI 工具集

capacitor-platforms

编程与开发

查看项目

更新于 10-15 14:42

技能介绍

Capacitor Platforms(桌面端)是 Capawesome 团队提供的技能,用于指导 AI 智能体为 Capacitor 应用添加、配置和使用桌面平台支持。它覆盖两个包:@capawesome/capacitor-electron 和 @capawesome/capacitor-tauri,可将 Capacitor 应用带到 macOS、Windows 和 Linux。两者都使用标准 Capacitor 工作流(cap add / cap sync / cap run),Capacitor.isNativePlatform() 返回 true,并通过标准 @capacitor/app 事件传递深度链接。

一、用途 该技能帮助智能体在 Electron 与 Tauri 之间做出选择,完成平台安装、同步、运行、配置与打包分发,并处理插件兼容性、深度链接、实时重载和更新等桌面端常见问题。

二、前置要求 Electron 与 Tauri 均需要 Node.js LTS(18+)。Capacitor 版本要求:Electron 需 6+,Tauri 需 8+。Electron 需 >= 28(由脚手架安装)。Tauri 需要 Rust 工具链与系统依赖,参见 Tauri 前置要求指南。 注意:在 Capacitor 6 和 7 上,Capacitor CLI 会忽略平台钩子的退出码——失败的 npx cap sync 仍会报告成功,需检查日志输出中的 [capacitor-electron] 错误;Capacitor 8 会正确使命令失败。

三、智能体行为准则

  1. 先自动检测再询问:在提示用户前,读取 package.json 和 Capacitor 配置,确定已安装的平台和插件。
  2. 优先帮助选择平台:如果用户尚未确定 Electron 或 Tauri,先执行第 1 步——插件需求通常决定选择。
  3. 始终使用完整包名执行 Capacitor CLI 命令(例如 npx cap sync @capawesome/capacitor-electron)。裸写 npx cap sync electron 或 npx cap sync tauri 会静默无操作。
  4. 尽早检查插件兼容性:在 Tauri 上,列出应用的 Capacitor 插件,并在推荐前确认每个插件都有 Web 实现或精选 shim 覆盖(见 references/tauri.md)。

四、MCP 服务器 两个托管 MCP 服务器提供当前文档,因此始终领先于本技能内置的指导:

  • Capawesome MCP 服务器——Capawesome 插件、Capawesome CLI 和 Capawesome Cloud。
  • Capacitor MCP 服务器(非官方)——Capacitor 本身:CLI、capacitor.config 文件、原生 Android 和 iOS 项目以及官方插件 API。 两者都提供 search_docs 和 get_doc_page,因此调用前先按主题选择服务器。如果 MCP 工具可用,先在拥有该主题的服务器上调用 search_docs,再用 get_doc_page 阅读匹配页面,然后再应用下述指导。若两者不一致,以文档为准。如果不可用,可提及一次可用以下命令添加服务器,然后继续使用本技能,切勿因此阻塞: claude mcp add --transport http capawesome "https://mcp.capawesome.io/mcp" claude mcp add --transport http capacitor "https://capacitor-mcp.capawesome.io/mcp" 两个服务器均无需账户或令牌即可查阅文档。完整设置(包括 Capawesome Cloud 工具)见 capawesome-mcp 和 capacitor-mcp 技能。

五、操作步骤 第 1 步:选择平台

  • 需要复用具有原生(Node)桌面实现的 Capacitor 插件:选 Electron。
  • 需要 Web 包空中更新:选 Electron(通过 @capawesome/capacitor-live-update >= 8.5.0 使用 Capawesome Cloud Live Updates,需 Capacitor 8,见 references/electron.md;Tauri 将 Web 资源编译进二进制,只能进行完整签名二进制更新)。
  • 需要在所有操作系统上使用单一、可预测的捆绑 Chromium:选 Electron。
  • 需要最小二进制(约 3–10 MB 对比约 85–120 MB)和最低内存占用:选 Tauri。
  • 需要默认拒绝的安全模型与 Rust 核心:选 Tauri。
  • 开发/CI 中不想使用 Rust 工具链:选 Electron。 Tauri 的权衡是固有的,不是缺陷:没有 Node 运行时(因此无法任意复用 Capacitor 插件)、三种不同的系统 WebView(WKWebView/WebView2/WebKitGTK)、没有 Web 包 OTA、需要 Rust 工具链。如有疑问,请阅读 Tauri 平台 README 的“Honest Limitations”部分。

第 2 步:安装并添加平台 Electron: npm install @capawesome/capacitor-electron npx cap add @capawesome/capacitor-electron cd electron && npm install && cd .. 然后在应用根 package.json 中添加 postinstall 脚本,使 Electron 依赖始终与主应用依赖一起安装: { "scripts": { "postinstall": "cd electron && npm ci && cd .." } } Tauri(先验证 rustc --version 可用;若不可用,停止并引导用户完成 Tauri 前置要求): npm install @capawesome/capacitor-tauri npx cap add @capawesome/capacitor-tauri 两个脚手架只包含用户拥有的文件(配置、图标、几行入口点);所有运行时逻辑位于带版本的包/crate 中,并通过 npm update / cargo update 更新。

第 3 步:同步与运行 npx cap sync @capawesome/capacitor-electron # 或 @capawesome/capacitor-tauri npx cap run @capawesome/capacitor-electron # 或 @capawesome/capacitor-tauri Electron 同步会复制 Web 资源并重新生成插件清单。Tauri 同步还会扫描应用的 Capacitor 插件依赖,生成默认拒绝的能力文件、精选的 tauri-plugin-* crate 依赖以及 Rust 插件注册。 任一平台要实时重载,可在 Capacitor 配置中将 server.url 设为本地开发服务器并运行平台——详见平台参考。

第 4 步:配置 Electron:在 electron/capacitor.electron.config.ts 中使用类型化选项(窗口、CSP、深度链接、钩子)——见 references/electron.md。 Tauri:src-tauri/tauri.conf.json(窗口、CSP、通过 plugins.deep-link.desktop.schemes 配置深度链接、打包)——见 references/tauri.md。

第 5 步:打包分发 Electron:cd electron && npm run pack(electron-builder;自动内置运行时和插件实现)——见 references/electron.md。 Tauri:npx cap sync @capawesome/capacitor-tauri && npx tauri build(按操作系统生成原生安装程序)——见 references/tauri.md。

六、参考文档

  • references/electron.md——脚手架布局、配置、实时重载、深度链接、插件支持与插件开发契约、打包与内置、应用更新(二进制更新与 Live Updates)、从 @capacitor-community/electron 迁移。
  • references/tauri.md——Rust 前置要求、脚手架布局、同步时代码生成、插件层级模型(内置/精选/Web 回退)、配置、实时重载、深度链接、打包、诚实的限制。

七、相关技能

  • capacitor-app-creation——在添加桌面平台前创建新的 Capacitor 应用。
  • capacitor-app-development——通用 Capacitor 开发主题、配置与故障排除。
  • capacitor-plugins——安装和配置 Capacitor 插件,包括检查桌面平台支持。
  • capawesome-cloud——为 Electron 平台设置 Capawesome Cloud Live Updates(与 Android/iOS 相同的应用和配置)。
  • capawesome-mcp——将 MCP 客户端连接到托管的 Capawesome MCP 服务器,获取始终最新的文档和 Capawesome Cloud 管理。