Skip to content

故障排查

401 Unauthorized

检查:

  • 是否带上了 Authorization 请求头
  • 是否使用了 Bearer <token> 格式
  • /v1/* 是否使用的是 external API key
  • 该 key 是否已经被吊销

本地语音模型未激活

如果桌面录音或 /v1/audio/transcriptions 在转录前就失败,请检查:

  • 打开 设置 -> Local speech models
  • 下载一个内置模型,例如 Whisper BaseWhisper SmallSenseVoice,或手动放入兼容的 Whisper.cpp .bin 模型
  • 激活当前宿主要使用的模型

这个排查只适用于 设置 -> Routing and models -> STT mode 设为 Local 的情况。

设置改了但似乎没有生效

现在设置会在每次调整后自动保存。

如果听写优先级、Provider 或路由切换后看起来没有生效,请检查:

  • 先等设置页底部状态从 保存中... 恢复
  • 重新打开 设置,确认刚才修改的值仍然被选中
  • 等自动保存完成后再重新尝试一次听写

已切到云端 STT 但转录仍然失败

请检查:

  • 设置 -> Routing and models -> STT mode 已切到 Cloud
  • 已选择可用的云端 STT provider
  • 该 provider profile 没有被禁用
  • 该 provider 的 API key 已经配置
  • 云端 STT model 名称与该 provider 匹配

测试平台里的 Smart Clean 看起来没有变化

这通常不是 bug。

Prompt Lab 里的 Smart Clean 只执行本地清洗规则,不会调用 Provider、模型、Preset 或 Prompt Override。若输入里没有明显的低风险口头语、重复词或改口,它就可能保持原文不变,同时显示类似 本地规则 · <1ms 的耗时。

测试平台里的 Polished 提示 Add the API key for groq in Settings first

这表示云端请求在真正发出前就被拦住了,因为当前选中的文本变换 Provider 没有可用 API key。

请检查:

  • 设置 -> Provider profiles 里已经为对应 Provider 填好了 API key
  • 该 provider profile 处于启用状态
  • 所选模型对这个 Provider 是有效的

然后重新打开测试平台或重新运行对比。

测试平台里的 Prompt Override 像是没有生效

Prompt Override 只对 Polished 生效。

如果你把自定义 Prompt 填进 Smart Clean 列,它不会被使用,因为 V1 的 Smart Clean 被设计成纯本地规则链路。

whisper-rs-sys 编译失败

如果你在 Windows 上执行 npm run devcargo check 时卡在 whisper-rs-sys

  • 先尝试 npm run cargo:check,它会优先自动探测常见的 Windows libclang 安装位置
  • 确认机器上有可用的 64-bit libclang.dll
  • LIBCLANG_PATH 指向该 DLL 所在目录
  • 重新打开终端后再重试

这属于本地 Whisper 运行时的构建前提,不是接口配置错误。

Windows 上的 ONNX Runtime 或 SenseVoice 启动失败

如果桌面 App 在准备内置 SenseVoice 运行时时失败,请检查:

  • 尽量通过仓库脚本启动,例如 npm run devnpm run buildnpm run cargo:check
  • 不要直接在绕过 scripts/with-libclang.mjs 的 shell 里运行 cargo
  • 只有在脚本明确提示下载包损坏时,才删除残留的 ONNX Runtime 临时文件后重试

仓库的启动脚本现在会自动下载并接入 Windows 所需的 ONNX Runtime 文件。

macOS 上全局快捷键没有触发

请检查:

  • 系统设置 -> 隐私与安全性 -> 辅助功能 中,已经允许你当前实际启动 VILab 的终端、Codex 宿主或打包后的 VILab.app
  • 你当前运行的是已经包含 macOS 事件监听式快捷键后端的新版本
  • 当前快捷键里至少包含 CommandControl
  • 当前组合没有撞上明显的系统保留快捷键,例如 Cmd+SpaceCmd+Option+Space

当前 macOS 默认快捷键是 Cmd+Shift+Option+D

macOS 上录音结束后能转写,但动画看起来几乎没反应

如果最终仍然能输出转录文本,通常说明麦克风音频已经正常传入模型。

请检查:

  • App 已获得麦克风权限
  • 当前运行版本是 0.1.6 或更高版本,这个版本增强了 macOS 录音动画使用的电平映射
  • 你测试的是最新一次 npm run dev 会话,或重新打包后的新 App

这种现象通常是 UI 电平映射偏弱,不是转录链路本身失败。

Windows Release 启动后闪退

如果 Windows 的安装包点击后立刻退出,请按这个顺序提交问题:

  • 打开 %APPDATA%\\com.vilab.desktop\\startup-trace.log
  • GitHub Issues 提一个 issue
  • startup-trace.log 附上去,同时说明 Windows 版本、安装包版本,以及是否在首次启动时出现该问题

如果 %APPDATA%\\com.vilab.desktop\\startup-trace.log 没有生成或是空的,也请在 issue 里直接说明。

服务不可达

检查:

  • 桌面 App 是否正在运行
  • Server URL 是否配置正确
  • 宿主机防火墙是否已放行服务端口
  • 客户端调用的是否是可达的局域网 IP 或主机名

局域网客户端无法连接

检查:

  • 服务是否仍然只绑定在 127.0.0.1
  • 客户端与宿主机是否在同一网络
  • 安全软件是否拦截了服务端口

模型不支持

/v1/audio/transcriptions 目前只接受:

  • /health 返回的当前公开 STT 模型别名

如果传入其他 model 值,服务会返回 400 Unsupported model

音频格式不支持

当前本地 HTTP 转录接口只接受 WAV。

如果你传入其他容器或编码,请先转换成 WAV 再调用 /v1/audio/transcriptions

Public release docs and self-hosted deployment guidance.