بنقرة واحدة
tauri-best-practices
Tauri 框架最佳实践指南。使用场景:Tauri 应用开发、代码审查、架构设计
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Tauri 框架最佳实践指南。使用场景:Tauri 应用开发、代码审查、架构设计
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
创建符合规范的 git 提交消息,并在提交前 review 将提交的变更。优先遵循项目现有提交规范,支持 Conventional Commits 格式。使用场景:用户要求创建提交、编写提交消息、提交前检查变更
在 GitHub/GitLab/Gitea 上创建格式规范的 Issue。优先使用仓库 Issue 模板,支持 Bug 报告、功能请求等类型,自动生成结构化描述。使用场景:用户要求提交 issue、报告 bug、提出功能需求
使用 ddgr 在终端搜索 DuckDuckGo,返回结构化结果。支持站点限定、时间过滤、区域搜索。使用场景:用户要求搜索信息、查找文档、搜索特定网站内容
自动化 GitHub/GitLab/Gitea 发布流程。使用场景:发布新版本、创建版本标签、更新 CHANGELOG。自动分析 Git 提交、更新 CHANGELOG.md、确定语义化版本号、创建 Git 标签、推送到远程并创建 Release
将指定目录下的 skills 通过符号链接安装到目标目录。支持单 skill 目录和多 skill 父目录,自动校验 SKILL.md 存在性。使用场景:安装技能、链接 skills 到指定目录
自动化处理 GitHub/GitLab/Gitea Issue 的完整工作流:获取 issue → 分支管理(含 worktree)→ 代码实现 → 提交 → 创建 PR/MR。使用场景:用户要求处理 issue、解决 bug、实现功能、贴了 issue 链接
| name | tauri-best-practices |
| description | Tauri 框架最佳实践指南。使用场景:Tauri 应用开发、代码审查、架构设计 |
Tauri 跨平台桌面应用开发最佳实践。
💡 创建新项目请使用 tauri-create 技能。
为什么:
常用官方插件:
| 插件 | 功能 | 安装命令 |
|---|---|---|
shell | 打开 URL、执行命令 | pnpm tauri add shell |
fs | 文件系统访问 | pnpm tauri add fs |
dialog | 文件对话框 | pnpm tauri add dialog |
notification | 系统通知 | pnpm tauri add notification |
clipboard | 剪贴板操作 | pnpm tauri add clipboard-manager |
http | HTTP 请求 | pnpm tauri add http |
store | 数据持久化 | pnpm tauri add store |
window-state | 窗口状态记忆 | pnpm tauri add window-state |
📌 完整插件列表:https://v2.tauri.app/zh-cn/plugin/
注意事项:
pnpm tauri add 一次只能添加一个插件pnpm tauri add clipboard-manager
pnpm tauri add window-state
// 导入全部方法
import * as Clipboard from '@tauri-apps/plugin-clipboard-manager'
// 然后使用
await Clipboard.writeText(text)
// 解构导入
import { writeText, readText } from '@tauri-apps/plugin-clipboard-manager'
架构设计:
src/
├── api/
│ └── clipboard.ts # 封装好的剪贴板 API
├── lib/
│ └── platform.ts # 环境检测
└── main.ts
实现示例:
// src/lib/platform.ts
export const isTauri = () => '__TAURI__' in window
// src/api/clipboard.ts
import * as Clipboard from '@tauri-apps/plugin-clipboard-manager'
import { isTauri } from '@/lib/platform'
export async function writeText(text: string): Promise<void> {
if (isTauri()) {
await Clipboard.writeText(text)
} else {
await navigator.clipboard.writeText(text)
}
}
export async function readText(): Promise<string> {
if (isTauri()) {
return await Clipboard.readText()
} else {
return await navigator.clipboard.readText()
}
}
// 使用
import { writeText, readText } from '@/api/clipboard'
await writeText('Hello')
Web 不支持的处理方式:
// 方式 1:返回默认值/Mock 数据
export async function getAppVersion(): Promise<string> {
if (isTauri()) {
return await app.getVersion()
}
return '0.0.0-browser' // 开发时使用模拟值
}
// 方式 2:抛出明确错误
export async function readFile(path: string): Promise<string> {
if (isTauri()) {
return await fs.readTextFile(path)
}
throw new Error('File API 仅在桌面端可用')
}
// 方式 3:提供降级方案
export async function saveData(key: string, value: string): Promise<void> {
if (isTauri()) {
await fs.writeTextFile(`data/${key}.txt`, value)
} else {
localStorage.setItem(key, value) // 浏览器降级到 localStorage
}
}
优势:
用户输入:"帮我审查一下这个 Tauri 项目的代码"
审查要点:
src/api/ 目录)用户输入:"我需要实现剪贴板功能"
推荐方案:
@tauri-apps/plugin-clipboard-manager 插件src/api/clipboard.ts 中封装 API用户输入:"编译时间太长了,有什么优化建议?"
优化方向:
Cargo.toml 中不必要的依赖用户输入:"我要设计一个 Tauri 应用的架构"
架构建议:
src/api/ 中统一封装 Tauri APIisTauri() 检测实现双环境支持判断标准:
优先级:官方插件 > 社区插件 > 自定义 Rust 代码
三种处理方式(详见上文"前端封装 API 层"章节):
注意事项:
pnpm tauri add 一次只能添加一个插件src-tauri/capabilities/default.json 中配置权限推荐流程:
pnpm dev 进行纯前端开发(快速热更新)pnpm tauri dev 测试桌面端集成pnpm tauri build 在目标平台测试src-tauri/capabilities/default.json 中配置权限shell 插件执行命令,避免命令注入风险