get_credentials 不再把 ASR 配置状态硬编码为 Volcengine,而是返回 active provider 与通用 asrConfigured/llmConfigured。前端 provider setup prompt 与 Overview 改为读取通用状态并展示 active provider 名称,避免 Whisper-compatible 用户已配置却持续被提示未配置。配置完成判定统一为 API Key 可空但 endpoint/model 必须存在:云端 ASR 需 endpoint/model,LLM 需 endpoint/model。保留旧字段做兼容过渡。
Constraint: 最小修改原则,保持现有 provider 凭据存储结构不变
Rejected: 只按 ASR API key 标记已配置 | keyless provider 会被误判,且 endpoint/model 缺失仍不可运行
Rejected: 彻底移除旧 volcengineConfigured/arkConfigured 字段 | 需要分阶段兼容前端调用
Confidence: high
Scope-risk: moderate
Reversibility: clean
Directive: Provider configured 表示具备 endpoint/model 基础配置;连接有效性仍由验证按钮负责
Tested: npm run -s build
Tested: cargo test -q (74 passed)
Related: Open-Less#223
User description
变更说明
get_credentials()改为基于 active ASR provider 计算配置状态,新增返回字段:activeAsrProvideractiveLlmProviderasrConfiguredllmConfiguredvolcengine:仍按appKey + accessKey + resourceId判定。local-qwen3:不依赖云端凭据,视为已配置。asr.endpoint + asr.model判定,API Key 可空以支持 keyless endpoint。ark.endpoint + ark.model_id判定,API Key 可空。providerSetup改为使用通用asrConfigured/llmConfigured,不再硬依赖volcengineConfigured。OverviewASR/LLM 卡片改为显示 active provider 名称与其真实配置状态,不再固定显示火山引擎状态。volcengineConfigured/arkConfigured作为兼容过渡。验证
npm run -s buildcargo test -q(74 passed)影响与风险
Closes #223
PR Type
Bug fix, Tests
Description
Active provider drives status checks
Add ASR/LLM status fields
Refresh overview and prompts
Expand regression coverage
Diagram Walkthrough
File Walkthrough
2 files
Compute active-provider credential statusAccept new and legacy flags4 files
Snapshot ASR credential fieldsExtend credentials status contractAdd active provider status fieldsShow active provider names and state1 files
Update mocked credentials status shape1 files
Cover active-provider setup logic