mcpField
C
capacitor-platforms

capacitor-platforms

github.com/capawesome-team开发52707 次安装1 周前更新
代码仓库

关于 capacitor-platforms

为 Capacitor 应用添加桌面支持的技能,涵盖 Capawesome Electron 和 Tauri 平台。它指导平台选择、兼容性检查、配置及打包,面向 macOS、Windows 和 Linux。

主要功能

  1. 01Electron 与 Tauri 平台指导
  2. 02插件兼容性检查
  3. 03Capacitor 添加与同步步骤
  4. 04桌面配置与深层链接
  5. 05应用打包说明

适用场景

  1. 01为 Capacitor 应用选择桌面平台
  2. 02采用 Tauri 前检查插件支持
  3. 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 事件传递深层链接。

前置条件

要求ElectronTauri
Node.jsLTS(18+)LTS(18+)
Capacitor6+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 资源编译进二进制文件——仅支持完整的签名二进制文件更新)
在所有操作系统上使用单一、可预测的捆绑 ChromiumElectron
最小的二进制文件(约 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。

评论

支持 Markdown