From 20bcc65f616da0f9a9fc0db66c2857119414d5d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=9F=E6=9C=88?= Date: Tue, 12 May 2026 22:27:07 +0800 Subject: [PATCH] fix(setup): auto-prefix provider on model input MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Users can now type bare model names (e.g. 'qwen-plus') or paste model IDs with vendor prefixes (e.g. 'MiniMax/MiniMax-M2.7') — the provider prefix is normalised automatically. --- .../cli-workflow/src/commands/setup/dispatch.ts | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/cli-workflow/src/commands/setup/dispatch.ts b/packages/cli-workflow/src/commands/setup/dispatch.ts index f5d250e..a577791 100644 --- a/packages/cli-workflow/src/commands/setup/dispatch.ts +++ b/packages/cli-workflow/src/commands/setup/dispatch.ts @@ -261,17 +261,23 @@ async function collectInteractiveSetup(): Promise> const row = models.slice(i, i + numCols); printCliLine(" " + row.map((m) => m.padEnd(colWidth)).join("")); } - modelPrompt = `\nDefault model — format: ${provider}/: `; + modelPrompt = `\nDefault model (e.g. qwen-plus, MiniMax-M2.7): `; } else { printCliWarn("Could not fetch models (API may not support /models endpoint)."); - modelPrompt = `Default model — format: ${provider}/\n (e.g. ${provider}/gpt-4o, ${provider}/qwen-plus): `; + modelPrompt = `Default model (e.g. qwen-plus, gpt-4o): `; } - const defaultModel = await promptLine(rl2, modelPrompt); - if (defaultModel === "") { + const rawModel = await promptLine(rl2, modelPrompt); + if (rawModel === "") { rl2.close(); return err("default model must not be empty"); } + // Normalise: ensure the model ref uses the configured provider prefix. + // Users may type a bare model name (e.g. "qwen-plus") or paste a model ID + // that already contains a vendor prefix (e.g. "MiniMax/MiniMax-M2.7"). + const defaultModel = rawModel.includes("/") + ? `${provider}/${rawModel.split("/").pop()}` + : `${provider}/${rawModel}`; const wsPath = await promptLine( rl2,