Tauri 通过插件扩展系统能力,且大部分插件都以独立的 crate 形式提供。下面整理了开发中最常用的几款插件,覆盖文件系统、系统调用、通知、更新等高频场景,并标注了维护方(官方/社区)。你可以根据项目需要快速选择并集成。
| 插件名称 | 用途简述 | 类型 | 备注 |
| -------------------------------- | -------------------------------------------- | ------ | -------------------------------------- |
| tauri-plugin-fs | 安全地读写本地文件与目录 | 官方 | 需在权限配置中声明访问路径 |
| tauri-plugin-shell | 打开外部链接、执行系统命令 | 官方 | 支持 open 和 command 侧协议 |
| tauri-plugin-dialog | 调用系统原生对话框(打开文件、保存、确认等) | 官方 | 前端 API 简洁,自动调用系统 UI |
| tauri-plugin-clipboard-manager | 读写剪贴板内容 | 官方 | 支持文本、图片等多格式 |
| tauri-plugin-notification | 发送系统桌面通知 | 官方 | 跨平台一致,支持点击事件回调 |
| tauri-plugin-http | 发起 HTTP 请求(基于 reqwest) | 官方 | 绕过浏览器 CORS 限制,支持流式响应 |
| tauri-plugin-process | 管理子进程、重启当前应用 | 官方 | 可执行外部程序并获取输出 |
| tauri-plugin-updater | 应用内自动更新 | 官方 | 支持静态文件或自定义服务器分发更新 |
| tauri-plugin-os | 获取操作系统、架构、版本等信息 | 官方 | 极简 API,前端轻松获取平台信息 |
| tauri-plugin-store | 跨窗口持久化键值对存储 | 官方 | 默认使用 JSON 文件存储,可加密 |
| tauri-plugin-sql | SQL 数据库操作(基于 sqlx) | 官方 | 支持 SQLite、PostgreSQL、MySQL |
| tauri-plugin-window-state | 记忆窗口位置、大小及最大化状态 | 社区 | 自动保存与恢复,多窗口友好 |
| tauri-plugin-autostart | 设置应用开机自启动 | 社区 | 跨平台实现,托盘工具常用 |
| tauri-plugin-log | 统一日志收集(前端+后端) | 社区 | 支持文件、控制台、自定义输出 |
| tauri-plugin-single-instance | 强制应用单实例运行 | 社区 | 重复启动时自动聚焦到已有窗口 |
集成方法:
- 通过
cargo add在src-tauri中添加对应插件,例如cargo add tauri-plugin-fs。 - 在
tauri.conf.json中注册插件,并根据需要配置权限。 - 前端使用
@tauri-apps/plugin-xxx对应 npm 包调用 API。
注意事项:
- 所有系统级操作的插件都需要在
capabilities或permissions中明确声明,安全第一。 - 社区插件需关注其兼容版本与维护状态,建议优先选择 Star 较多、更新频繁的仓库。
- 多数插件同时提供 Rust 端和 JS 端,文档可在 Tauri 官方插件页 查阅。
通过合理选用这些插件,你能用极少量的额外代码为 Tauri 应用赋予丰富的原生能力,同时保持包体尺寸和性能不受影响。