mirror of
https://github.com/aljazceru/opencode.git
synced 2026-02-23 08:45:13 +01:00
respect server suggestion for default model
This commit is contained in:
@@ -158,10 +158,10 @@ export const { use: useLocal, provider: LocalProvider } = createSimpleContext({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
const provider = sync.data.provider[0]
|
const provider = sync.data.provider[0]
|
||||||
const model = Object.values(provider.models)[0]
|
const model = sync.data.provider_default[provider.id] ?? Object.values(provider.models)[0].id
|
||||||
return {
|
return {
|
||||||
providerID: provider.id,
|
providerID: provider.id,
|
||||||
modelID: model.id,
|
modelID: model,
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ import { Binary } from "@/util/binary"
|
|||||||
import { createSimpleContext } from "./helper"
|
import { createSimpleContext } from "./helper"
|
||||||
import type { Snapshot } from "@/snapshot"
|
import type { Snapshot } from "@/snapshot"
|
||||||
import { useExit } from "./exit"
|
import { useExit } from "./exit"
|
||||||
import { onMount } from "solid-js"
|
import { batch, onMount } from "solid-js"
|
||||||
|
|
||||||
export const { use: useSync, provider: SyncProvider } = createSimpleContext({
|
export const { use: useSync, provider: SyncProvider } = createSimpleContext({
|
||||||
name: "Sync",
|
name: "Sync",
|
||||||
@@ -27,6 +27,7 @@ export const { use: useSync, provider: SyncProvider } = createSimpleContext({
|
|||||||
const [store, setStore] = createStore<{
|
const [store, setStore] = createStore<{
|
||||||
status: "loading" | "partial" | "complete"
|
status: "loading" | "partial" | "complete"
|
||||||
provider: Provider[]
|
provider: Provider[]
|
||||||
|
provider_default: Record<string, string>
|
||||||
agent: Agent[]
|
agent: Agent[]
|
||||||
command: Command[]
|
command: Command[]
|
||||||
permission: {
|
permission: {
|
||||||
@@ -61,6 +62,7 @@ export const { use: useSync, provider: SyncProvider } = createSimpleContext({
|
|||||||
permission: {},
|
permission: {},
|
||||||
command: [],
|
command: [],
|
||||||
provider: [],
|
provider: [],
|
||||||
|
provider_default: {},
|
||||||
session: [],
|
session: [],
|
||||||
session_status: {},
|
session_status: {},
|
||||||
session_diff: {},
|
session_diff: {},
|
||||||
@@ -233,7 +235,12 @@ export const { use: useSync, provider: SyncProvider } = createSimpleContext({
|
|||||||
onMount(() => {
|
onMount(() => {
|
||||||
// blocking
|
// blocking
|
||||||
Promise.all([
|
Promise.all([
|
||||||
sdk.client.config.providers({ throwOnError: true }).then((x) => setStore("provider", x.data!.providers)),
|
sdk.client.config.providers({ throwOnError: true }).then((x) => {
|
||||||
|
batch(() => {
|
||||||
|
setStore("provider", x.data!.providers)
|
||||||
|
setStore("provider_default", x.data!.default)
|
||||||
|
})
|
||||||
|
}),
|
||||||
sdk.client.app.agents({ throwOnError: true }).then((x) => setStore("agent", x.data ?? [])),
|
sdk.client.app.agents({ throwOnError: true }).then((x) => setStore("agent", x.data ?? [])),
|
||||||
sdk.client.config.get({ throwOnError: true }).then((x) => setStore("config", x.data!)),
|
sdk.client.config.get({ throwOnError: true }).then((x) => setStore("config", x.data!)),
|
||||||
])
|
])
|
||||||
|
|||||||
@@ -627,7 +627,7 @@ export namespace Provider {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const priority = ["gemini-2.5-pro-preview", "gpt-5", "claude-sonnet-4"]
|
const priority = ["gemini-2.5-pro-preview", "gpt-5", "claude-sonnet-4", "big-pickle"]
|
||||||
export function sort(models: ModelsDev.Model[]) {
|
export function sort(models: ModelsDev.Model[]) {
|
||||||
return sortBy(
|
return sortBy(
|
||||||
models,
|
models,
|
||||||
|
|||||||
Reference in New Issue
Block a user