Skip to content

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

@appergb

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 workingpriority: highHigh priority

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions