Skip to content
This repository was archived by the owner on Jul 3, 2026. It is now read-only.
This repository was archived by the owner on Jul 3, 2026. It is now read-only.

Model Catalog And Selection UX — runtime-backed provider/model data and chat-safe overrides #72

Description

@LaloLalo1999

Summary

Replace stale/manual model list management with runtime-backed provider/model data and a UI contract that supports safe model selection, including chat-scoped overrides where appropriate.

Current State

The current issue body is outdated. The repo already supports more providers than the issue describes, but the product surface is still inconsistent: model/provider defaults are edited manually in settings, chat surfaces show agent models without offering a supported per-chat override, and provider/model data is not clearly treated as a canonical runtime-backed catalog.

Why This Matters

Model choice is a core user control surface. Without a clean model catalog and selection contract, the dashboard encourages brittle hardcoded defaults and makes it difficult to implement requested UX like thread-scoped model overrides safely.

Repo Evidence

  • packages/runtime/src/daemon/daemon.ts:29 and packages/runtime/src/channels/http.ts:80-143 already treat models as runtime-level identifiers.
  • packages/web/app/routes/chat.tsx:508 and packages/cli/templates/default/dashboard/app/routes/chat.tsx:309 display provider/model but do not expose a supported chat-scoped selector.
  • packages/web/app/routes/settings.tsx:43-56 stores manual default provider/model state.

External Grounding

Goals

  • Define one canonical provider/model data source.
  • Expose model selection in the UI without mutating persistent agent defaults unintentionally.
  • Keep settings, chat, and runtime validation aligned on the same model identifiers.

Non-Goals

  • Implementing provider billing management.
  • Dynamic provider procurement or hosted key brokering.
  • Arbitrary per-message hidden model changes without UI/state visibility.

Acceptance Criteria

  • Provider/model data comes from a canonical runtime-backed source or documented contract.
  • Settings no longer rely on hardcoded model/provider values.
  • Chat-scoped override behavior is specified and supported where intended.
  • Invalid model selections fail gracefully.
  • Tests cover model-selection persistence vs temporary overrides.

Implementation Notes

  • Keep thread-scoped overrides distinct from agent defaults.
  • Reconcile model list UX across the canonical dashboard path.
  • Avoid reintroducing old object-shaped model configs.

Validation Plan

  • Verify provider/model listings against runtime truth.
  • Verify temporary override behavior in chat.
  • Verify agent defaults are unchanged when using the temporary override path.

Dependencies

  • Coordinates with: runtime/CLI convergence, settings de-hardcoding, chat model override UX.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

P1High priorityenhancementNew feature or request

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions