feat(model-manager): add CivitAI browse view + fix civitai.red / 401

- New "Browse CivitAI" view: thumbnail grid with search, type/sort/period
  filters and NSFW toggle; click a model card to download it (per-card
  version picker for multi-version models). Cursor + page based "Load more".
- Backend: /api/civitai/search and /api/civitai/download endpoints; new
  civitai_search() catalog helper.
- Fix 401 on paste: recognize the civitai.red mirror (and any civitai.*
  host), normalize API calls to civitai.com, and always resolve the
  model-version so type + filename are auto-detected for every CivitAI URL.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-07 14:50:10 -04:00
parent e037a1b062
commit e8115e7aa6
6 changed files with 427 additions and 41 deletions
+5 -2
View File
@@ -235,11 +235,14 @@ SparkyUI includes a **StabilityMatrix-style Model Manager** - a lightweight Fast
**Access:** `http://<your-dgx-ip>:8189`
**Features:**
- **Browse CivitAI** - search the CivitAI catalog in a thumbnail grid (filter by type,
sort, period, NSFW toggle) and **click a model to download it** - no URL pasting needed.
Multi-version models get a version picker on the card.
- **Installed Models** - browse what's on disk, grouped by type, with size and delete actions
- **Add / Download** - paste a download URL and pick a type; live progress bars
- **Direct URLs** - any direct download link
- **CivitAI** - paste a model page link (`civitai.com/models/...`) or an
`api/download/models/...` link; the type and filename are auto-detected
- **CivitAI** - paste a model page link (`civitai.com/models/...`, the `civitai.red`
mirror, or an `api/download/models/...` link); the type and filename are auto-detected
- **HuggingFace** - paste a `resolve` URL (works with gated repos via your token)
- **Settings** - store your **CivitAI API key** and **HuggingFace token** persistently
(saved to a SQLite DB under `./sparkyui-data`, never committed to git)