Skip to content

Commit bc23204

Browse files
committed
respect server suggestion for default model
1 parent 16cab55 commit bc23204

File tree

3 files changed

+12
-5
lines changed

3 files changed

+12
-5
lines changed

packages/opencode/src/cli/cmd/tui/context/local.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,10 +158,10 @@ export const { use: useLocal, provider: LocalProvider } = createSimpleContext({
158158
}
159159
}
160160
const provider = sync.data.provider[0]
161-
const model = Object.values(provider.models)[0]
161+
const model = sync.data.provider_default[provider.id] ?? Object.values(provider.models)[0].id
162162
return {
163163
providerID: provider.id,
164-
modelID: model.id,
164+
modelID: model,
165165
}
166166
})
167167

packages/opencode/src/cli/cmd/tui/context/sync.tsx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,15 @@ import { Binary } from "@/util/binary"
1919
import { createSimpleContext } from "./helper"
2020
import type { Snapshot } from "@/snapshot"
2121
import { useExit } from "./exit"
22-
import { onMount } from "solid-js"
22+
import { batch, onMount } from "solid-js"
2323

2424
export const { use: useSync, provider: SyncProvider } = createSimpleContext({
2525
name: "Sync",
2626
init: () => {
2727
const [store, setStore] = createStore<{
2828
status: "loading" | "partial" | "complete"
2929
provider: Provider[]
30+
provider_default: Record<string, string>
3031
agent: Agent[]
3132
command: Command[]
3233
permission: {
@@ -61,6 +62,7 @@ export const { use: useSync, provider: SyncProvider } = createSimpleContext({
6162
permission: {},
6263
command: [],
6364
provider: [],
65+
provider_default: {},
6466
session: [],
6567
session_status: {},
6668
session_diff: {},
@@ -233,7 +235,12 @@ export const { use: useSync, provider: SyncProvider } = createSimpleContext({
233235
onMount(() => {
234236
// blocking
235237
Promise.all([
236-
sdk.client.config.providers({ throwOnError: true }).then((x) => setStore("provider", x.data!.providers)),
238+
sdk.client.config.providers({ throwOnError: true }).then((x) => {
239+
batch(() => {
240+
setStore("provider", x.data!.providers)
241+
setStore("provider_default", x.data!.default)
242+
})
243+
}),
237244
sdk.client.app.agents({ throwOnError: true }).then((x) => setStore("agent", x.data ?? [])),
238245
sdk.client.config.get({ throwOnError: true }).then((x) => setStore("config", x.data!)),
239246
])

packages/opencode/src/provider/provider.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -627,7 +627,7 @@ export namespace Provider {
627627
}
628628
}
629629

630-
const priority = ["gemini-2.5-pro-preview", "gpt-5", "claude-sonnet-4"]
630+
const priority = ["gemini-2.5-pro-preview", "gpt-5", "claude-sonnet-4", "big-pickle"]
631631
export function sort(models: ModelsDev.Model[]) {
632632
return sortBy(
633633
models,

0 commit comments

Comments
 (0)