FIRST-RUN SETUP v0.4

引导页配置向导

5 步走完,把麦克风、快捷键、模型、API 与使用心法一次搞清楚。

整体认知

引导页是一张铺满当前应用窗口的「全屏向导」。打开时窗口会自动调整为合适大小(约当前显示器 85% × 88%,最大 1240 × 840 逻辑像素)并居中;左侧 5 个步骤胶囊导航,右侧主区显示当前步骤的卡片,所有非交互区域均可拖动以移动窗口。

触发与跳过逻辑

引导页是否自动弹出,取决于配置文件中 onboarding.completedonboarding.appVersion 两个字段。

场景触发条件结果
首次安装 / 清空配置 config.json 不存在 启动后自动打开引导页
升级安装(版本变化) onboarding.appVersion ≠ 当前应用版本 自动打开(迁移、补差异)
已完成且版本匹配 completed: true 且版本一致 不打开(静默启动)
用户主动重新配置 主面板点击「配置引导页」按钮 从最新配置预填表单并打开
用户跳过 点击「跳过」 写入 skipped: true,本版本不再弹
💡

提示: 主面板顶部「配置引导页」按钮使用紫色渐变样式,与其他普通按钮区别明显,找不到时可注意「配置」卡片右上角。

Step 1 · 系统麦克风

这一步把"录音是否能用"先做掉。

⚠️

注意: 切换页面或关闭引导页时麦克风会立即释放,不会长期占用音频设备。

Step 2 · 快捷键

用一个稳定的「物理按键」来开启 / 停止录音。当前仅支持 6 种推荐键位,不接受任意字母组合(避免与全局快捷键冲突)。

键位Mac 等价说明
Right Alt ★ 推荐⌥ Right Option单手不冲突,是默认值
Left Alt⌥ Left Option左手习惯
Right Ctrl⌃ Right Control右手区低冲突
Left Ctrl⌃ Left Control可能与编辑器冲突
Right Shift⇧ Right Shift与输入法可能冲突
Left Shift⇧ Left Shift与输入法可能冲突

实时按键预览:把鼠标点到深色面板里,按下任意键即可在底部预览。使用 KeyboardEvent.code(AltLeft/AltRight/ControlLeft/...)精确区分左右键;如果按下不支持的键(例如 Win/⌘ 或字母键),只会显示 "(unsupported)",不会写入状态。

⚠️

为何不开放 Win / Cmd? Windows 的 Win 键与 macOS 的 ⌘ 都会触发系统级菜单,作为应用快捷键容易导致弹窗 / 切窗口等副作用。已从可选项中移除。

Step 3 · 模型与参数

三块基础模型一次配齐,后续在主面板还能精细调整:

STT语音识别
  • 识别后端:onnx / whisper / sensevoice / funasr
  • 模型目录:本地模型所在文件夹(含 model.onnx + tokens.jsonmodel.pt + config.yaml
TTS语音合成
  • TTS 模型:auto / qwen3_tts / voxcpm / index_tts2 / vibevoice / volcengine_tts
  • 模型目录:对应模型的本地路径
STS同传源 / 目标语言
  • 源语言:auto / zh / en / ja / ko / yue / fr / de / es
  • 目标语言:同上枚举(不含 auto)
LLM何时填?
  • 翻译 / 总结 / 实时纠错的 LLM 路径,在 Step 4 选择 Provider 后自动写入
  • 本步骤聚焦本地模型,云端凭据下一步统一管理

Step 4 · API 提供商

11 个开箱即用的 Provider,每个卡片展开后填 Base URL、API Key、以及该 Provider 支持的能力(LLM / ASR / TTS / Realtime)对应的模型名。填了 API Key 视为「启用」。

能力填写要点

Step 5 · 使用说明

3 张 SVG 动效卡片帮你 30 秒了解三大场景:

  1. 一键录音 → 转写:按下 Right Alt 开录,再按结束,识别结果实时跟随光标输出。
  2. 语音合成 TTS:在主面板输入文本或选择历史片段,一键朗读,支持声纹克隆。
  3. 同声传译 STS:工作台模式,源语音 → 实时识别 → 目标语言 → TTS 朗读,可保留原始音色。

配置文件结构参考

引导页保存后会写入 ~/.zimablueai_config/config.json,关键字段:

{
  "stt": {
    "inputDeviceName": "耳机式麦克风 (MCP01)",
    "backend": "sensevoice",
    "modelDir": "D:/models/SenseVoiceSmall",
    "hotkey": "RightAlt"
  },
  "tts": {
    "ttsModel": "qwen3_tts",
    "modelDir": "D:/models/qwen3-tts",
    "cloudTtsModel": "speech-01-v2"
  },
  "sts": {
    "sourceLanguage": "zh",
    "targetLanguage": "en"
  },
  "translateApiBaseUrl": "https://api.openai.com/v1",
  "translateApiKey": "sk-***",
  "translateModel": "gpt-4o-mini",
  "translateEnabled": true,
  "onboarding": {
    "completed": true,
    "skipped": false,
    "version": 1,
    "appVersion": "0.4.0",
    "completedAt": "2026-05-11T08:42:13.000Z",
    "providers": {
      "openai": {
        "enabled": true,
        "baseUrl": "https://api.openai.com/v1",
        "apiKey": "sk-***",
        "models": { "llm": "gpt-4o-mini", "tts": "tts-1" }
      }
    }
  }
}
📎

需要重置? 删除 ~/.zimablueai_config/config.json 或将 onboarding.appVersion 改成空字符串即可在下次启动重新弹出引导页。