Add Civitai Krea2 metadata scrape for train JSONL and Assistent FTS search.

Local civitai-dataset launchers collect ~2000 prompt/params rows without images; search.jsonl is pushed on up for cheap example lookup.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Leonid Pershin
2026-08-23 08:13:53 +03:00
co-authored by Cursor
parent b83d1d1e9c
commit 6dfbf4e702
17 changed files with 1548 additions and 14 deletions
+7 -4
View File
@@ -16,12 +16,15 @@ CLI поднимает прерываемый GPU в Selectel, держит Swar
| --- | --- |
| Понять зачем и сколько стоит | [concept.md](concept.md) |
| Все команды и `.env` | [cli.md](cli.md) |
| Debug API / Assistent curl | [cli.md](cli.md) (раздел Debug API) |
| Модели с Civitai / `Models/` | [models.md](models.md) |
| Git-расширения SwarmUI/Comfy | [extensions.md](extensions.md) |
| Civitai scrape → FTS Assistent | [../datasets/README.md](../datasets/README.md) |
| Git-расширения / personas | [extensions.md](extensions.md) (`seed-personas`) |
| Word-list промптов | [autocomplete.md](autocomplete.md) |
| Push/pull папок | [local-folders.md](local-folders.md) |
| Ollama | [llm.md](llm.md) |
| Ollama + Assistent | [llm.md](llm.md) |
| Capture ссылок с VM | [cli.md](cli.md) (`capture`) + [models.md](models.md) |
| Баланс ₽ (X-Token панели) | [cli.md](cli.md) / [decisions.md](decisions.md) (`SELECTEL_API_TOKEN`) |
| Как устроены диски и killer | [architecture.md](architecture.md) |
| Контракт Selectel | [selectel.md](selectel.md) |
| Нативный SwarmUI на VM | [swarmui.md](swarmui.md) |
@@ -29,11 +32,11 @@ CLI поднимает прерываемый GPU в Selectel, держит Swar
| Статус реализации | [roadmap.md](roadmap.md) |
| Что ещё проверить на spike | [open-questions.md](open-questions.md) |
Ревью кода: `docs/reviews/` (для разработки, не для первого запуска).
Ревью кода: `docs/reviews/` (для разработки, не для первого запуска). Это **замороженные снимки** от 21.08.2026 — могут противоречить текущему коду (не источник правды).
## Источники (Selectel / SwarmUI / Civitai)
Проверено 21 августа 2026:
Проверено 23 августа 2026:
- [Selectel: preemptible](https://docs.selectel.ru/en/cloud-servers/about/preemptible-servers/)
- [Selectel: GPU](https://docs.selectel.ru/en/cloud-servers/create/gpus/)
+1 -3
View File
@@ -32,15 +32,13 @@ Swarm Assistent индексирует тот же csv в FTS-таблицу `ta
## Куда класть
На data volume (уже примонтирован как `/SwarmUI/Data`):
На data volume (bind → `/opt/swarmui/Data/…`):
```text
/mnt/swarm_data/Data/Autocompletions/danbooru.csv
/mnt/swarm_data/Data/Autocompletions/danbooru.csv.gpu-rent-meta.json
```
На data volume: `/mnt/swarm_data/Data/Autocompletions/danbooru.csv` (bind → `/opt/swarmui/Data/…`).
Sidecar meta (не отдавать в Output):
```json
+4 -1
View File
@@ -24,7 +24,10 @@ GPU в облаке дорогой. Веса для генерации карт
- Первый clone git-реп расширений SwarmUI и ComfyUI nodes из `extensions.yaml`.
- Autocomplete: word-list в `Data/Autocompletions` до старта UI, на каждом `up` проверка новой версии.
- `doctor` до create; фоллбек flavor; интерактивный выбор flavor/диска; `hold`; toast Idle; `open` на 17801.
- Opt-in LLM (Ollama) через `setup` / флаги / `LLM_RUNTIME`; `capture` ссылок с VM.
- Opt-in LLM (Ollama) через `setup` / флаги / `LLM_RUNTIME`; расширение swarm-assistent поверх Swarm+Ollama; `capture` ссылок с VM.
- Debug sidecar на `127.0.0.1:17821` (агент / Assistent diagnose) на `up` / `tunnel` / `gpu-rent debug`.
- Локальный scrape Civitai (метаданные Krea2, без картинок) → FTS Assistent на `up` ([datasets/README](../datasets/README.md)).
- Опциональный local-watchdog: мёртвый туннель без `stop` → через grace удалить compute.
- `status`: диск, окно preempt 24 ч, killer / LLM.
- Snapshot boot после первого удачного bootstrap.
+2 -1
View File
@@ -148,7 +148,8 @@ Busy (не гасить GPU):
По умолчанию install тянет upstream без pin (`WARN` в логе). Жёстче:
```bash
OLLAMA_VERSION=0.6.5
# Pin must be ≥ 0.12.7 if you use Qwen3-VL (see above)
OLLAMA_VERSION=0.12.7
OLLAMA_SHA256=<sha256 of ollama-linux-amd64.tgz>
```
+11 -2
View File
@@ -65,14 +65,14 @@
- [x] Clone `extensions.yaml` в Extensions / DLNodes до старта UI
- [x] Autocomplete: danbooru.csv + Settings.fds; на каждом up — GitHub sha
- [x] Civitai seed по манифесту; без токена — дефолт SwarmUI
- [x] systemd idle-killer + application credential; льгота 90 мин; hold-файл; очередь/loading = busy; затем 60 мин пустой очереди; вооружение после seed/start (качалка UI = hold)
- [x] systemd idle-killer + application credential; льгота `IDLE_GRACE_MINUTES=45`; hold-файл; очередь/loading = busy; затем `IDLE_MINUTES=30` пустой очереди; вооружение после seed/start (качалка UI = hold)
- [x] Один snapshot `gpu-rent-boot-ok` после первого backend Idle; следующие create — из snapshot если есть
- [x] `gpu-rent hold` / `hold --clear` по SSH
- [x] `ready` по HTTP, затем backend Idle
## 5. Туннель
- [x] `gpu-rent tunnel` → 17801, Ctrl+C не делает `stop`
- [x] `gpu-rent tunnel` → 17801; **Ctrl+C / Ctrl+D** вызывают `stop` (диски остаются)
- [x] `gpu-rent open` / `tunnel --open`
- [x] EXPIRED → unshelve + reconnect, пока туннель жив
- [x] Сниппет MCP в stdout
@@ -87,6 +87,15 @@
- [x] Цветной CLI-лог; `capture` ссылок с VM
- [x] Local-watchdog; access-card
## Уже в коде после v1
- Debug API на `127.0.0.1:17821` (`gpu-rent debug` / sidecar на `up`/`tunnel`); Assistent session / chat-eval
- `civitai-dataset``datasets/civitai/search.jsonl` → FTS push на `up` / `seed-personas`
- `seed-personas`, `capture wanted`, `logs --unit swarm|ollama|killer|cloud-init`
- Balance notify (`SELECTEL_API_TOKEN` + watchdog)
Spike в §0 по-прежнему нужно закрыть на живом GPU.
## Вне скоупа v1
- `generate` в CLI, S3 как источник моделей
+1 -1
View File
@@ -122,7 +122,7 @@
- Имя GPU-образа в пуле:
- Реальные flavor id (не в git):
- Хватает ли `IDLE_GRACE_MINUTES=90`:
- Хватает ли `IDLE_GRACE_MINUTES=45` (дефолт; поднять, если мало на первый Comfy):
- Application credential с узкими access_rules: ок / ошибка (fail closed):
- Прочее: