关于 tauri
tauri 是面向 Tauri v2 开发的 skill,适用于使用 Rust 核心和 OS WebView 前端构建桌面及移动应用的开发者,涵盖项目配置、IPC、安全、插件、测试与分发。
主要功能
- 01项目脚手架与配置
- 02Rust 命令和 WebView IPC
- 03能力与权限控制
- 04插件和更新器指南
- 05测试与打包参考
适用场景
- 01启动 Tauri 应用项目
- 02连接前端与 Rust 命令
- 03配置窗口权限
- 04准备测试和应用程序包
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ hairyf/ skills --skill tauri安装后在 Claude Code 中输入/tauri确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
GENERATION.mdreferences/best-practices-security-lifecycle.mdbest-practices-writing-plugin-permissions.mdconcept-ipc-patterns.mdconcept-size.mdcore-architecture.mdcore-ipc.mdcore-process-model.mdcore-project-structure.mddevelop-commands.mddevelop-configuration-files.mddevelop-debug.mddevelop-events-and-channels.mddevelop-icons.mddevelop-plugins-mobile.mddevelop-resources.mddevelop-sidecar.mddevelop-state-management.mddevelop-tests-mocking.mddevelop-tests-webdriver.mddevelop-tests.mddevelop-updating-dependencies.mddevelop-windows.mddistribute-packaging.mddistribute-pipelines.mddistribute-signing.mdfeatures-deep-linking.mdfeatures-official-plugins-overview.mdfeatures-plugins.mdfeatures-updater.md详细介绍
Tauri 让你能够使用 Rust Core 进程和在操作系统 WebView 中运行的前端来构建桌面(以及移动)应用。在搭建项目脚手架、连接命令和事件、配置能力和权限,或编写插件时,可使用这些技能。
该技能基于 Tauri v2,生成于 2026-01-30。
核心参考
| 主题 | 描述 | 参考 |
|---|---|---|
| 架构 | 核心 crate、WRY/TAO、工具链、插件 | core-architecture |
| IPC | 事件(即发即忘)与命令(invoke/响应),何时使用各自 | core-ipc |
| 进程模型 | Core 进程与 WebView 进程、安全影响 | core-process-model |
| 项目结构 | src-tauri 布局、tauri.conf.json、capabilities、构建流程 | core-project-structure |
| 应用体积 | 为何小巧、Cargo release 配置(LTO、strip、opt-level) | concept-size |
| IPC 模式 | 棕地(默认)与隔离(沙箱、加密) | concept-ipc-patterns |
开始
| 主题 | 描述 | 参考 |
|---|---|---|
| 创建项目 | create-tauri-app 与 tauri init、开发服务器 URL | start-create-project |
| 先决条件 | 系统依赖、Rust、Node、WebView2、移动端(Android/iOS) | start-prerequisites |
| 前端 | 静态托管模型、Vite/Next/Nuxt/SvelteKit/Leptos/Trunk | start-frontend |
| 迁移 | 从 Tauri 1.x 或 2 beta 升级、migrate 命令 | start-migrate |
开发
| 主题 | 描述 | 参考 |
|---|---|---|
| 配置文件 | tauri.conf.json、平台覆盖、Cargo.toml、package.json | develop-configuration-files |
| 命令 | #[tauri::command]、invoke、args、errors、async、State、channels | develop-commands |
| 事件与 Channel | Emit/listen、全局与特定 webview、使用 Channel 流式传输 | develop-events-and-channels |
| 状态管理 | app.manage()、命令中的 State<T>、Mutex | develop-state-management |
| 窗口 | 创建窗口(配置与 WebviewWindowBuilder)、label、url、visible | develop-windows |
| 图标 | tauri icon 命令、bundle.icon、平台格式 | develop-icons |
| 资源 | 打包资源、解析路径、$RESOURCE、fs 权限 | develop-resources |
| 边车 | externalBin、shell 插件、从 Rust/JS spawn、权限 | develop-sidecar |
| 调试 | dev 与 build、Rust 控制台、WebView devtools、RUST_BACKTRACE | develop-debug |
| 测试 | Mock 运行时、WebDriver E2E、CI | develop-tests |
| 测试 Mocking | mockIPC、mockWindows、clearMocks(前端测试) | develop-tests-mocking |
| 测试 WebDriver | tauri-driver、平台驱动、Selenium/WebdriverIO、CI | develop-tests-webdriver |
| 更新依赖 | npm/Cargo 版本同步、tauri 和插件 | develop-updating-dependencies |
| 插件移动端 | Android(Kotlin)、iOS(Swift)、桌面与移动实现 | develop-plugins-mobile |
安全
| 主题 | 描述 | 参考 |
|---|---|---|
| 能力 | 哪些权限适用于哪些窗口;能力文件、远程、平台 | security-capabilities |
| 权限 | 允许/拒绝命令、作用域、权限集;插件权限与应用权限 | security-permissions |
| 作用域 | 按命令或全局允许/拒绝,路径/URL 模式 | security-scope |
| CSP | 内容安全策略配置,script-src、style-src | security-csp |
| HTTP 头 | 针对 webview 响应的 CORS、COOP、Permissions-Policy | security-http-headers |
| 运行时授权 | 核心在每次 invoke 时强制执行权限;被拒绝 = 永不运行 | security-runtime-authority |
最佳实践
| 主题 | 描述 | 参考 |
|---|---|---|
| 安全生命周期 | 上游、开发、构建、运行时;依赖、审计、开发服务器 | best-practices-security-lifecycle |
| 编写插件权限 | 自动生成的允许/拒绝、权限文件、默认集、作用域 schema | best-practices-writing-plugin-permissions |
功能
| 主题 | 描述 | 参考 |
|---|---|---|
| 插件 | 插件开发、生命周期钩子、命令、权限、状态 | features-plugins |
| 官方插件概览 | dialog、fs、shell、store、updater 及其他;何时使用哪个 | features-official-plugins-overview |
| 深度链接 | 自定义 URL scheme、App/Universal Links、单实例 + argv | features-deep-linking |
| 更新器 | 应用内更新 — 检查、下载、安装、签名、静态/动态端点 | features-updater |
分发
| 主题 | 描述 | 参考 |
|---|---|---|
| 打包 | build、bundle、安装程序(DMG、MSI、AppImage 等)、签名概览 | distribute-packaging |
| 签名 | 各平台的代码签名(macOS、Windows、Linux、Android、iOS) | distribute-signing |
| 流水线 | GitHub Actions(tauri-action)、CI 签名、CrabNebula Cloud | distribute-pipelines |
学习
| 主题 | 描述 | 参考 |
|---|---|---|
| 菜单与托盘 | 窗口菜单、系统托盘、Menu/TrayIcon、预定义项 | learn-windows-menus-tray |
| 窗口自定义 | 自定义标题栏、装饰、data-tauri-drag-region、透明(macOS) | learn-window-customization |
| 启动画面 | 额外窗口、显示/隐藏主窗口、设置任务、就绪后关闭 | learn-splashscreen |
| Sidecar Node.js | 将 Node 应用作为二进制(pkg)、externalBin、shell 插件 | learn-sidecar-nodejs |
| 使用插件权限 | 添加插件、能力、允许命令、默认权限 | learn-using-plugin-permissions |
| 按窗口/平台配置能力 | 为不同窗口配置不同能力;platforms 数组 | learn-capabilities-windows-platforms |
参考
| 主题 | 描述 | 参考 |
|---|---|---|
| 命令行 | dev、build、icon、init、migrate、bundle | reference-cli |
| 环境变量 | CI、配置深度、签名、Apple/Windows/Linux、钩子环境 | reference-environment-variables |
| WebView 版本 | WebView2(Windows)、WKWebView(macOS/iOS)、WebKitGTK(Linux) | reference-webview-versions |
| 核心权限(ACL) | core:default、app、event、window、path、menu、tray、resources | reference-acl-core-permissions |
评论
支持 Markdown