From 9a63d565aa7519505130df3bc03d66f057538499 Mon Sep 17 00:00:00 2001 From: Yufeng He <40085740+he-yufeng@users.noreply.github.com> Date: Mon, 22 Jun 2026 22:45:24 +0800 Subject: [PATCH] fix(cli): detect USE_OPENAI auth when the model is set via QWEN_MODEL (#5647) getAuthTypeFromEnv() only accepted OPENAI_MODEL as the model env var for USE_OPENAI, but QWEN_MODEL is an equally valid one: it is listed in AUTH_ENV_MODEL_VARS[USE_OPENAI], documented in the function's own comment, and honored by the model-resolution path. As a result a config that sets OPENAI_API_KEY + QWEN_MODEL + OPENAI_BASE_URL (without OPENAI_MODEL) failed auth detection and returned undefined. Accept either OPENAI_MODEL or QWEN_MODEL, matching the rest of the file. Signed-off-by: Yufeng He <40085740+he-yufeng@users.noreply.github.com> --- packages/cli/src/utils/modelConfigUtils.test.ts | 11 +++++++++++ packages/cli/src/utils/modelConfigUtils.ts | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/cli/src/utils/modelConfigUtils.test.ts b/packages/cli/src/utils/modelConfigUtils.test.ts index a8d5337cff..fc9c5b3368 100644 --- a/packages/cli/src/utils/modelConfigUtils.test.ts +++ b/packages/cli/src/utils/modelConfigUtils.test.ts @@ -55,6 +55,17 @@ describe('modelConfigUtils', () => { expect(getAuthTypeFromEnv()).toBe(AuthType.USE_OPENAI); }); + it('should return USE_OPENAI when the model is given via QWEN_MODEL', () => { + // QWEN_MODEL is a valid USE_OPENAI model var (see AUTH_ENV_MODEL_VARS), + // so a config that sets it instead of OPENAI_MODEL must still resolve. + process.env['OPENAI_API_KEY'] = 'test-key'; + process.env['QWEN_MODEL'] = 'qwen3-coder-plus'; + process.env['OPENAI_BASE_URL'] = + 'https://dashscope.aliyuncs.com/compatible-mode/v1'; + + expect(getAuthTypeFromEnv()).toBe(AuthType.USE_OPENAI); + }); + it('should return undefined when OpenAI env vars are incomplete', () => { process.env['OPENAI_API_KEY'] = 'test-key'; process.env['OPENAI_MODEL'] = 'gpt-4'; diff --git a/packages/cli/src/utils/modelConfigUtils.ts b/packages/cli/src/utils/modelConfigUtils.ts index 3f6b52903e..4ca1bbd4f7 100644 --- a/packages/cli/src/utils/modelConfigUtils.ts +++ b/packages/cli/src/utils/modelConfigUtils.ts @@ -102,7 +102,7 @@ export function getAuthTypeFromEnv(): AuthType | undefined { if ( process.env['OPENAI_API_KEY'] && - process.env['OPENAI_MODEL'] && + (process.env['OPENAI_MODEL'] || process.env['QWEN_MODEL']) && process.env['OPENAI_BASE_URL'] ) { return AuthType.USE_OPENAI;