内容
# Tauri 2 桌面应用程序技能
适用于使用 Tauri 2 构建 **任何类型** 的跨平台桌面应用程序的通用、经过验证的技能 — Rust 后端、React/TypeScript 前端、Python 边车。适用于 CRUD 应用程序、仪表盘、聊天应用程序、媒体工具、实用程序、API 客户端、CLI 包装器、开发工具等。
**所有工作都默认并行** — 每个技能都包含一个 `delegate_task` 配置文件,该配置文件会为 Rust、React、Python 和 CI/CD 同时启动子代理。
## 技能
| 技能 | 触发器 | 目的 |
|-------|----------|---------|
| **[tauri-desktop-apps](skills/tauri-desktop-apps/)** | `桌面`、`tauri` | 伞形技能 — 完整的 Tauri 2 参考资料,包含 11 个参考文件 |
| **[tauri-desktop-builder](skills/tauri-desktop-builder/)** | `桌面构建`、`tauri 构建` | 使用 Rust + React + 可选 Python 构建任何桌面应用程序 |
| **[tauri-desktop-client](skills/tauri-desktop-client/)** | `桌面客户端`、`API 客户端` | 为任何远程 API(OpenAI、Anthropic、GraphQL 等)构建客户端 |
## 应用类型
| 类型 | 示例 | 关键功能 |
|------|---------|-------------|
| **仪表盘** | 分析、监控、管理面板 | 图表、表格、实时数据 |
| **聊天 / AI** | ChatGPT 客户端、AI 助手 | SSE 流式传输、markdown、多模态 |
| **CRUD** | 待办事项应用、笔记管理器、CRM | 表单、数据库、搜索 |
| **媒体** | 图片编辑器、视频工具、音频播放器 | FFmpeg、画布、播放 |
| **实用程序** | 剪贴板管理器、文件转换器 | 系统托盘、热键、文件 I/O |
| **API 客户端** | REST/GraphQL 客户端、API 测试工具 | HTTP 请求、身份验证、历史记录 |
| **CLI 包装器** | Git GUI、Docker 管理器 | 进程管理、终端 |
| **开发工具** | 数据库查看器、日志查看器 | SQLite、WebSocket、文件监视 |
## 内容
### Rust 后端
- 使用 `#[tauri::command]` 的 Tauri 命令
- 自定义错误类型和结果传播
- 带有 WAL 模式的 SQLite 数据库
- Python 边车管理(子进程、HTTP 桥、PyO3)
- 系统托盘和多窗口
### React 前端
- `useTauriCommand` / `useTauriEvent` 钩子
- Zustand 状态管理
- 带有实时块的 SSE 流式传输
- 设置面板、连接屏幕、聊天界面
- 使用 Tailwind CSS 的暗主题
### Python 集成
- 4 个级别:子进程边车、HTTP 桥(FastAPI)、PyO3/Maturin、JSON IPC
- 用于独立分发的 PyInstaller
### 安全
- CSP 配置、IPC 权限、OS 密钥环、自签名 TLS
### 测试
- Rust 单元测试、Vitest + 测试库、E2E WebDriver
### CI/CD
- 矩阵构建:Windows(NSIS+MSI)、macOS(DMG)、Linux(AppImage+deb)
## 跨平台构建矩阵
| 平台 | 运行器 | 系统依赖 | 包 |
|----------|--------|-------------|---------|
| **Windows** | `windows-latest` | ffmpeg(如果有媒体) | NSIS + MSI |
| **macOS** | `macos-latest` | 无(WebKit 原生) | DMG |
| **Linux** | `ubuntu-22.04` | webkit2gtk + 4 依赖 | AppImage + deb |
## 并行执行
```
用户: "构建桌面应用程序"
├── 子代理 1:Rust 后端(cargo check)
├── 子代理 2:React 前端(npm run typecheck)
└── 子代理 3:CI/CD(YAML 验证)
```
## 安装
### Hermes 代理
```bash
cp -r skills/tauri-desktop-apps ~/.hermes/skills/
cp -r skills/tauri-desktop-builder ~/.hermes/skills/
cp -r skills/tauri-desktop-client ~/.hermes/skills/software-development/
```
### 独立
```bash
git clone https://github.com/peditx/tauri-skills.git
```
## 参考文件
11 个详细的参考文件,涵盖各个方面:
| 文件 | 大小 | 主题 |
|------|------|-------|
| `react-tauri-patterns.md` | 19KB | React + Tauri:钩子、存储、SSE、组件、暗主题 |
| `python-sidecar-pattern.md` | 10KB | 4 级 Python 集成 |
| `cross-platform-patterns.md` | 11KB | 矩阵构建、macOS/Linux/Windows 特定 |
| `streaming-patterns.md` | 9KB | SSE、WebSocket、Tauri 事件 |
| `security-patterns.md` | 8KB | CSP、IPC 权限、密钥环、输入验证 |
| `database-patterns.md` | 8KB | 带有 rusqlite 或 tauri-plugin-sql 的 SQLite |
| `testing-patterns.md` | 8KB | Rust 单元测试、Vitest、E2E |
| `tauri-v2-plugins.md` | 7KB | 插件目录、自定义插件 |
| `auto-updater-pattern.md` | 7KB | 签名、latest.json、更新 UI |
| `error-handling-patterns.md` | 6KB | Rust 结果、自定义错误 |
| `multi-window-tray.md` | 6KB | 系统托盘、多窗口 |
## 技术栈
- **后端**:Rust + Tauri 2
- **前端**:React + TypeScript + Vite + Tailwind CSS
- **状态**:Zustand
- **数据库**:SQLite(rusqlite / tauri-plugin-sql)
- **Python**:FastAPI / PyO3 / 子进程(可选)
- **CI/CD**:GitHub Actions(矩阵构建)
- **平台**:Windows、macOS、Linux
## 许可证
MIT
## 由
[PeDitX](https://github.com/peditx)