feat: Add Tag Filter Dropdown to Admin Settings Models Page #25610
silentoplayz
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Summary
The Admin Settings → Models page currently has a view filter (All / Enabled / Disabled / Visible / Hidden / Public / Private) but lacks the ability to filter models by tag. The Workspace → Models page already supports tag-based filtering via a
TagSelectordropdown, but this capability is missing from the admin-facing models management page.Problem / Motivation
Administrators managing large model libraries (100+ models) need the ability to quickly find models by tag. Tags are assigned to models in the model editor and are stored in
meta.tags, but the only place to filter by tag is the Workspace Models page — which uses server-side pagination and filtering. The Admin Models page, which shows all models including non-workspace base models, has no tag filter at all.This means an admin who tagged their models for organizational purposes (e.g., "Chat", "Embedding", "Vision", "Tools", "Completion") cannot leverage those tags when managing models from the admin panel.
Proposed Solution
Reuse the existing
TagSelectorcomponent (fromsrc/lib/components/workspace/common/TagSelector.svelte) in the Admin Models page. This component already provides the correct UX — a dropdown with tag options and a clear button.The implementation:
getModelTags()API during page initializationTagSelectornext to the existingAdminViewSelectorin the filter barfilteredModelscomputation that checksmeta.tagsfor the selected tagFiles Likely Affected
src/lib/components/admin/Settings/Models.svelte— the only file changedAlternatives Considered
getBaseModels()+getModels()), so adding server-side tag filtering would require a larger refactor of the admin page's data fetching. Client-side filtering is consistent with the existing approach.TagSelectoralready provides the exact UX needed and is well-tested in the workspace context.Additional Context
getModelTags()API endpoint (/api/v1/models/tags) already exists and returns a sorted list of unique tag names extracted from all accessible models'meta.tagsarrays.meta.tagscan be stored as either strings or{name: string}objects (the backend normalizes them). The client-side filter handles both formats.Beta Was this translation helpful? Give feedback.
All reactions