Enhance CLI and documentation for capturing VM inventory
- Introduced new `capture` commands in the CLI to allow users to merge VM inventory into local manifests without downloading weights. - Updated `README.md` and `cli.md` to include detailed instructions for the new capture functionality, including options for models and extensions. - Enhanced `decisions.md` to clarify the role of captured links in the manifest files. - Improved `extensions.md` to document the process of capturing installed extensions back to the local configuration. - Added new functions in `civitai.py` to support fetching model versions by hash and generating canonical URLs for models.
This commit is contained in:
@@ -74,6 +74,10 @@ gpu-rent up --yes --ollama
|
||||
| `gpu-rent seed-extensions` | Доклонировать/обновить git-репы; restart swarmui |
|
||||
| `gpu-rent push` / `push-models` | Локальные деревья → VM |
|
||||
| `gpu-rent pull-output` | VM `Output/` → `./Output` |
|
||||
| `gpu-rent capture` / `capture all` | Инвентарь VM → merge **ссылок** в `models.yaml` + `extensions.yaml` (веса не качать) |
|
||||
| `gpu-rent capture models` / `--kind lora` | Только модели (фильтр по типу) |
|
||||
| `gpu-rent capture extensions` | Только git Extensions / DLNodes |
|
||||
| `gpu-rent capture --dry-run` | Отчёт без записи файлов |
|
||||
| `gpu-rent resize-data --gb 400` | Data volume **только вверх** |
|
||||
| `gpu-rent watchdog install` / `uninstall` / `status` / `tick` | Локальный safety-net (см. ниже) |
|
||||
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
| Civitai хост | Дефолт API `civitai.red` (полный каталог). `.com` — SFW-витрина, NSFW с неё часто 404. Ссылки `.com`/`.red`/`.green` в манифесте принимаем. 404 → один retry на второй хост. Один токен на оба домена |
|
||||
| Пул GPU | Перед `up`/`flavors` сканируем `SCAN_POOLS` (дефолт `ru-6,ru-7`). `ru-6` — мультизональный: ходим на `https://ru-6.cloud.api.selcloud.ru/compute/` тем же токеном (SDK-каталог часто знает только RC-пул). Собираем типы GPU из extra_specs и совпадения с `FLAVOR_PREFERENCE`. Автоматом `.env` не пишем — печатаем рекомендацию `OS_REGION_NAME` / `GPU_RENT_AZ` |
|
||||
| Манифест моделей | `<repo>/models.yaml`, типы: checkpoint / lora / vae / embedding / controlnet / upscaler. В git только `models.example.yaml` |
|
||||
| Расширения | `<repo>/extensions.yaml`: git-репы `swarmui` → `src/Extensions`, `comfy` → DLNodes. Клон на первом bootstrap до старта UI. Пустой файл — стоковый SwarmUI |
|
||||
| Расширения | `<repo>/extensions.yaml`: git-репы `swarmui` → `src/Extensions`, `comfy` → DLNodes. Поле `requires: none\|ollama\|llamacpp\|any-llm` фильтрует по `LLM_RUNTIME`. Пример: swarm-assistent с `requires: ollama` |
|
||||
| Autocomplete | До первого старта: скачать word-list в `Data/Autocompletions`, прописать `DefaultUser.AutoComplete.Source`. На каждом `up` сверить GitHub blob sha и обновить файл, если изменился. Дефолт: `tags/danbooru.csv` из a1111-sd-webui-tagcomplete (как в доке SwarmUI) |
|
||||
| Доступ | Браузер на туннеле; MCP переключается на облако, пока оно живо; HTTP API SwarmUI через тот же туннель |
|
||||
| Preemptible | По умолчанию всегда. Обычный сервер — только `--no-spot` |
|
||||
|
||||
@@ -8,6 +8,8 @@ copy extensions.example.yaml extensions.yaml
|
||||
.\gpu-rent.ps1 up --yes
|
||||
# доклонировать на уже живой VM:
|
||||
.\gpu-rent.ps1 seed-extensions
|
||||
# записать установленные на VM репы обратно в extensions.yaml (без clone локально):
|
||||
.\gpu-rent.ps1 capture extensions
|
||||
```
|
||||
|
||||
Срабатывает на каждом `up` (и `seed-extensions`):
|
||||
|
||||
@@ -16,6 +16,19 @@ copy models.example.yaml models.yaml
|
||||
|
||||
Или положи веса в `Models/Stable-Diffusion/` (и т.п.) — уедут на `up` / `gpu-rent push-models`.
|
||||
|
||||
### Capture с VM (ссылки only)
|
||||
|
||||
Если на облачном диске уже есть модели (seed, UI Civitai, ручная заливка) — записать их обратно в локальный манифест **без скачивания весов**:
|
||||
|
||||
```powershell
|
||||
.\gpu-rent.ps1 capture models # merge Civitai url → models.yaml
|
||||
.\gpu-rent.ps1 capture models --kind lora
|
||||
.\gpu-rent.ps1 capture --dry-run # models + extensions, без записи
|
||||
.\gpu-rent.ps1 capture all
|
||||
```
|
||||
|
||||
Берёт `{stem}.civitai.json` или SHA256 → Civitai `by-hash`. Дубли `modelVersionId` не дублируются. Перед записью — `models.yaml.bak`. Неизвестные файлы (нет в Civitai) — только в отчёте.
|
||||
|
||||
Локальный SwarmUI на `7801` не зеркалируем. Только дерево `./Models` приложения.
|
||||
|
||||
## Локальная папка → сервер
|
||||
|
||||
Reference in New Issue
Block a user