Skip to content

Centralize model picker list and surface 10 curated models#13

Merged
joch merged 1 commit into
mainfrom
update-models
May 8, 2026
Merged

Centralize model picker list and surface 10 curated models#13
joch merged 1 commit into
mainfrom
update-models

Conversation

@joch
Copy link
Copy Markdown
Member

@joch joch commented May 8, 2026

Summary

  • Consolidates per-agent model lists behind a single PICKER_MODELS array in src/config/models.ts. Pi, OpenClaw, Claude Desktop, and Codex now derive their pickers/profiles from that array — bumping a model is a one-line edit.
  • Curated set is now: Claude Opus/Sonnet/Haiku 4, GPT 5.5, Gemini 3.1 Pro Preview, Kimi K2.6, GLM 5.1, MiniMax M2.7, DeepSeek V4 Pro, DeepSeek V4 Flash. Removes stale entries (Kimi K2.5, GLM 4.7, GPT OSS 120B, Gemini 2.5 variants, GPT 5 nano/mini, etc.).
  • Hermes now writes a providers.opper block so its /mode picker shows Opper (N models) alongside the built-in providers. Discovery is enabled (Hermes hits /v1/models like Claude Code does); PICKER_MODELS is the fallback when discovery fails.
  • Fixes a latent bug where configureOpenCode would skip rewriting provider.opper if it already existed — users on a stale template never got refreshed. Both configure() and spawn() now pass overwrite: true.
  • Refactors pickerModelsForLaunch(launchModel) so the launch model is always at models[0] for adapters where position-0 is the active default (OpenClaw has no _launch marker — this was a regression risk).

Test plan

  • npm test (324 passing, +6 new tests for Codex profile generation, Hermes providers.opper block, per-spawn URL refresh, Pi/OpenClaw launch-model ordering)
  • npm run build clean
  • node dist/index.js launch opencode — picker shows the 10 curated models (Claude trio, GPT 5.5, Gemini 3.1 Pro Preview, Kimi K2.6, GLM 5.1, MiniMax, DeepSeek Pro/Flash)
  • node dist/index.js launch hermes then /mode — shows Opper (N models) row
  • node dist/index.js launch codex --profile opper-deepseek-pro resolves correctly

The hardcoded model lists in each adapter were stale and inconsistent —
some agents shipped just the Claude trio while OpenCode shipped 14
models including ones we no longer recommend (Kimi K2.5, GLM 4.7,
GPT OSS 120B, Gemini 2.5 variants, etc.). This consolidates everything
behind a single PICKER_MODELS array in src/config/models.ts.

The curated set is the original 5 (Claude Opus/Sonnet/Haiku 4, GPT 5.5,
Gemini 3.1 Pro Preview) plus 5 additions per request (Kimi K2.6, GLM
5.1, MiniMax M2.7, DeepSeek V4 Pro, DeepSeek V4 Flash). All adapters
now derive from the same source: Pi, OpenClaw, Claude Desktop, and
Codex bake the list into their config; Hermes registers a
providers.opper block so its /mode picker shows "Opper (N models)" with
discovery against /v1/models (PICKER_MODELS as fallback). Claude Code
remains dynamic via the gateway.

Also fixes a latent bug where configureOpenCode would skip rewriting
provider.opper if it already existed — meaning users on a stale
template never got refreshed. Both configure() and spawn() now pass
overwrite: true so the latest template lands on every launch.
@joch joch merged commit 4609545 into main May 8, 2026
4 checks passed
@joch joch deleted the update-models branch May 8, 2026 08:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant