用途:指导在 Tauri 应用中集成 Oasis 自托管平台。Oasis 用于管理 Tauri 应用发布、收集用户反馈和跟踪崩溃,采用 MIT 许可,仓库为 https://github.com/porkytheblack/oasis。
组成与主要能力:oasis-sdk 为客户端 SDK,负责反馈、崩溃与面包屑;server/ 为 Hono 后端 API,处理发布、崩溃与反馈;dashboard/ 为 Next.js 管理界面;.github/workflows/tauri-release.yml 提供可复用的 Tauri 构建发布流程。数据流为 Tauri 应用加 SDK 上报至 Oasis 服务器,再进入仪表盘。
必要用法:先执行 npm install oasis-sdk,再用 initOasis 初始化,需提供 pk_ 开头的公开 API Key、serverUrl 与 semver 格式的 appVersion,可开启 enableAutoCrashReporting。反馈用 oasis.feedback.submit 或 reportBug、requestFeature、sendFeedback;崩溃用 oasis.crashes.captureException 或 report,可指定 severity;面包屑用 oasis.breadcrumbs 系列方法添加导航、点击、HTTP、控制台等记录。还提供 setUser、flush、getConfig、destroy。自动更新需在 src-tauri/tauri.conf.json 的 updater 中启用并配置含占位符的 endpoints 与 pubkey;签名密钥通过 npx @tauri-apps/cli signer generate -w ~/.tauri/myapp.key 生成。发布使用可复用工作流,需提供 app_slug、app_name、distribute_to、auto_publish 等参数,并配置 Apple 签名、Tauri 签名、Cloudflare R2 与 Oasis 相关 secrets。支持 macOS、Linux、Windows 对应目标与打包类型。
限制与注意:API Key 前缀类型需匹配否则静默失败;更新端点占位符须准确;公私钥须对应;自动崩溃捕获须在初始化时开启;appVersion 须为合法 semver;发布未自动发布会不推送给客户端;dry_run 可用于测试;r2_public_url 须为公开 CDN 地址。补充文档见 references/integration-guide.md。