fix(voice): default coding sessions to gpt-5.6-sol medium

This commit is contained in:
Kit Langton 2026-07-27 15:08:03 -04:00
commit 38f03c9d8b
2 changed files with 15 additions and 3 deletions

View file

@ -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<SessionMessageInfo>) {
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}`)

View file

@ -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",