Repository navigation
Conversation
|
The following comment was made by an LLM, it may be inaccurate: |
|
This hook appears to provide the missing pre-resolution seam for the Jev router in this task. One additional contract matters for prompt-based routing: pick the model for a newly admitted user turn, retain that choice for the turn's tool continuations/retries/compaction recovery, and resolve a queued user turn independently when it begins. The current There is also a feedback requirement: plugins need the effective per-turn model reflected in the TUI and desktop while preserving the user's persistent session default. Since this PR intentionally leaves the Session's selected model unchanged, could the PR document how clients observe the effective model for each response, or add that signal if it is not already available? A regression test with prompt A -> tool call -> queued prompt B would help: A's continuation must use A's selected model, then B must independently select its own model. Retrying/compaction should retain A's model. This request is specifically to preserve one choice per user prompt; automatic re-selection on each continuation would change the intended Jev routing behavior. |
|
Automated PR Cleanup Thank you for contributing to opencode. Due to the high volume of PRs from users and AI agents, we periodically close older PRs using automated criteria so maintainers can focus review time on the most active and community-supported contributions. This PR was closed because it matched the following cleanup criteria:
PRs created within the last month are not affected by this cleanup. If you believe this PR was closed incorrectly, or if you are still actively working on it, please leave a comment explaining why it should be reopened. A maintainer can review and reopen it if appropriate. Thanks again for taking the time to contribute. |
Issue for this PR
Type of change
What does this PR do?
Adds a model.select hook what lets plugins dynamically select the model before each provider turn, instead of using one model for the entire task. This enables routing simpler steps to cheaper models while reserving more capable models for complex work
How did you verify your code works?
I tested locally and added a test.
Screenshots / recordings
Not necessary
Checklist