背景
跨端逻辑审计时发现,QA 浮窗的 ASR 凭证预检和实际启动的 ASR provider 不一致。
证据
openless-all/app/src-tauri/src/coordinator.rs:1748-1751:begin_qa_session 调用 ensure_asr_credentials()。
openless-all/app/src-tauri/src/coordinator.rs:1541-1552:ensure_asr_credentials() 按当前 active ASR provider 校验;active 为 whisper 时只要求 asr.api_key,否则要求 Volcengine app/access keys。
openless-all/app/src-tauri/src/coordinator.rs:1760-1764:QA 实际强制走 VolcengineStreamingASR,读取 read_volc_credentials()。
影响
这会造成两类错误体验:
- 用户选择 Whisper 且 Whisper 凭证存在,但 Volcengine 凭证缺失:预检通过,QA 启动后 Volcengine 流式 ASR 失败。
- 用户选择 Whisper 但 Whisper key 缺失,同时 Volcengine 凭证存在:QA 被预检错误拦截,尽管实际 QA 路径需要的是 Volcengine。
跨 Windows / Linux / macOS 都会受影响,因为这是共享 coordinator 逻辑。
建议修复
二选一:
- 如果 QA 设计上固定使用 Volcengine 流式 ASR:为 QA 单独做 Volcengine 凭证预检,并返回 QA 专属错误文案。
- 如果 QA 应跟随用户 ASR 设置:让 QA session 使用 active ASR provider,而不是硬编码
VolcengineStreamingASR。
验收标准
- active ASR = Whisper 时,不会出现“预检 provider”和“实际 provider”不一致。
- Volcengine 凭证缺失时,QA 在开始前给出明确、准确的配置提示。
- macOS / Windows / Linux 共用路径表现一致。
背景
跨端逻辑审计时发现,QA 浮窗的 ASR 凭证预检和实际启动的 ASR provider 不一致。
证据
openless-all/app/src-tauri/src/coordinator.rs:1748-1751:begin_qa_session调用ensure_asr_credentials()。openless-all/app/src-tauri/src/coordinator.rs:1541-1552:ensure_asr_credentials()按当前 active ASR provider 校验;active 为whisper时只要求asr.api_key,否则要求 Volcengine app/access keys。openless-all/app/src-tauri/src/coordinator.rs:1760-1764:QA 实际强制走VolcengineStreamingASR,读取read_volc_credentials()。影响
这会造成两类错误体验:
跨 Windows / Linux / macOS 都会受影响,因为这是共享 coordinator 逻辑。
建议修复
二选一:
VolcengineStreamingASR。验收标准