summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/opencode/src/provider/transform.ts20
-rw-r--r--packages/opencode/src/session/prompt.ts2
2 files changed, 17 insertions, 5 deletions
diff --git a/packages/opencode/src/provider/transform.ts b/packages/opencode/src/provider/transform.ts
index a2eda9d4b..7220520f1 100644
--- a/packages/opencode/src/provider/transform.ts
+++ b/packages/opencode/src/provider/transform.ts
@@ -200,10 +200,12 @@ export namespace ProviderTransform {
export function temperature(model: Provider.Model) {
const id = model.id.toLowerCase()
- if (id.toLowerCase().includes("qwen")) return 0.55
- if (id.toLowerCase().includes("claude")) return undefined
- if (id.toLowerCase().includes("gemini-3-pro")) return 1.0
- // if (id.toLowerCase().includes("kimi-k2")) {
+ if (id.includes("qwen")) return 0.55
+ if (id.includes("claude")) return undefined
+ if (id.includes("gemini-3-pro")) return 1.0
+ if (id.includes("glm-4.6")) return 1.0
+ if (id.includes("minimax-m2")) return 1.0
+ // if (id.includes("kimi-k2")) {
// if (id.includes("thinking")) return 1.0
// return 0.6
// }
@@ -211,7 +213,15 @@ export namespace ProviderTransform {
}
export function topP(model: Provider.Model) {
- if (model.api.id.toLowerCase().includes("qwen")) return 1
+ const id = model.id.toLowerCase()
+ if (id.includes("qwen")) return 1
+ if (id.includes("minimax-m2")) return 0.95
+ return undefined
+ }
+
+ export function topK(model: Provider.Model) {
+ const id = model.id.toLowerCase()
+ if (id.includes("minimax-m2")) return 40
return undefined
}
diff --git a/packages/opencode/src/session/prompt.ts b/packages/opencode/src/session/prompt.ts
index c9e24f8ca..51fb49af4 100644
--- a/packages/opencode/src/session/prompt.ts
+++ b/packages/opencode/src/session/prompt.ts
@@ -506,6 +506,7 @@ export namespace SessionPrompt {
? (agent.temperature ?? ProviderTransform.temperature(model))
: undefined,
topP: agent.topP ?? ProviderTransform.topP(model),
+ topK: ProviderTransform.topK(model),
options: pipe(
{},
mergeDeep(ProviderTransform.options(model, sessionID, provider?.options)),
@@ -611,6 +612,7 @@ export namespace SessionPrompt {
stopWhen: stepCountIs(1),
temperature: params.temperature,
topP: params.topP,
+ topK: params.topK,
toolChoice: isLastStep ? "none" : undefined,
messages,
tools: model.capabilities.toolcall === false ? undefined : tools,