Repository navigation
Conversation
…Org#2055) OpenCode Go Responses-format models now send temperature only for verified model and reasoning-effort combinations. This applies to both the streaming and non-streaming Responses requests. The settings UI uses the same rule: it hides the temperature control when the value would not be sent. Hiding the control does not clear or reset a saved temperature. - grok-4.6, muse-spark-1.3-contributor and muse-spark-1.2-contributor: temperature is sent at any reasoning effort. - gpt-5.6-luna and gpt-6-luna: temperature is sent only when the effective reasoning effort is "none". At other efforts the gateway returns HTTP 400 for every value except 1, which is the OpenAI reasoning default rather than real support, so the value is left out. - Temperature is sent only when the user has set a custom value. The provider default is never sent on this route. Changes: - types: add OPENCODE_GO_TEMPERATURE_REASONING_EFFORTS and opencodeGoResponsesSupportsTemperature(), and set supportsTemperature on every Responses model. - handler: add getResponsesTemperature(), which reads the raw modelTemperature setting and applies the opt-in rule; remove the unused temperature parameter from streamResponsesMessage; update the route comments so they no longer say the Responses route is Luna-only. - webview: add isTemperatureControlSupported(), which ApiOptions uses to decide whether to show TemperatureControl. It works out the effective reasoning effort the same way the request builder does. - tests: cover the rule, the model registry, the fetcher merge, both request modes, a stale "none" effort while reasoning is switched off, and the UI visibility round trip with the saved value kept. Shared transforms (getModelParams, RouterProvider) are unchanged. Refs Zoo-Code-Org#2006 Closes Zoo-Code-Org#2055 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📜 Recent review details
📝 Summary
Merge Risk: ⚪ Minimal · up to
|
Review statusThanks for contributing. This comment tracks the review sequence and the next action. Current step: The required review sequence passed. Remaining merge requirements apply. Review-state labels are managed by this workflow; do not edit them manually. |
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
taltas
left a comment
There was a problem hiding this comment.
Looks clean to me, thanks for the contribution 🙌
OpenCode Go Responses-format models now send temperature only for verified model and reasoning-effort combinations. This applies to both the streaming and non-streaming Responses requests. The settings UI uses the same rule: it hides the temperature control when the value would not be sent. Hiding the control does not clear or reset a saved temperature.
Related GitHub Issue
Refs #2006
Closes #2055
Description
Shared transforms (getModelParams, RouterProvider) are unchanged.
Test Procedure
Tested extensively with all 5 named models, and tested with the prompt enhancement feature. Observed varying degrees of performance and generally functional. (noticed poor performance and high failure rate with the extreme low and extreme high temperature values - seems typical of the model responses observed while testing #2006).
Pre-Submission Checklist
*.visual.tsxsnapshot inwebview-ui/. Seewebview-ui/AGENTS.md→ "When a UI change needs a snapshot".Visual Snapshots
N/A. The change is behavior-only: it changes when the existing temperature control is shown for OpenCode Go Responses models, and the control's look is unchanged. The visibility rule is covered in Vitest (temperatureSupport.spec.ts, ApiOptions.spec.tsx), per webview-ui/AGENTS.md.
Videos (interaction / animation only)
https://github.com/user-attachments/assets/831a9fbb-d22b-45ca-98ef-85b0f97d597e
Shows some testing of various models using streaming path (via Ask agent) + mitmproxy to verify request payload
https://github.com/user-attachments/assets/1d7d4d5a-3028-4753-901d-7107170b1ea8
Shows some testing of various models using non-streaming path (via prompt-enhancement tab) + mitmproxy to verify request payload
Documentation Updates
[*] No documentation updates are required.
No docs page in this repo explains OpenCode Go settings or temperature. OpenCode Go appears only in the README's release highlights and in CHANGELOG/README translations, which are updated in bulk at release time.
The change is self-explanatory in the UI: the temperature control appears when it works and is hidden when it doesn't, and a saved value is never lost.
The rationale (Luna accepts temperature only at reasoning effort "none") goes in the [ENHANCEMENT] Support verified temperature capability for OpenCode Go Responses models #2055 closing comment and the code JSDoc, not user docs.
Get in Touch
Discord: anthony_25019