设置存储
版本化偏好、可搜索设置、备份与 OS keychain 存储。
src/lib/settings/ 通过 tauri-plugin-store 管理版本化 settings.json。与 Electron
不同,schema、迁移和持久化逻辑在 TypeScript 中,无需 IPC hop。原生构建中它位于 Tauri
app-config 目录:通常是 macOS 的 ~/Library/Application Support/<app>、Windows 的
%APPDATA%\\<app>、Linux 的 ~/.config/<app>。
Zod 会验证每次读取和写入。当前 CURRENT_SETTINGS_VERSION 为 10,forward migration
为新字段填入默认值;无效或版本更新的数据会回退到安全默认值。更新会触发类型化
settings-changed event,TypeScript 托盘和 updater scheduler 会消费它。
设置中心与备份
设置页有 8 个标签:通用、外观、通知、快捷键、代理、存储、更新、高级。账户独立在
/account;auto-update build flag 关闭时“更新”会消失。?tab=appearance 可选定标签;
SettingsSearch 会搜索翻译后的标签、描述和关键词。
“存储”页使用原生 dialog/fs plugins 导入导出经 Zod 验证的 JSON。备份包含偏好及存在的 secure key 名称,从不包含 token/session/license 值;新设备需要重新登录。
secure 值由 Rust keyring 和 OS keychain 保存,并受 SecureKey enum 限制。错误为
ENCRYPTION_UNAVAILABLE 或 STORAGE_FAILURE,不会降级为明文。未签名 macOS dev build
可能提示 keychain 访问。
