Files
dotfiles/common/opencode/local.json
T
connorandClaude Opus 5 e25bb71fb7 opencode: local agents to qwen3.8-27b-gsq-s at MEDIUM reasoning
dev, architect, review, duck and brainstorm move from
litellm/muse-glimmer-30b-low to litellm/qwen3.8-27b-gsq-s-med, in both the
local-only and personal profiles. Glimmer's model entries are left in place so
reverting is a one-line change.

⚠ MEDIUM, not low -- do not "align" this with the -low convention Glimmer uses.
Qwen's own model card: "lower reasoning effort does not always reduce overall
task completion time" on multi-turn agentic work, because insufficient analysis
causes more failed actions and retries, raising latency AND total tokens. The
low-effort result that justifies muse-glimmer-30b-low was measured on Glimmer
and does not transfer.

⚠ The key is reasoning_effort, NOT Glimmer's reasoning_strength. The wrong key
is dropped by kwarg filtering before it reaches the template, returns 200, and
silently leaves the model at its default -- which for qwen3.8 is xhigh. Levels
are low / medium / xhigh; there is no `high`.

Verified the control actually moves rather than merely being accepted:
171 reasoning tokens at low against 430 at medium on one prompt.

Requires qwen3.8-27b-gsq-s-med in ~/config/litellm/config.yaml (untracked;
snapshot at config.yaml.pre-qwen38low).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FZomrX5fYmPYLusxcXTwvq
2026-09-29 11:32:37 -04:00

155 lines
3.7 KiB
JSON

{
"$schema": "https://opencode.ai/config.json",
"provider": {
"litellm": {
"npm": "@ai-sdk/openai-compatible",
"name": "LiteLLM \u00b7 LOCAL-ONLY",
"options": {
"baseURL": "{env:LITELLM_BASE}/v1",
"apiKey": "{env:LITELLM_KEY}"
},
"models": {
"gpt-oss-20b": {
"name": "gpt-oss-20b (local, resident)",
"limit": {
"context": 65536,
"output": 8192
},
"cost": {
"input": 0.0,
"output": 0.0,
"cache_read": 0.0,
"cache_write": 0.0
}
},
"qwen3-coder-30b": {
"name": "qwen3-coder-30b (local, on demand)",
"limit": {
"context": 32768,
"output": 8192
},
"cost": {
"input": 0.0,
"output": 0.0,
"cache_read": 0.0,
"cache_write": 0.0
}
},
"gemma3-12b": {
"name": "gemma3-12b (local, on demand)",
"limit": {
"context": 32768,
"output": 8192
},
"cost": {
"input": 0.0,
"output": 0.0,
"cache_read": 0.0,
"cache_write": 0.0
}
},
"local/librarian": {
"name": "Librarian - local gpt-oss",
"limit": {
"context": 65536,
"output": 8192
},
"cost": {
"input": 0.0,
"output": 0.0,
"cache_read": 0.0,
"cache_write": 0.0
}
},
"local/explore": {
"name": "Explore - local gpt-oss",
"limit": {
"context": 65536,
"output": 8192
},
"cost": {
"input": 0.0,
"output": 0.0,
"cache_read": 0.0,
"cache_write": 0.0
}
},
"muse-glimmer-30b-low": {
"name": "Muse Glimmer 30B (local, low reasoning)",
"limit": {
"context": 131072,
"output": 8192
},
"cost": {
"input": 0.0,
"output": 0.0,
"cache_read": 0.0,
"cache_write": 0.0
}
},
"qwen3.8-27b-gsq-s-low": {
"name": "Qwen3.8-27B GSQ IQ3_S (local, low reasoning)",
"limit": {
"context": 131072,
"output": 8192
},
"cost": {
"input": 0.0,
"output": 0.0,
"cache_read": 0.0,
"cache_write": 0.0
}
},
"qwen3.8-27b-gsq-s-med": {
"name": "Qwen3.8-27B GSQ IQ3_S (local, medium reasoning)",
"limit": {
"context": 131072,
"output": 8192
},
"cost": {
"input": 0.0,
"output": 0.0,
"cache_read": 0.0,
"cache_write": 0.0
}
},
"muse-glimmer-30b": {
"name": "Muse Glimmer 30B (local, full reasoning - slow)",
"limit": {
"context": 131072,
"output": 8192
},
"cost": {
"input": 0.0,
"output": 0.0,
"cache_read": 0.0,
"cache_write": 0.0
}
}
}
}
},
"enabled_providers": [
"litellm"
],
"model": "litellm/local/librarian",
"small_model": "litellm/local/librarian",
"agent": {
"dev": {
"model": "litellm/qwen3.8-27b-gsq-s-med"
},
"architect": {
"model": "litellm/qwen3.8-27b-gsq-s-med"
},
"review": {
"model": "litellm/qwen3.8-27b-gsq-s-med"
},
"duck": {
"model": "litellm/qwen3.8-27b-gsq-s-med"
},
"brainstorm": {
"model": "litellm/qwen3.8-27b-gsq-s-med"
}
}
}