The openrouter default moves its hot tiers: opus to z-ai/glm-5.3-flash and sonnet to deepseek/deepseek-v4-flash-0731. haiku and fable are unchanged. `cheap` and `lmstudio-qwen` are gone, leaving exactly one preset per mode so `claude-mode <mode>` is never ambiguous and there is no menu to read before the thing you asked for happens. The surviving lmstudio preset keeps the Qwen3.6 model rather than KAT-Coder: the two differed mainly in that KAT's chat template carries the message-order assertion this README already warns about, so between two presets that had to become one, the one that is known to work won. More presets are still a `preset new` away; the shipped set is a starting point, not a ceiling. Which is the other half of this. A shipped preset was never a working configuration - OpenRouter and Z.AI have no key stored, and lmstudio's model ids were whatever happened to be installed on the machine this was packaged on. That was left for the user to discover through a failure. Now the shipped presets carry `configured: false`, preflight blocks on it, and `claude-mode setup <mode>` walks through what is actually needed: key, server URL and auth for LM Studio, then models chosen from the provider's own catalogue rather than typed from memory. A switch that trips this in a terminal offers to run setup there and then instead of printing a command to type next. Absent means configured, deliberately: presets that predate this and any built by hand with `preset new` do not suddenly start demanding a wizard. The panel gets a "Set up <mode>…" button that hands the whole flow to a terminal, since a bar popup can host neither a hidden key prompt nor a filter-select list. Two bugs found while testing it, both real: ask_value printed its prompt to stdout while being called inside $( ), so the prompt text came back glued to the front of the answer and set-url rejected the result. Moved to stderr, which is why warn and err already go there. lms_catalogue never sent the API key. On a server with authentication switched on - the case just added support for - /api/v0/models answers 401 like anything else, so the catalogue came back empty and every caller silently concluded the server had no models installed. It now sends the preset's credential, as do the three other call sites that read it.
23 lines
777 B
JSON
23 lines
777 B
JSON
{
|
|
"provider": "lmstudio",
|
|
"description": "Local LM Studio server. Set up picks the model from whatever the server actually has installed.",
|
|
"baseUrl": "http://127.0.0.1:1234",
|
|
"auth": {
|
|
"mode": "literal",
|
|
"token": "lmstudio"
|
|
},
|
|
"models": {
|
|
"opus": "qwen3.6-35b-a3b-uncensored-heretic-native-mtp-preserved",
|
|
"sonnet": "qwen3.6-35b-a3b-uncensored-heretic-native-mtp-preserved",
|
|
"haiku": "qwen3.6-35b-a3b-uncensored-heretic-native-mtp-preserved",
|
|
"fable": "qwen3.6-35b-a3b-uncensored-heretic-native-mtp-preserved"
|
|
},
|
|
"subagentModel": "qwen3.6-35b-a3b-uncensored-heretic-native-mtp-preserved",
|
|
"gatewayModelDiscovery": true,
|
|
"extraEnv": {
|
|
"CLAUDE_CODE_ATTRIBUTION_HEADER": "0"
|
|
},
|
|
"contextTokens": 262144,
|
|
"configured": false
|
|
}
|