tauri

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese
Tauri lets you build desktop (and mobile) apps with a Rust Core process and a frontend running in the OS WebView. Use these skills when scaffolding projects, wiring commands and events, configuring capabilities and permissions, or authoring plugins.
The skill is based on Tauri v2, generated at 2026-01-30.
Tauri 允许你借助Rust Core进程和运行在系统WebView中的前端来构建桌面(及移动端)应用。这些技能适用于项目搭建、命令与事件配置、capabilities与权限设置,以及插件开发等场景。
本技能基于Tauri v2版本生成,生成时间为2026-01-30。

Core References

核心参考

TopicDescriptionReference
ArchitectureCore crates, WRY/TAO, tooling, pluginscore-architecture
IPCEvents (fire-and-forget) vs Commands (invoke/response), when to use eachcore-ipc
Process ModelCore process vs WebView processes, security implicationscore-process-model
Project Structuresrc-tauri layout, tauri.conf.json, capabilities, build flowcore-project-structure
App SizeWhy small, Cargo release profile (LTO, strip, opt-level)concept-size
IPC PatternsBrownfield (default) vs Isolation (sandbox, encrypt)concept-ipc-patterns
主题描述参考链接
架构核心crates、WRY/TAO、工具链、插件core-architecture
IPC事件(即发即弃)与命令(调用/响应)的区别及适用场景core-ipc
进程模型Core进程与WebView进程的区别及安全影响core-process-model
项目结构src-tauri目录布局、tauri.conf.json、capabilities、构建流程core-project-structure
应用体积体积小巧的原因、Cargo发布配置(LTO、strip、opt-level)concept-size
IPC模式遗留模式(默认)与隔离模式(沙箱、加密)concept-ipc-patterns

Start

入门指南

TopicDescriptionReference
Create Projectcreate-tauri-app vs tauri init, dev server URLstart-create-project
PrerequisitesSystem deps, Rust, Node, WebView2, mobile (Android/iOS)start-prerequisites
FrontendStatic host model, Vite/Next/Nuxt/SvelteKit/Leptos/Trunkstart-frontend
MigrateUpgrading from Tauri 1.x or 2 beta, migrate commandstart-migrate
主题描述参考链接
创建项目create-tauri-app与tauri init的区别、开发服务器URLstart-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

Develop

开发实战

TopicDescriptionReference
Configuration Filestauri.conf.json, platform overrides, Cargo.toml, package.jsondevelop-configuration-files
Commands#[tauri::command], invoke, args, errors, async, State, channelsdevelop-commands
Events and ChannelsEmit/listen, global vs webview-specific, streaming with Channeldevelop-events-and-channels
State Managementapp.manage(), State<T> in commands, Mutexdevelop-state-management
WindowsCreating windows (config vs WebviewWindowBuilder), label, url, visibledevelop-windows
Iconstauri icon command, bundle.icon, platform formatsdevelop-icons
ResourcesBundled resources, resolve path, $RESOURCE, fs permissionsdevelop-resources
SidecarexternalBin, shell plugin, spawn from Rust/JS, permissionsdevelop-sidecar
Debugdev vs build, Rust console, WebView devtools, RUST_BACKTRACEdevelop-debug
TestsMock runtime, WebDriver E2E, CIdevelop-tests
Tests MockingmockIPC, mockWindows, clearMocks (frontend tests)develop-tests-mocking
Tests WebDrivertauri-driver, platform drivers, Selenium/WebdriverIO, CIdevelop-tests-webdriver
Updating Dependenciesnpm/Cargo version sync, tauri and pluginsdevelop-updating-dependencies
Plugins MobileAndroid (Kotlin), iOS (Swift), desktop vs mobile impldevelop-plugins-mobile
主题描述参考链接
配置文件tauri.conf.json、平台覆盖配置、Cargo.toml、package.jsondevelop-configuration-files
命令开发#[tauri::command]、invoke调用、参数、错误处理、异步、State、通道develop-commands
事件与通道Emit/监听、全局与WebView专属事件、Channel流处理develop-events-and-channels
状态管理app.manage()、命令中的State<T>、Mutexdevelop-state-management
窗口管理创建窗口(配置文件方式vs WebviewWindowBuilder)、标签、URL、可见性设置develop-windows
图标设置tauri icon命令、bundle.icon配置、平台适配格式develop-icons
资源管理打包资源、路径解析、$RESOURCE、文件系统权限develop-resources
Sidecar工具externalBin配置、shell插件、从Rust/JS启动、权限设置develop-sidecar
调试技巧dev与build模式区别、Rust控制台、WebView开发者工具、RUST_BACKTRACEdevelop-debug
测试方法模拟运行时、WebDriver端到端测试、CI集成develop-tests
测试模拟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

安全配置

TopicDescriptionReference
CapabilitiesWhich permissions apply to which windows; capability files, remote, platformssecurity-capabilities
PermissionsAllow/deny commands, scopes, permission sets; plugin vs app permissionssecurity-permissions
Scopesallow/deny per command or global, path/URL patternssecurity-scope
CSPContent Security Policy config, script-src, style-srcsecurity-csp
HTTP HeadersCORS, COOP, Permissions-Policy for webview responsessecurity-http-headers
Runtime AuthorityCore enforces permissions on every invoke; denied = never runsecurity-runtime-authority
主题描述参考链接
Capabilities不同窗口的权限分配、capabilities文件、远程访问、平台适配security-capabilities
权限管理命令的允许/拒绝、作用域、权限集合;插件与应用权限的区别security-permissions
作用域设置按命令或全局设置允许/拒绝、路径/URL模式security-scope
CSP配置内容安全策略配置、script-src、style-srcsecurity-csp
HTTP头设置CORS、COOP、WebView响应的Permissions-Policysecurity-http-headers
运行时权限校验Core进程对每次invoke调用执行权限校验;拒绝则不会执行命令security-runtime-authority

Best Practices

最佳实践

TopicDescriptionReference
Security LifecycleUpstream, development, build, runtime; deps, audit, dev serverbest-practices-security-lifecycle
Writing Plugin PermissionsAutogenerated allow/deny, permission files, default set, scope schemabest-practices-writing-plugin-permissions
主题描述参考链接
安全生命周期上游依赖、开发、构建、运行时;依赖审计、开发服务器安全best-practices-security-lifecycle
插件权限编写自动生成允许/拒绝规则、权限文件、默认权限集合、作用域Schemabest-practices-writing-plugin-permissions

Features

功能特性

TopicDescriptionReference
PluginsPlugin development, lifecycle hooks, commands, permissions, statefeatures-plugins
Official Plugins Overviewdialog, fs, shell, store, updater, and others; when to use whichfeatures-official-plugins-overview
Deep LinkingCustom URL scheme, App/Universal Links, single-instance + argvfeatures-deep-linking
UpdaterIn-app updates — check, download, install, signing, static/dynamic endpointsfeatures-updater
主题描述参考链接
插件开发插件开发流程、生命周期钩子、命令、权限、状态管理features-plugins
官方插件概览dialog、fs、shell、store、updater等插件;适用场景说明features-official-plugins-overview
深度链接自定义URL协议、App/Universal Links、单实例+argv参数features-deep-linking
应用更新应用内更新——检查、下载、安装、签名、静态/动态端点features-updater

Distribute

分发部署

TopicDescriptionReference
Packagingbuild, bundle, installers (DMG, MSI, AppImage, etc.), signing overviewdistribute-packaging
SigningCode signing per platform (macOS, Windows, Linux, Android, iOS)distribute-signing
PipelinesGitHub Actions (tauri-action), CI signing, CrabNebula Clouddistribute-pipelines
主题描述参考链接
打包配置build、bundle、安装包(DMG、MSI、AppImage等)、签名概述distribute-packaging
代码签名各平台代码签名(macOS、Windows、Linux、Android、iOS)distribute-signing
流水线集成GitHub Actions(tauri-action)、CI签名、CrabNebula Clouddistribute-pipelines

Learn

进阶学习

TopicDescriptionReference
Menus and TrayWindow menu, system tray, Menu/TrayIcon, predefined itemslearn-windows-menus-tray
Window CustomizationCustom titlebar, decorations, data-tauri-drag-region, transparent (macOS)learn-window-customization
SplashscreenExtra window, visible/hidden main, setup tasks, close when readylearn-splashscreen
Sidecar Node.jsNode app as binary (pkg), externalBin, shell pluginlearn-sidecar-nodejs
Using Plugin PermissionsAdd plugin, capability, allow commands, default permissionslearn-using-plugin-permissions
Capabilities per Window/PlatformDifferent capabilities per window; platforms arraylearn-capabilities-windows-platforms
主题描述参考链接
菜单与托盘窗口菜单、系统托盘、Menu/TrayIcon、预定义菜单项learn-windows-menus-tray
窗口自定义自定义标题栏、装饰、data-tauri-drag-region、透明窗口(macOS)learn-window-customization
启动屏设置额外窗口、主窗口显隐、初始化任务、就绪后关闭learn-splashscreen
Sidecar Node.jsNode应用打包为二进制(pkg)、externalBin配置、shell插件learn-sidecar-nodejs
插件权限使用添加插件、配置capabilities、允许命令、默认权限设置learn-using-plugin-permissions
按窗口/平台分配Capabilities不同窗口使用不同capabilities;平台数组配置learn-capabilities-windows-platforms

Reference

参考手册

TopicDescriptionReference
CLIdev, build, icon, init, migrate, bundlereference-cli
Environment VariablesCI, config depth, signing, Apple/Windows/Linux, hook envreference-environment-variables
WebView VersionsWebView2 (Windows), WKWebView (macOS/iOS), WebKitGTK (Linux)reference-webview-versions
Core Permissions (ACL)core:default, app, event, window, path, menu, tray, resourcesreference-acl-core-permissions
主题描述参考链接
CLI命令dev、build、icon、init、migrate、bundlereference-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、resourcesreference-acl-core-permissions