fix(connect): OpenCode contextWindowSize nutzt echten Modell-Kontext
openCodeBlock() baut jetzt Modell-Objekte statt nur ID-Strings, damit
m.meta.ctx ausgelesen werden kann. contextWindowSize wird korrekt auf
den konfigurierten Kontext gesetzt (Standard: 131072 = 128k).
Vorher: { "name": "coder" } (kein Kontexthinweis → AI-SDK-Default)
Nachher: { "name": "coder", "contextWindowSize": 131072 }
Identisches Problem wie bei Zed max_tokens (war 32768 hardcoded).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -33,8 +33,14 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function openCodeBlock(url: string, ids: string[]) {
|
function openCodeBlock(url: string, ids: string[]) {
|
||||||
const list = ids.length ? ids : (allModels.length ? allModels.map((m: any) => m.name) : ['coder'])
|
// Modell-Objekte mit Meta (für ctx) statt nur IDs
|
||||||
const modelMap = list.map((id: string) => ` "${id}": { "name": "${id}" }`).join(',\n')
|
const ms = ids.length
|
||||||
|
? allModels.filter((m: any) => ids.includes(m.name))
|
||||||
|
: (allModels.length ? allModels : [{ name: 'coder', meta: {} }])
|
||||||
|
const modelMap = ms.map((m: any) => {
|
||||||
|
const ctx = m.meta?.ctx || 131072 // konfigurierten Kontext übergeben (Standard: 128k)
|
||||||
|
return ` "${m.name}": { "name": "${m.name}", "contextWindowSize": ${ctx} }`
|
||||||
|
}).join(',\n')
|
||||||
return `"provider": {\n "llama-swap": {\n "npm": "@ai-sdk/openai-compatible",\n "name": "Bosgame (llama-swap)",\n "options": {\n "baseURL": "${url}",\n "apiKey": "local"\n },\n "models": {\n${modelMap}\n }\n }\n}`
|
return `"provider": {\n "llama-swap": {\n "npm": "@ai-sdk/openai-compatible",\n "name": "Bosgame (llama-swap)",\n "options": {\n "baseURL": "${url}",\n "apiKey": "local"\n },\n "models": {\n${modelMap}\n }\n }\n}`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Vendored
+10
-10
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user