Skip to content

Model Management UX Exploration #317128

@cwebster-99

Description

@cwebster-99

Aligning Model Management Features & UI

We have accumulated a number of overlapping concepts around how users discover, organize, and select models. Before we add more, we should step back and decide what the end-to-end experience should look like and which mechanisms we actually need.


What exists today

1. Auto

  • Always appears at the top of the picker.

2. Pinned models

  • User-curated list of models the user always wants to see at the top.
  • UI: dedicated Pinned section under Auto, with inline pin/unpin affordance on every row to pin/unpin.

3. Recent models

  • Automatically updated whenever the user picks a model.
  • Excludes Auto and anything already pinned.
  • UI: shown inside the Promoted section (mixed with featured — see below).

4. Featured models (from the models control manifest)

  • Server-driven list fetched from GitHub (chat.modelsControl), split into free/paid tiers.
  • Each entry has { label, featured?, minVSCodeVersion?, exists }.
  • Used for upsell: featured models can render as unavailable rows with reasons (upgrade plan, update VS Code, ask admin).
  • UI: surfaced in the same Promoted section as Recent.

5. Other models (collapsible)

  • Everything else available from any provider group, collapsed by default.
  • Grouped by provider group (vendor + user-named group) when there's more than one.
  • Each group sorted: available first, then alphabetical.

6. Manage models

  • Gear/toolbar entry into the full Chat Models management editor.
  • Surfaced conditionally (UBB users, or as standalone action when there are no "Other" models).
  • Currently there is no real differentiator for this view unless we add back hiding models.

7. Provider groups (BYOM / BYOK)

  • Users can register multiple groups under a vendor (e.g. two customoai groups for two OpenAI-compatible endpoints).
  • Each group becomes its own section header in Other models and contributes its own model list and per-model settings.

8. Hidden Models

  • Currently removed but still under discussion
  • Hidden models are removed from the model picker / Other Models section
  • This is managed from the Manage Models / Language Models menu

What we are considering

A. Saved model configs (duplication)

A named, reusable bundle of (model + configuration values) — e.g. "Claude Sonnet — long reasoning" or "GPT-5 — deterministic" — that the user can pick from the model picker as if it were its own model.

Open questions:

  • Do they appear in Pinned / Recent / Other, or get their own section? What is the default?
  • Is there differentiated value of providing this feature? If this is added does it replace any other feature we already have?

A few tensions:

  1. Promoted section is doing two jobs. It mixes user behavior (Recent) with server marketing (Featured).
  2. While Pinned and Other Models have labeled sections, the Promoted section has no label
  3. Pinned vs. Saved configs. If a saved config is just a model + settings, "pinning" it is the same gesture as pinning a model. Do we need both, or do pinned items just become "saved entries" (some with default config, some with overrides)?
  4. Hiding vs. Other / collapsed. "Other models" is already a soft-hide (collapsed by default). Explicit hiding is a stronger version of the same idea. Do we need both, or should "Other" be the hiding affordance? Should we be more opinionated about "hiding models" by default and remove the "Other Models" section?

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions