Skip to content

feat(model-picker): group models by [category] name prefix#9235

Open
Pfannkuchensack wants to merge 2 commits into
invoke-ai:mainfrom
Pfannkuchensack:feat/model-picker-name-categories
Open

feat(model-picker): group models by [category] name prefix#9235
Pfannkuchensack wants to merge 2 commits into
invoke-ai:mainfrom
Pfannkuchensack:feat/model-picker-name-categories

Conversation

@Pfannkuchensack
Copy link
Copy Markdown
Collaborator

Summary

Models whose display name starts with [category]… are now grouped by that category in the model picker. For the main model picker this adds an inline subgroup header within each base group (FLUX, SDXL, …); for the LoRA picker (flat list) categories become the top-level groups with toggle buttons. Uncategorized models appear after the categorized ones without a header.

The [category] prefix is hidden in the picker list and trigger button but kept intact in the underlying model name, so the Model Manager still shows the full name.

Example: renaming a model to [flux]flux.1 dev puts it under a "flux" subgroup inside the FLUX base group; the option itself is displayed as flux.1 dev.

Related Issues / Discussions

Addresses #4592 (Model Manager — Grouping checkpoint models by category).

QA Instructions

  1. Open the Model Manager and rename a couple of installed models so their names start with a bracket prefix, e.g. [realistic]My Model A, [realistic]My Model B, [anime]My Model C. Leave at least one model in the same base without a prefix.
  2. Open the main model picker (Generation Settings).
    • Within the model's base group (e.g. SDXL), confirm a small realistic subheader appears above the two realistic models and an anime subheader above the anime one.
    • Confirm the uncategorized model appears after the categorized ones, without a header.
    • Confirm option labels and the picker trigger button show the cleaned name (no […] prefix).
    • Type realistic into the search — only the realistic models should remain.
  3. Pick a categorized model and open the Model Manager → confirm the full original name (including [realistic]…) is still shown there.
  4. Add a few LoRAs whose names start with a bracket prefix, then open the LoRA picker.
    • Confirm top-level groups appear per category, plus an Uncategorized group at the end if applicable.
    • Confirm group toggle badges work as filters.
    • With no categorized LoRAs available, the picker should fall back to its previous flat-list behavior.

Merge Plan

No special steps. No DB / redux migrations. Touches frontend only.

Checklist

  • The PR has a short but descriptive title, suitable for a changelog
  • Tests added / updated (if applicable) — added modelPickerCategory.test.ts covering the name-prefix parser
  • ❗Changes to a redux slice have a corresponding migration — n/a
  • Documentation added / updated (if applicable) — n/a
  • Updated What's New copy (if doing a release after this PR)

Models whose display name starts with "[category]…" are now grouped by
that category in the model picker. For the main model picker this adds
an inline subgroup header within each base group (FLUX, SDXL, …); for
the LoRA picker (flat list) categories become the top-level groups with
toggle buttons. Uncategorized models appear after the categorized ones
without a header.

The "[category]" prefix is hidden in the picker list and trigger button
but kept intact in the underlying model name, so the Model Manager
still shows the full name.
@github-actions github-actions Bot added the frontend PRs that change frontend files label May 25, 2026
@Pfannkuchensack
Copy link
Copy Markdown
Collaborator Author

image

@Pfannkuchensack
Copy link
Copy Markdown
Collaborator Author

image

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

Labels

frontend PRs that change frontend files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant