Electron 存储设置¶
历史背景: 本页面编写于 Electron 和 Tauri 应用并存时期。文中提到的 Tauri 助手、页面、测试和回归结果描述的是该迁移阶段;Tauri shell 此后已被移除,共享代码现在位于
electron/src/shared/。现有 Tauri 安装:请参阅迁移指南。
设置 > 存储会读取现有的缓存磁盘报告,显示卷的已用/可用空间、模型缓存、应用数据、引擎环境和临时文件,并明确标记不完整的扫描。最大的模型和各项数据小计可内联展开。警告格式和字节格式与 Tauri 共享。
打开文件夹使用 Electron 的原生 reveal 桥接,并保留现有的后端 reveal 路由用于浏览器开发。模型和日志链接会打开它们现有的管理视图。临时文件清理需要显式确认,并带有运行中任务的警告。如果只删除了一部分,会报告失败,而不是声称所有文件都已清除,同时会刷新用量。打开页面本身绝不会删除任何内容。
数据库备份状态显示最新的迁移前快照及日期。这是数据库备份信息,并不表示源媒体和生成文件已被备份。历史记录保留复用了 Privacy 中已确认的上限编辑器。
模型缓存位置使用 Electron 的原生目录选择器。主进程会验证目录是否可写,在后端数据目录中存储一次性 models_dir 能力,并且只将其令牌返回给渲染器。后端在持久化 OMNIVOICE_CACHE_DIR 时使用该令牌;原始主机路径永远不会跨越 HTTP 边界。重置使用相同的能力流程,但路径为空;任一更改都在重启后生效。
重置并删除提供四个常见预设,以及一个包含实测磁盘大小的高级按作用域列表。渲染器拥有 UI 偏好、历史记录、草稿和 IndexedDB 项目。主进程拥有设置、生成内容、引擎、工具、模型、缓存和日志;它只接受来自可信主框架的已知作用域,拒绝远程后端重置和不安全的根目录,在删除前停止本地后端,并在删除后重新启动它。删除语音/项目/音频需要输入本地化的确认词。共享的 Hugging Face 缓存带有单独警告。挂起的草稿写入会在重新加载前暂停,因此已删除的工作不会被 pagehide 持久化重新创建。
应用数据位置使用 Electron 的原生文件夹选择器和主进程的一次性授权。迁移会停止受管理的本地后端,将每个文件复制并验证到空目标目录,在共享的持久环境中原子地持久化 OMNIVOICE_DATA_DIR,重启后端,并在删除旧副本前确认 /system/info 公布的是新路径。复制或激活失败时会恢复之前的设置,只删除已验证的目标目录,并从原文件夹重新启动。如果最终旧文件夹清理失败,新位置仍保持生效,UI 会告知用户旧副本可以手动删除。远程后端和单独启动的后端会被拒绝,因为 Electron 无法安全地冻结它们的写入。
删除所有数据会扫描后端数据根目录、Electron 运行时/配置、日志、持久环境和模型缓存的真实大小。共享 Hugging Face 缓存仍是显式的自愿选择。在输入确认词后,主进程会重新扫描并验证每个根目录,停止后端,并将精确计划交给签名的桌面助手。该助手会规范化每个路径,等待 Electron 退出,然后删除被锁定的 Chromium/运行时树,且不会跟随指向 VoiceStudio 自有数据之外的路径别名。助手启动失败会恢复后端并保持应用打开;成功交接则立即退出。删除已安装的应用二进制文件仍然是操作系统的常规卸载步骤。
electron/tests/storage-settings-smoke.mjs 使用模拟的变更操作验证警告/部分扫描显示、文件夹 reveal、取消/确认清理、部分清理失败以及备份状态。实时只读报告返回了全部四个类别、一个卷和一个现有备份。未删除任何实际文件。提取共享助手后,Tauri 存储回归测试通过。设置导航重构后,连接、性能和隐私浏览器测试也通过。
未完成且没有环境的 sidecar 安装仍包含在应用数据中。已完成的 sidecar 环境、检出(checkouts)和权重在引擎类别中只计算一次。
无法读取的引擎目录或条目会产生不完整的报告和警告;不可用字节不会被呈现为完整的空占用。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 om/VoiceStudio