Skip to content

feat(ai): improve models.dev reasoning preset configuration - #2202

Merged
wsp1911 merged 1 commit into
GCWing:mainfrom
wsp1911:dev
Aug 11, 2026
Merged

feat(ai): improve models.dev reasoning preset configuration#2202
wsp1911 merged 1 commit into
GCWing:mainfrom
wsp1911:dev

Conversation

@wsp1911

@wsp1911 wsp1911 commented Aug 11, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Refresh reasoning preset projections while an explicit models.dev binding is edited across desktop and app-server transports.
  • Report models.dev presets that the active API format cannot reliably apply, while keeping them out of selectable and default preset options.
  • Add a combined provider/model quick search with multi-keyword AND matching, ranked results, keyboard navigation, and a 50-result rendering limit.
  • Simplify custom preset editing by keeping internal IDs hidden, moving name editing into the expanded header, and tightening the preset layout and copy.

Type and Areas

Type:

Feature / bug fix / UI/UX

Areas:

Rust core, desktop/Tauri, app server, AI adapters, Web UI

Motivation / Impact

Explicit models.dev bindings previously did not refresh their effective reasoning presets while the model configuration was still being edited. Presets unsupported by the active request format were also omitted without explaining why.

This change gives users an up-to-date preview, identifies unavailable presets together with the active API format, and directs users to custom request-body patches for provider-specific fields.

The models.dev binding UI is also easier to use:

  • Users can search provider and model metadata together with queries such as anthropic fable 5.
  • Spaces and /, -, _, and . are treated as keyword separators.
  • Search results are ranked and capped at 50 rendered entries.
  • The result overlay escapes modal-body clipping and automatically repositions within the viewport.
  • Internal custom preset IDs are generated and preserved without being exposed in the form.

Verification

  • cargo test -p bitfun-core-types — passed
  • Focused AI adapter models.dev tests — 31 passed
  • Focused core reasoning projection test — passed
  • cargo test -p bitfun-app-server --offline — passed
  • pnpm run type-check:web — passed
  • pnpm --dir src/web-ui run test:run src/infrastructure/config/components/ReasoningPresetEditor.test.tsx — 16 passed
  • Relevant Web UI projection and adapter tests — passed
  • pnpm run i18n:audit — passed with 0 warnings
  • pnpm run theme:color-audit:all — passed
  • git diff --check — passed

Reviewer Notes

  • Projection requests contain only secret-free model facts and draft reasoning configuration.
  • The new projection endpoint is exposed consistently through desktop, app-server client, and WebSocket paths, with an explicit remote-workspace policy.
  • unavailable_presets is informational only and is never offered as a selectable or default preset.
  • Quick search operates locally on the already-loaded reasoning catalog; it does not add per-query backend or network requests.
  • Existing preset IDs remain stable. No configuration migration is required.

Checklist

  • This PR is focused and does not include secrets, temporary prompts, generated scratch files, or unrelated artifacts.
  • Relevant verification is recorded above, or skipped checks are explained.
  • User-facing strings, docs, and locales are updated where applicable.

- refresh reasoning projections while editing explicit models.dev bindings
- warn when the active API format cannot reliably apply catalog presets
- add combined provider and model search with ranked multi-keyword matching
- streamline custom preset naming and hide internal preset IDs
@wsp1911
wsp1911 merged commit c5e83c1 into GCWing:main Aug 11, 2026
7 checks passed
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