fix(providers): refresh Moonshot model list with current Kimi lineup - #10696
Conversation
The moonshot declarative provider shipped a stale static model list from aaif-goose#7304 (kimi-latest, kimi-k2-0711, moonshot-v1-8k/32k, ...), none of which the API serves anymore. When /v1/models discovery is unavailable, goose falls back to this list, so current models like kimi-k3 were not selectable. Replace with the current lineup from the canonical registry: kimi-k2-0711/0905/turbo previews, kimi-k2-thinking(+turbo), kimi-k2.5/2.6, kimi-k2.7-code(+highspeed), and kimi-k3 (1M context). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 02b5f86074
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| {"name": "kimi-k2", "context_limit": 262144}, | ||
| {"name": "moonshot-v1-8k", "context_limit": 8192}, | ||
| {"name": "moonshot-v1-32k", "context_limit": 32768} | ||
| {"name": "kimi-k2-0711-preview", "context_limit": 131072}, |
There was a problem hiding this comment.
Put an appropriate Moonshot default model first
When Moonshot is configured without an explicit model, register_with_name_impl derives default_model from config.models.first() (crates/goose/src/providers/provider_registry.rs:226-230). Replacing the moving kimi-latest default with the oldest kimi-k2-0711-preview entry therefore silently makes every default-model flow use the 131K text-only preview rather than one of the current Kimi models; reorder the list so the intended current default is first.
Useful? React with 👍 / 👎.
| {"name": "moonshot-v1-32k", "context_limit": 32768} | ||
| {"name": "kimi-k2-0711-preview", "context_limit": 131072}, | ||
| {"name": "kimi-k2-0905-preview", "context_limit": 262144}, | ||
| {"name": "kimi-k2-thinking", "context_limit": 262144}, |
There was a problem hiding this comment.
Expose the new Kimi models as reasoning-capable
For kimi-k2-thinking and the other newly added reasoning models, omitting reasoning metadata leaves ModelInfo.reasoning false, while canonical lookup cannot recover it because Goose identifies this provider as moonshot but the registry entries are under moonshotai/moonshotai-cn. In Desktop, the model selector only shows thinking controls when this capability resolves true, so users selecting these models cannot configure thinking effort; map the provider to the canonical Moonshot family or explicitly propagate the models' reasoning capability.
Useful? React with 👍 / 👎.
Summary
moonshotdeclarative provider shipped a stale static model list from feat: add Moonshot and Kimi Code declarative providers #7304 (kimi-latest,kimi-k2-0711,moonshot-v1-8k/32k, ...), none of which the API serves anymore/v1/modelsdiscovery is unavailable, goose falls back to this list — so current models likekimi-k3were not selectablekimi-k2-0711/0905/turbo-preview,kimi-k2-thinking(-turbo),kimi-k2.5,kimi-k2.6,kimi-k2.7-code(-highspeed),kimi-k3(1M context)Test plan
cargo test -p goose-providers(86 pass)cargo clippy -p goose-providers --all-targets -- -D warningscanonical_models.json(moonshotai/*entries)