Skip to content

[qa] QA 流式 ASR 凭证预检与实际 Volcengine provider 不一致 #218

Description

@appergb

背景

跨端逻辑审计时发现,QA 浮窗的 ASR 凭证预检和实际启动的 ASR provider 不一致。

证据

  • openless-all/app/src-tauri/src/coordinator.rs:1748-1751begin_qa_session 调用 ensure_asr_credentials()
  • openless-all/app/src-tauri/src/coordinator.rs:1541-1552ensure_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()

影响

这会造成两类错误体验:

  1. 用户选择 Whisper 且 Whisper 凭证存在,但 Volcengine 凭证缺失:预检通过,QA 启动后 Volcengine 流式 ASR 失败。
  2. 用户选择 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 共用路径表现一致。

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions