跳转至

Electron 与 Tauri 行为对等

历史背景: 本页撰写时 Electron 与 Tauri 应用并存。文中提到的 Tauri 辅助程序、页面、测试和回归结果描述的是迁移期间的情况;此后 Tauri shell 已移除,共享代码现在位于 electron/src/shared/。现有 Tauri 安装用户请参阅迁移指南。

本清单跟踪用户可见行为。当 Electron 提供相同的任务和后端契约时,该行标记为已实现。平台专属性能可能有所不同。原生行在通过真实的 macOS、Windows 和 Linux 冒烟门禁之前保持验证待完成状态。

领域 Electron 状态 证据 剩余门禁
首次运行与托管后端 已实现 docs/electron-runtime.md、已安装的 Debian/AppImage 同意冒烟测试,以及完全无缓存的打包 Windows 和 Ubuntu 26.04 从安装到暂停后首次出声的完整运行 macOS 上完全打包的无缓存安装到首次出声
后端崩溃恢复 已实现 崩溃/健康冒烟测试,加上打包 Windows 在延迟启动期间主动退出 签名包 OS 矩阵
声音克隆与已保存配置文件 已实现 实时 Faster-Whisper 上传参考转写,外加原子音频/转写/头像配置文件保存、克隆演示和配置文件图像测试 每个加速器系列上的真实引擎冒烟测试
声音设计 已实现 docs/electron-voice-design.md、设计和人设冒烟测试 真实模型生成矩阵
故事与有声书 已实现 docs/electron-longform.md、真实的双配置文件故事演员阵容/渲染/播放、真实分章节 M4B 渲染/播放、长文本冒烟测试,以及打包 Linux 原生另存为 macOS 上的原生导出冒烟测试
配音与批量配音 已实现 docs/electron-dubbing.md、docs/electron-batch.md、实时公共 URL/字幕摄取、一个 15 分钟 195 段的 Windows 项目、真实交互式/批量模型后端导出、可选的边编辑边实时 CAST 播放、共享的有界 Agent Fit 循环,以及通过 Codex、Claude Code 和 OpenCode 进行的打包时序预算翻译(Pi 仍保留契约覆盖,普通提供商仍可用) 在原生 macOS/Linux 上重复长媒体运行
配置文件与图库 已实现 docs/electron-gallery.md、图库和人设往返冒烟测试、显式无密钥五结果肖像搜索、打包 Ubuntu 原生人设导出/检查,外加实时 Community 故障/重试/收藏/预览/Designer 交接 无
转写与听写 已实现 docs/electron-transcriptions.md、转写和原生听写冒烟测试,外加可信来源纯音频 Chromium 权限回归 原生热键/输入权限矩阵
项目与工具 已实现 docs/electron-projects.md、docs/electron-tools.md、项目和工具冒烟测试,外加真实 Windows Faster-Whisper/OmniVoice 转换和 Vidstack 播放 原生显示/导出矩阵
模型目录与引擎选择 已实现 模型库组件测试、推荐冒烟测试、实时安装/取消/删除/卸载验证、当前进程内/隔离 Faster-Whisper 选择和恢复,以及可重复的应用托管 audio.cpp v0.7.4 Sortformer 推理/取消(Windows Vulkan) 跨模型系列和桌面操作系统的原生安装矩阵
设置、日志、API 参考与支持 已实现 设置冒烟测试、响应式实时运行时/硬件标识、640 px 布局冒烟测试、打包 Linux 150% DPR/无溢出视觉冒烟测试以及 docs/electron-logs.md macOS 上的原生视觉捕获
更新、通知、应用/托盘/任务栏品牌 已实现;已发布更新验证待完成 更新器 IPC 生命周期/授权回归、平台专属源名称、有界频道感知发布历史、字节/SHA-512 发布契约、每个未打包 Electron 应用的发布矩阵验证、品牌化 Windows NSIS/应用图标、启动的 AppImage 和已安装 Debian 包(含共享品牌资产/原生辅助程序) 首次签名 Stable 更新以及 macOS/Linux 上的已安装 shell 视觉检查
监视文件夹与全局捕获 验证待完成 Windows 原生监视生命周期/全局快捷键/插入,外加 Linux AppImage Wayland 托盘/监视和剪贴板回退冒烟测试 macOS 权限、Linux portal 全局快捷键和物理麦克风矩阵
T3 风格 shell、主题、缩放与键盘导航 已实现 共享可调整大小辅助窗格、侧边栏、区域布局、工作区 shell 和全路由无障碍冒烟测试,包括 640–1920 px 辅助窗格几何、1440/640 px 下的 38 条路由、打包 Linux 150% DPR 和主进程空渲染器恢复(含本地化、无资源依赖的备用页面) macOS/Linux 上的原生屏幕阅读器测试和 macOS 上的高 DPI 测试
应用内代理修复坞 Electron 扩展 docs/electron-repair.md、原生冒烟测试、打包 Windows 上的 Codex/Claude/OpenCode 验收,以及打包 Linux host-shim 拒绝 安装后 Pi 验收;原生 macOS/Linux CLI 矩阵

最新本地验证(2026-09-14):最终的未打包 Windows 构建针对其托管运行时启动,并报告后端 0.5.2 在 RTX 4090 上健康。其响应式 System Preflight 解析了实时 CPU、GPU/VRAM、Python 运行时、计算设备、所选引擎和存储路径。OmniVoice 常驻于 CUDA, 所有必需设置模型均已就绪,七个已保存配置文件加载成功,Parakeet TDT v3 已安装并可用于听写。一段保存的 17 秒克隆参考还以预期文本在 0.66 秒内完成了实时 Parakeet 转写。聚焦的模型/运行时/配置文件/转写覆盖在 HF_HUB_OFFLINE=1 和空 Hugging Face 缓存下通过了 41 项渲染器检查以及 150 项后端检查。共享的 辅助侧边栏冒烟测试也在 640 到 1920 px 的每个工作区通过。 完整的 Electron 组件套件在 119 个文件中通过 462 项检查;首次运行浏览器 验收测试还覆盖了部分预检恢复、推荐模型披露和紧凑设置布局,而全部 38 条路由在 1440 和 640 px 下均适配,37 条路由在两种宽度下通过 DOM 无障碍审计。 刷新后的打包后端还报告了常驻 k2-fsa/OmniVoice 检查点,带非空 UTC 加载时间戳、cuda:0 执行和 1937.2 MB 已分配 VRAM,从而弥合了渲染器刷新间的匿名就绪状态差距。 当前生产渲染器还额外将实时 ASR 后端切出再切回,而不会丢失所选模型,完成了真实 Faster-Whisper 上传(含定时分段)、导出、 Clone 交接和清理,并将生成的片段往返保存到一个一次性配置文件中。 其实时路由扫描在更新器、听写、QR、区域设置加载、翻译文件和本地代理发现拒绝路径被限制在其发起 UI 边界后,始终无渲染器警告、异常和 API 失败。 迁移期间,一个清单守卫将每个 Tauri 页面、每个静态 Electron 路由和 每个模型系列映射到其维护的能力或响应式布局证据;该守卫已随 Tauri shell 一同退役。 一个隔离的干净 Ubuntu 26.04 工作区也完成了 Electron 类型检查和生产 打包,然后通过了未打包 Linux 工件契约,包含其 x64 应用、捆绑 uv、品牌化 资源和原生听写辅助程序。

清单仅记录行为和验证情况。它不会重新讨论已满足其任务的布局或机制。新的对等工作应更新相应行,并添加最精准的回归证据来证明其有效性。

Electron 还消费后端的 /ws/events 失效流,用于配置文件、生成与配音历史、项目、导出和模型状态。本地开发会先等待后端健康检查通过,再打开代理套接字;打包后的经过身份验证的远程连接使用主进程拥有的、绑定路径的 WebSocket URL,并在不暴露凭据的情况下重新连接。

从 electron/ 目录运行 bun run smoke:live-routes 可通过正在运行的哈希路由器和真实后端来测试全部 37 个具体路由视图。遇到错误边界、缺少标题、未捕获异常、控制台错误或警告、加载失败或 HTTP 错误响应时,它都会失败。2026-09-13 的实时运行中,所有路由均通过,无任何失败。

从 electron/ 目录运行 bun run smoke:account-live(先执行 bun run build;在 Linux 上使用 xvfb-run)可针对开发领域检查 VoiceStudio Cloud 登录。它确认账户功能初始为关闭状态、右上角显示“登录”且通知铃铛在其右侧,以及登录会向浏览器提供一个带有 127.0.0.1 重定向的 PKCE 授权 URL,Keycloak 会以登录表单接受该 URL。它还确认关闭账户功能会立即停止登录并关闭回环监听器。完成登录需要一个开发测试账户,因此该部分仍为手动操作。

设置导航

全新安装时,Studio 是 Light 和 Dark 两种外观的默认调色板。在任一外观下选择调色板都会立即应用该选择,并在之后切换时(包括系统模式更改)保留。已保存的现有调色板选择保持不变。

主工作区侧边栏在设置路由上保持可见,包括后端正在启动或不可用期间。设置会在其旁边保留自己的分区列表,并带有“设置”标题,而不是重复的品牌标头。窄窗口使用与其他辅助窗格工作区相同的紧凑轨道行为。

展开后的侧边栏是一个 216px 的窄列:工作区导航紧挨在标题下方,状态栏和“设置”入口保持在底部。在 macOS 上,窗口的交通灯按钮在品牌上方拥有独立的一行;在全屏模式下,品牌会移到该角落。状态区域是一个细长的速度/质量滑块(包含层级图标、层级名称和一个仅图标的 Auto 切换);悬停或点击标签,或更改滑块,会打开一个弹出框,其中显示每个引擎的模型、硬件适配情况以及 Simple/Models/Details 视图切换。

已保存的声音和最近录音位于 Home 和 Clone 页面导航旁边的上下文侧边栏中(在 Design 窗格中则作为“已保存的声音”标签页),因此导航从不承载库内容。任何自带窗格的分区都会将导航保留为下方的图标轨道,类似于 VS Code、Slack 和 Linear,这样窗口不会显示两个宽侧边栏。轨道上的仪表按钮会打开相同的速度/质量弹出框。

在紧凑轨道中,Voice、Stories 和 Dubbing 会在鼠标悬停或点击时打开浮出面板,并提供整行点击目标。悬停具有短暂的打开延迟,以及指针移入浮出面板的过渡延迟;触屏用户可以点击打开,键盘用户可以按 Enter 或 Arrow Right/Down 打开,然后按 Arrow Left 或 Escape 返回触发器。选择目标后,其浮出面板会保持挂载,直到路由更改;选择当前目标会立即关闭它。点击外部区域可关闭浮出面板。双击紧凑轨道会展开完整侧边栏;标题按钮仍是单击控件。浮出面板出现在其图标旁边,指针移入时不会发生缩放位移。

设置 → 外观 → 保持侧边栏展开会在本地持久化该选择。它会禁用分区窗格旁边以及窄窗口上的自动压缩。使用默认的自动设置时,宽度不超过 1200px 的窗口使用轨道。显式的关闭控件仍然有效。标题切换按钮和侧边栏共享同一个状态。紧凑轨道可以在每个桌面平台上自行重新打开,在 Windows/Linux 上使用品牌图标。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 om/VoiceStudio