From 38f03c9d8b302a93b9a4d06778809324db168e78 Mon Sep 17 00:00:00 2001 From: Kit Langton Date: Mon, 27 Jul 2026 15:08:03 -0400 Subject: [PATCH] fix(voice): default coding sessions to gpt-5.6-sol medium --- packages/voice/src/spike.ts | 16 +++++++++++++--- packages/voice/src/ui.tsx | 2 ++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/packages/voice/src/spike.ts b/packages/voice/src/spike.ts index c483ed0274..f076e210e1 100644 --- a/packages/voice/src/spike.ts +++ b/packages/voice/src/spike.ts @@ -20,6 +20,9 @@ const args = parseArgs({ directory: { type: "string", default: process.cwd() }, model: { type: "string", default: "gpt-realtime-2.1" }, voice: { type: "string", default: "marin" }, + provider: { type: "string", default: "console-openai" }, + "coding-model": { type: "string", default: "gpt-5.6-sol" }, + variant: { type: "string", default: "medium" }, password: { type: "string" }, // Keep the mic hot while the assistant speaks (voice barge-in). Only // usable with headphones: on speakers the mic hears the assistant and @@ -80,9 +83,16 @@ function latestAssistant(messages: ReadonlyArray) { async function requireSession() { if (activeSessionID) return activeSessionID - const created = await client.session.create({ location: { directory: args.directory! } }) + const created = await client.session.create({ + location: { directory: args.directory! }, + model: { + providerID: args.provider, + id: args["coding-model"], + variant: args.variant, + }, + }) activeSessionID = created.id - ui.meta(`[session] created ${activeSessionID}`) + ui.meta(`[session] created ${activeSessionID} · ${args["coding-model"]}:${args.variant}`) ui.setStatus({ session: activeSessionID }) return created.id } @@ -103,7 +113,7 @@ const ui = tuiActive onCycleVoice: () => cycleVoice(), }) : createConsoleUI() -ui.setStatus({ server: args.server }) +ui.setStatus({ server: args.server, model: `${args["coding-model"]}:${args.variant}` }) ui.meta(`opencode ${args.server} (version ${health.version})`) ui.meta(`project ${args.directory}`) diff --git a/packages/voice/src/ui.tsx b/packages/voice/src/ui.tsx index b782665bd4..6ff1bf1d2b 100644 --- a/packages/voice/src/ui.tsx +++ b/packages/voice/src/ui.tsx @@ -12,6 +12,7 @@ export type VoiceStatus = { session?: string audio?: string voice?: string + model?: string } export type VoiceUI = { @@ -180,6 +181,7 @@ export async function createVoiceTUI(options: { [ state().status.audio ?? "connecting…", state().status.voice, + state().status.model, state().status.session ?? "no session", state().status.server, "v: voice · any key interrupts · ctrl+c quits",