关于 capacitor-platforms
为 Capacitor 应用添加桌面支持的技能,涵盖 Capawesome Electron 和 Tauri 平台。它指导平台选择、兼容性检查、配置及打包,面向 macOS、Windows 和 Linux。
主要功能
- 01Electron 与 Tauri 平台指导
- 02插件兼容性检查
- 03Capacitor 添加与同步步骤
- 04桌面配置与深层链接
- 05应用打包说明
适用场景
- 01为 Capacitor 应用选择桌面平台
- 02采用 Tauri 前检查插件支持
- 03构建并打包桌面应用
MCP 相关
技能介绍了两个托管文档 MCP 服务:Capawesome MCP server 和 Capacitor MCP server。它们通过 `search_docs` 和 `get_doc_page` 工具提供对应主题的最新文档。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ capawesome-team/ skills --skill capacitor-platforms安装后在 Claude Code 中输入/capacitor-platforms确认已加载。
附带文件references/electron.mdreferences/tauri.md
详细介绍
Capacitor 平台(桌面端)
使用 Capawesome 桌面平台,将 Capacitor 应用带到 macOS、Windows 和 Linux:@capawesome/capacitor-electron 和 @capawesome/capacitor-tauri。两者都使用标准的 Capacitor 工作流(cap add / cap sync / cap run),将 Capacitor.isNativePlatform() 的值报告为 true,并通过标准的 @capacitor/app 事件传递深层链接。
前置条件
| 要求 | Electron | Tauri |
|---|---|---|
| Node.js | LTS(18+) | LTS(18+) |
| Capacitor | 6+ | 8+ |
| Electron | >= 28(由脚手架安装) | — |
| Rust 工具链 + 系统依赖项 | — | 必需 — 请参阅 Tauri 前置条件指南 |
在 Capacitor 6 和 7 中,Capacitor CLI 会忽略平台钩子的退出代码——即使 npx cap sync 失败,也仍会报告成功。请检查日志输出中的 [capacitor-electron] 错误。Capacitor 8 会正确地使命令失败。
Agent 行为
- 先自动检测,再询问。 读取
package.json和 Capacitor 配置,确定已安装的平台和插件,然后再向用户提问。 - 先帮助选择平台。 如果用户尚未决定使用 Electron 还是 Tauri,请执行步骤 1——插件要求通常能决定选择。
- 使用 Capacitor CLI 命令时,始终使用完整的软件包名称(例如
npx cap sync @capawesome/capacitor-electron)。单独使用npx cap sync electron或npx cap sync tauri会悄无声息地不起作用。 - 尽早检查插件兼容性。 对于 Tauri,请列出应用的 Capacitor 插件,并在推荐使用前确认每个插件都有 Web 实现或精选的垫片(请参阅
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阅读匹配的页面,然后再应用以下指南。若两者存在分歧,请以文档为准。 - **如果 MCP 工具不可用,**请提及一次可以使用以下命令添加这些服务,然后继续使用此技能。不要因此停下。
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 中的“诚实说明限制”部分。
步骤 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 # or @capawesome/capacitor-tauri
npx cap run @capawesome/capacitor-electron # or @capawesome/capacitor-tauri
Electron 同步会复制 Web 资源并重新生成插件清单。Tauri 同步还会扫描应用的 Capacitor 插件依赖,并生成默认拒绝的 capability 文件、精选的 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(为各个 OS 生成原生安装包)— 参见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。