fix: opencode reasoning profile matches DeepSeek API shape#671
Conversation
OpenCode at https://opencode.ai/zen/v1 proxies to DeepSeek models, but its reasoning profile used GenericLevel (reasoning_level) and ChatTemplateKwargs (chat_template_kwargs) — the vLLM/SGLang self-hosted keys that DeepSeek's hosted API ignores. Switch to TopLevelEffort (reasoning_effort) + ThinkingToggle (thinking: {type: disabled}), matching the built-in DeepSeek provider. This enables both deep thinking mode and correct one-shot disable.
|
Looks good, if you can fix a few errors in the CI, happy to merge it in. |
The reasoning_disable_shapes_per_provider test had opencode listed
under the old chat_template_kwargs assertion. Move it to the
thinking:{type:disabled} group to match the profile change.
thanks! |
|
Thanks for the PR, I'll roll it into the next release today or tomorrow. |
|
side note: this change is not showing up in the changelog. |
|
oh right, let me update that |
thanks! building from source on a macbook neo is tough so i'm using the binaries here. |
|
yeah the big downside with Rust is that build times get kind of insane |
yeah. i was hoping for things to improve over time.. |
|
same... |
|
guess you tried all the relevant things in articles like https://corrode.dev/blog/tips-for-faster-rust-compile-times/ ? |
|
I did one round, but I think could probably revisit that again |
Defer the critic on a parent turn waiting for coordinated subagents, and normalize blank task retry ids (dirge-code#679). Also backfill CHANGELOG: coordinated subagent dispatch (dirge-code#670) under 0.19.10 and the OpenCode reasoning fix (dirge-code#671) under 0.19.9, which shipped but weren't recorded.
OpenCode at https://opencode.ai/zen/v1 proxies to DeepSeek models, but its reasoning profile used
GenericLevel(reasoning_level) andChatTemplateKwargs(chat_template_kwargs) — the vLLM/SGLang self-hosted keys that DeepSeek's hosted API ignores.Switch to
TopLevelEffort(reasoning_effort) +ThinkingToggle(thinking: {type: disabled}), matching the built-in DeepSeek provider. This enables both deep thinking mode and correct one-shot disable.