@mcptoolshop/style-dataset-lab 3.0.1 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +77 -0
- package/README.es.md +154 -41
- package/README.fr.md +153 -40
- package/README.hi.md +160 -47
- package/README.it.md +155 -42
- package/README.ja.md +159 -46
- package/README.md +40 -0
- package/README.pt-BR.md +154 -41
- package/README.zh.md +154 -41
- package/bin/sdlab.js +81 -2
- package/lib/adapters/ai-toolkit.js +209 -0
- package/lib/adapters/comfyui-runner.js +11 -15
- package/lib/adapters/comfyui-workflows.js +133 -2
- package/lib/adapters/diffusers-lora.js +46 -66
- package/lib/adapters/generic-image-caption.js +22 -50
- package/lib/batch-runs.js +62 -0
- package/lib/canon-build/build.js +450 -0
- package/lib/canon-build/emitters/base.js +122 -0
- package/lib/canon-build/emitters/character.js +167 -0
- package/lib/canon-build/emitters/deity.js +165 -0
- package/lib/canon-build/emitters/faction.js +161 -0
- package/lib/canon-build/emitters/index.js +38 -0
- package/lib/canon-build/emitters/location.js +153 -0
- package/lib/canon-build/emitters/monster.js +131 -0
- package/lib/canon-build/emitters/relic.js +142 -0
- package/lib/canon-build/emitters/ship.js +154 -0
- package/lib/canon-build/emitters/species.js +165 -0
- package/lib/canon-build/frontmatter.js +76 -0
- package/lib/canon-build/lane-resolve.js +64 -0
- package/lib/canon-build/load-config.js +117 -0
- package/lib/canon-build/load-entry.js +62 -0
- package/lib/canon-build/load-schema.js +46 -0
- package/lib/captions.js +197 -0
- package/lib/comfyui-output.js +70 -0
- package/lib/config.js +19 -0
- package/lib/freeze-events.js +109 -0
- package/lib/freeze-gate.js +165 -0
- package/lib/freeze-stamp.js +161 -0
- package/lib/rows.js +228 -0
- package/lib/training-adapters.js +84 -0
- package/lib/training-packages.js +25 -32
- package/lib/training-profiles.js +43 -0
- package/package.json +29 -2
- package/scripts/_batch_cut.py +71 -0
- package/scripts/_seam_cutout.py +74 -0
- package/scripts/batch-generate.js +56 -13
- package/scripts/canon-build.js +88 -0
- package/scripts/canon-drift.js +193 -0
- package/scripts/canon-freeze-status.js +85 -0
- package/scripts/canon-freeze.js +211 -0
- package/scripts/canon-unfreeze.js +137 -0
- package/scripts/curate.js +12 -0
- package/scripts/generate-controlnet.js +12 -0
- package/scripts/generate-identity.js +20 -4
- package/scripts/generate-ipadapter.js +11 -0
- package/scripts/generate.js +250 -102
- package/scripts/qwen_generate.py +124 -0
package/README.it.md
CHANGED
|
@@ -8,16 +8,18 @@
|
|
|
8
8
|
|
|
9
9
|
<p align="center">
|
|
10
10
|
<a href="https://www.npmjs.com/package/@mcptoolshop/style-dataset-lab"><img src="https://img.shields.io/npm/v/@mcptoolshop/style-dataset-lab" alt="npm"></a>
|
|
11
|
+
<a href="https://github.com/mcp-tool-shop-org/style-dataset-lab/actions/workflows/ci.yml"><img src="https://github.com/mcp-tool-shop-org/style-dataset-lab/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
|
|
12
|
+
<a href="https://codecov.io/gh/mcp-tool-shop-org/style-dataset-lab"><img src="https://codecov.io/gh/mcp-tool-shop-org/style-dataset-lab/branch/main/graph/badge.svg" alt="codecov"></a>
|
|
11
13
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue" alt="MIT License"></a>
|
|
12
14
|
</p>
|
|
13
15
|
|
|
14
|
-
|
|
16
|
+
Scrivi le tue regole visive. Genera immagini. Valuta ogni immagine in base a tali regole. Pubblica i risultati come dati di addestramento verificabili e versionati, quindi utilizza i modelli addestrati in flussi di lavoro di produzione reali e reintroduci gli output migliori nel tuo corpus.
|
|
15
17
|
|
|
16
|
-
Style Dataset Lab collega le
|
|
18
|
+
Style Dataset Lab collega le indicazioni che hai fornito sullo stile artistico al set di dati da cui effettivamente esegui l'addestramento, quindi completa il ciclo fino alla fase di produzione. Definisci una serie di regole: regole sulla silhouette, vincoli sulla palette, linguaggio dei materiali o qualsiasi altro elemento rilevante per il tuo progetto. Il flusso di lavoro genera candidati, li valuta in base alle regole e raggruppa gli elementi approvati in set di dati riproducibili, dove ogni record spiega perché è stato incluso.
|
|
17
19
|
|
|
18
|
-
|
|
20
|
+
Successivamente, l'ambiente di lavoro di produzione prende il sopravvento: compila le specifiche per la generazione a partire dai dati del progetto, eseguile tramite ComfyUI, valuta gli output, genera in batch fogli di espressione e schede ambientali, seleziona i risultati migliori e reintroducili come nuovi candidati. Il ciclo si chiude: produci, seleziona, rivedi, rafforza.
|
|
19
21
|
|
|
20
|
-
##
|
|
22
|
+
## Il flusso di lavoro
|
|
21
23
|
|
|
22
24
|
```bash
|
|
23
25
|
# Write your canon. Scaffold the project.
|
|
@@ -28,59 +30,104 @@ sdlab generate inputs/prompts/wave1.json --project my-project
|
|
|
28
30
|
sdlab curate <id> approved "Strong silhouette, correct faction palette"
|
|
29
31
|
|
|
30
32
|
# Bind approved work to constitution rules
|
|
31
|
-
sdlab bind
|
|
33
|
+
# (`sdlab bind` is a shorter alias for `canon-bind`)
|
|
34
|
+
sdlab canon-bind --project my-project
|
|
32
35
|
|
|
33
36
|
# Freeze a versioned dataset
|
|
34
37
|
sdlab snapshot create --project my-project
|
|
35
38
|
sdlab split build
|
|
36
39
|
sdlab export build
|
|
37
40
|
|
|
38
|
-
# Build a training package
|
|
41
|
+
# Build a training package
|
|
39
42
|
sdlab training-manifest create --profile character-style-lora
|
|
40
43
|
sdlab training-package build
|
|
41
|
-
|
|
42
|
-
|
|
44
|
+
|
|
45
|
+
# Compile a production brief and run it
|
|
46
|
+
sdlab brief compile --workflow character-portrait-set --subject kael_maren
|
|
47
|
+
sdlab run generate --brief brief_2026-04-16_001
|
|
48
|
+
|
|
49
|
+
# Critique, refine, batch-produce
|
|
50
|
+
sdlab critique --run run_2026-04-16_001
|
|
51
|
+
sdlab refine --run run_2026-04-16_001 --pick 001.png
|
|
52
|
+
sdlab batch generate --mode expression-sheet --subject kael_maren
|
|
53
|
+
|
|
54
|
+
# Select the best outputs and bring them back
|
|
55
|
+
sdlab select --run run_2026-04-16_001 --approve 001.png,003.png
|
|
56
|
+
sdlab reingest selected --selection selection_2026-04-16_001
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Quest'ultimo comando è il punto cruciale. Gli output selezionati vengono reintrodotti nello stesso processo di revisione insieme a tutti gli altri elementi. Il corpus si espande e le regole rimangono valide.
|
|
60
|
+
|
|
61
|
+
## Definizione del canone
|
|
62
|
+
|
|
63
|
+
Prima che il flusso di lavoro del set di dati venga eseguito, lo spazio dei nomi `sdlab canon *` trasforma l'archivio delle entità del canone del tuo progetto nelle tre proiezioni utilizzate effettivamente per l'addestramento e la produzione, e blocca le voci che non devono subire modifiche.
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
# Build three projections from the canon entity store:
|
|
67
|
+
# dataset.jsonl → training adapters
|
|
68
|
+
# prompts/*.j2 → ComfyUI workflow invocation
|
|
69
|
+
# context/*.md → Role OS narrative dispatch
|
|
70
|
+
sdlab canon build --project my-project
|
|
71
|
+
|
|
72
|
+
# Freeze an entry so regeneration can't silently change it
|
|
73
|
+
sdlab canon freeze kael_maren --project my-project --reason "prologue portrait locked"
|
|
74
|
+
|
|
75
|
+
# Report drift on frozen entries since the last clean build
|
|
76
|
+
sdlab canon drift --project my-project
|
|
43
77
|
```
|
|
44
78
|
|
|
45
|
-
|
|
79
|
+
`canon build` è basato sull'indirizzamento dei contenuti: il suo output è identificato da un codice `canon_sha` ed è memorizzato nella cache, quindi una ricostruzione del canone invariata viene eseguita istantaneamente. `canon freeze` registra ogni "congelamento" rispetto a una versione specifica e lo aggiunge a una traccia di controllo in `freeze-events.jsonl`: le voci "congelate" rifiutano esplicitamente la rigenerazione, mentre le voci "soft-advisory" rifiutano per impostazione predefinita (è possibile ignorare l'impostazione con `--i-know`). `canon drift` ricalcola l'hash di ogni voce monitorata e segnala eventuali modifiche rispetto all'ultima versione pulita.
|
|
80
|
+
|
|
81
|
+
Flusso di lavoro completo nel manuale: [Canon build](handbook/canon-build/), [Canon freeze](handbook/canon-freeze/) e [Two-LoRA stacking](handbook/two-lora-stacking/).
|
|
46
82
|
|
|
47
83
|
## Cosa produce
|
|
48
84
|
|
|
49
|
-
Sette artefatti
|
|
85
|
+
Sette artefatti del set di dati e un ambiente di lavoro di produzione completo. Ogni artefatto è collegato ai suoi predecessori, in modo da poter risalire a qualsiasi record di addestramento fino alla regola che lo ha approvato.
|
|
50
86
|
|
|
51
|
-
| Artefatto
|
|
87
|
+
| Artefatto | Cos'è |
|
|
52
88
|
|----------|-----------|
|
|
53
|
-
| **Snapshot** | Selezione di record
|
|
54
|
-
| **Split** | Partizione
|
|
55
|
-
| **Export package** | Set di dati autonomo:
|
|
56
|
-
| **Eval pack** |
|
|
57
|
-
| **Training package** | Layout pronto per l'addestramento tramite adattatori (`diffusers-lora`, `generic-image-caption`).
|
|
58
|
-
| **Eval scorecard** | Valutazione
|
|
59
|
-
| **Implementation pack** | Esempi di prompt, errori noti, test di continuità e indicazioni per
|
|
89
|
+
| **Snapshot** | Selezione di record congelati con impronta di configurazione. Ogni inclusione ha una motivazione esplicita. |
|
|
90
|
+
| **Split** | Partizione train/val/test in cui le famiglie di soggetti non superano i confini. |
|
|
91
|
+
| **Export package** | Set di dati autonomo: manifesto, metadati, immagini, suddivisioni, scheda del set di dati, checksum. |
|
|
92
|
+
| **Eval pack** | Attività di test consapevoli del canone: copertura delle corsie, divieto di modifiche, ancoraggio/oro, continuità dei soggetti. |
|
|
93
|
+
| **Training package** | Layout pronto per l'addestramento tramite adattatori (`diffusers-lora`, `generic-image-caption`). Stessi dati, formato diverso. |
|
|
94
|
+
| **Eval scorecard** | Valutazione per attività con esito positivo/negativo basata sulla valutazione degli output generati rispetto ai pacchetti di valutazione. |
|
|
95
|
+
| **Implementation pack** | Esempi di prompt, errori noti, test di continuità e indicazioni per la reintroduzione. |
|
|
96
|
+
|
|
97
|
+
L'ambiente di lavoro di produzione aggiunge:
|
|
98
|
+
|
|
99
|
+
| Superficie | Cosa fa |
|
|
100
|
+
|---------|-------------|
|
|
101
|
+
| **Compiled brief** | Istruzioni di generazione deterministiche dal profilo del flusso di lavoro + dati del progetto. |
|
|
102
|
+
| **Run** | Artefatto di esecuzione congelato: breve descrizione + seed + output ComfyUI + manifesto. |
|
|
103
|
+
| **Critique** | Valutazione strutturata multidimensionale degli output rispetto al canone. |
|
|
104
|
+
| **Batch** | Produzione coordinata multi-slot (fogli di espressione, schede ambientali, pacchetti di silhouette). |
|
|
105
|
+
| **Selection** | Artefatto decisionale creativo: quali output sono stati scelti, perché e da dove provengono. |
|
|
106
|
+
| **Re-ingest** | Gli output selezionati vengono reintrodotti come record candidati con la cronologia completa della generazione. |
|
|
60
107
|
|
|
61
108
|
## Perché esiste
|
|
62
109
|
|
|
63
|
-
I dati di addestramento sono l'
|
|
110
|
+
I dati di addestramento sono l'artefatto più importante in qualsiasi flusso di lavoro di intelligenza artificiale visiva. Ma la maggior parte dei dati di addestramento è una cartella di immagini senza cronologia, senza traccia delle valutazioni e senza collegamento con le regole di stile che avrebbero dovuto seguire.
|
|
64
111
|
|
|
65
|
-
Style Dataset Lab rende
|
|
112
|
+
Style Dataset Lab rende esplicita questa connessione. La tua costituzione definisce le regole. La tua rubrica definisce le dimensioni della valutazione. I tuoi record di curatela registrano la valutazione. Il tuo legame con il canone dimostra la connessione. E il tuo set di dati conserva tutto questo come informazioni strutturate, ricercabili e riproducibili.
|
|
66
113
|
|
|
67
|
-
Il risultato pratico: quando il
|
|
114
|
+
Il risultato pratico: quando il tuo LoRA subisce modifiche indesiderate, puoi chiedere *perché*. Quando il tuo prossimo ciclo di addestramento richiede dati migliori, sai esattamente quali record sono quasi corretti e quale singola regola hanno violato. Quando un nuovo membro del team chiede qual è il linguaggio visivo del progetto, la risposta non è una bacheca Figma, ma una costituzione ricercabile con 1.182 esempi valutati.
|
|
68
115
|
|
|
69
116
|
## Cinque domini, regole reali
|
|
70
117
|
|
|
71
|
-
Non modelli di esempio. Ogni dominio viene fornito con regole
|
|
118
|
+
Non semplici modelli di esempio. Ogni dominio viene fornito con regole della costituzione adatte alla produzione, definizioni delle corsie, rubriche di valutazione e vocabolario di gruppo.
|
|
72
119
|
|
|
73
|
-
| Dominio
|
|
120
|
+
| Dominio | Corsie | Cosa viene valutato |
|
|
74
121
|
|--------|-------|-----------------|
|
|
75
|
-
| **game-art** | personaggio, ambiente, oggetto, interfaccia utente, nave, interno, attrezzatura
|
|
76
|
-
| **character-design** | ritratto, figura intera,
|
|
77
|
-
| **creature-design** |
|
|
78
|
-
| **architecture** | esterno, interno, paesaggio urbano, dettaglio strutturale, rovina, paesaggio
|
|
79
|
-
| **vehicle-mech** | esterno, cabina di pilotaggio, componente, schema, foglio di silhouette, variante danneggiata
|
|
122
|
+
| **game-art** | personaggio, ambiente, oggetto di scena, interfaccia utente, nave, interno, attrezzatura | Silhouette su scala di gioco, identificazione della fazione, usura e invecchiamento |
|
|
123
|
+
| **character-design** | ritratto, figura intera, rotazione a 360 gradi, foglio di espressioni, posa d'azione | Proporzioni, logica del costume, personalità, chiarezza dei gesti |
|
|
124
|
+
| **creature-design** | concetto, ortografico, studio dettagliato, azione, riferimento alla scala, habitat | Anatomia, logica evolutiva, distinzione della silhouette |
|
|
125
|
+
| **architecture** | esterno, interno, paesaggio urbano, dettaglio strutturale, rovina, paesaggio | Struttura, coerenza dei materiali, prospettiva, coerenza dell'epoca |
|
|
126
|
+
| **vehicle-mech** | esterno, cabina di pilotaggio, componente, schema, foglio di silhouette, variante danneggiata | Logica meccanica, linguaggio del design, punti di accesso, narrazione dei danni |
|
|
80
127
|
|
|
81
128
|
## Struttura del progetto
|
|
82
129
|
|
|
83
|
-
Ogni progetto è autonomo. Cinque file di configurazione JSON definiscono le regole; il resto
|
|
130
|
+
Ogni progetto è autonomo. Cinque file di configurazione JSON definiscono le regole; tutto il resto sono dati.
|
|
84
131
|
|
|
85
132
|
```
|
|
86
133
|
projects/my-project/
|
|
@@ -94,21 +141,27 @@ projects/my-project/
|
|
|
94
141
|
splits/ Train/val/test partitions
|
|
95
142
|
exports/ Versioned export packages
|
|
96
143
|
training/ Profiles, manifests, packages, eval runs, implementations
|
|
144
|
+
workflows/ Workflow profiles + batch mode definitions
|
|
145
|
+
briefs/ Compiled generation briefs
|
|
146
|
+
runs/ Execution artifacts (brief + outputs + manifest)
|
|
147
|
+
batches/ Coordinated multi-slot productions
|
|
148
|
+
selections/ Chosen outputs with reasons and provenance
|
|
149
|
+
inbox/generated/ Re-ingested images awaiting review
|
|
97
150
|
```
|
|
98
151
|
|
|
99
|
-
##
|
|
152
|
+
## Proprietà di affidabilità
|
|
100
153
|
|
|
101
|
-
|
|
154
|
+
Queste non sono semplici aspirazioni. Sono applicate rigorosamente.
|
|
102
155
|
|
|
103
|
-
- **Gli snapshot sono immutabili.** L'impronta
|
|
104
|
-
- **Le suddivisioni
|
|
105
|
-
- **I
|
|
106
|
-
- **Gli adattatori non possono alterare
|
|
107
|
-
- **Gli output generati vengono
|
|
156
|
+
- **Gli snapshot sono immutabili.** L'impronta della configurazione (SHA-256) dimostra che nulla è stato modificato.
|
|
157
|
+
- **Le suddivisioni prevengono perdite di dati.** Le famiglie di soggetti (per identità, discendenza o suffisso ID) non si sovrappongono mai tra le diverse partizioni.
|
|
158
|
+
- **I manifest sono contratti vincolanti.** Hash dell'esportazione + impronta della configurazione. Se qualcosa cambia, crearne uno nuovo.
|
|
159
|
+
- **Gli adattatori non possono alterare la verità.** Layout diverso, stessi record. Nessuna aggiunta, nessuna rimozione, nessuna riclassificazione.
|
|
160
|
+
- **Gli output generati vengono rielaborati tramite revisione.** Nessun bypass. Curare e collegare come tutto il resto.
|
|
108
161
|
|
|
109
162
|
## Star Freight
|
|
110
163
|
|
|
111
|
-
Il repository include un esempio completo
|
|
164
|
+
Il repository include un esempio completo funzionante: 1.182 record, 5 fazioni, 7 percorsi, 24 regole costitutive, 892 risorse approvate, 2 profili di addestramento. Un canone visivo di fantascienza RPG, completamente curato.
|
|
112
165
|
|
|
113
166
|
```bash
|
|
114
167
|
git clone https://github.com/mcp-tool-shop-org/style-dataset-lab
|
|
@@ -118,9 +171,9 @@ sdlab snapshot create --project star-freight # 839 eligible records
|
|
|
118
171
|
sdlab split build --project star-freight # zero subject leakage
|
|
119
172
|
```
|
|
120
173
|
|
|
121
|
-
## Formati
|
|
174
|
+
## Formati downstream
|
|
122
175
|
|
|
123
|
-
`sdlab` è
|
|
176
|
+
`sdlab` è il proprietario del set di dati. La conversione del formato è gestita da [`repo-dataset`](https://github.com/mcp-tool-shop-org/repo-dataset): TRL, LLaVA, Qwen2-VL, JSONL, Parquet e altro. `repo-dataset` esegue il rendering; non decide mai l'inclusione.
|
|
124
177
|
|
|
125
178
|
## Installazione
|
|
126
179
|
|
|
@@ -128,11 +181,71 @@ sdlab split build --project star-freight # zero subject leakage
|
|
|
128
181
|
npm install -g @mcptoolshop/style-dataset-lab
|
|
129
182
|
```
|
|
130
183
|
|
|
131
|
-
Richiede Node.js 20+ e [ComfyUI](https://github.com/comfyanonymous/ComfyUI)
|
|
184
|
+
Richiede Node.js 20+ e [ComfyUI](https://github.com/comfyanonymous/ComfyUI) su localhost:8188 per la generazione.
|
|
185
|
+
|
|
186
|
+
### Prova senza ComfyUI
|
|
187
|
+
|
|
188
|
+
È possibile esplorare l'intera interfaccia non di generazione (ispezione, curatela, snapshot, suddivisione, esportazione) utilizzando il progetto Star Freight incluso, senza installare ComfyUI o scaricare alcun peso SDXL.
|
|
189
|
+
|
|
190
|
+
```bash
|
|
191
|
+
# Scaffold a fresh project (no ComfyUI needed)
|
|
192
|
+
sdlab init test --domain game-art
|
|
193
|
+
|
|
194
|
+
# Run the canonical health check (no ComfyUI needed)
|
|
195
|
+
sdlab project doctor --project test
|
|
196
|
+
|
|
197
|
+
# Dry-run a snapshot against the bundled Star Freight corpus
|
|
198
|
+
sdlab snapshot create --dry-run --project star-freight
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
`sdlab project doctor` convalida la configurazione di ogni progetto (costituzione, percorsi, rubrica, terminologia) e segnala l'idoneità senza toccare la GPU. Qualsiasi comando che modifica lo stato generato accetta `--dry-run` per visualizzare in anteprima l'effetto.
|
|
202
|
+
|
|
203
|
+
Se si dimentica `--project`, la CLI torna al primo progetto che trova nella cartella `projects/` e stampa un avviso; passare `--project` esplicitamente per disattivare l'avviso.
|
|
204
|
+
|
|
205
|
+
### Ripresa di un'esecuzione interrotta
|
|
206
|
+
|
|
207
|
+
Le lunghe esecuzioni di generazione possono essere riprese senza ripetere il lavoro completato:
|
|
208
|
+
|
|
209
|
+
```bash
|
|
210
|
+
# Skip subjects whose record + image are already on disk.
|
|
211
|
+
# Seeds are preserved — resumed runs are bit-identical to fresh ones.
|
|
212
|
+
sdlab generate inputs/prompts/wave1.json --project my-project --resume
|
|
213
|
+
|
|
214
|
+
# Re-run only failed/missing slots in an existing batch.
|
|
215
|
+
# Inherits mode/subject/theme from the prior manifest.
|
|
216
|
+
sdlab batch generate --resume batch_2026-04-22_001 --project my-project
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
Entrambi i comandi funzionano perché ogni slot scrive la sua voce del manifest in modo atomico al termine; un arresto anomalo durante l'esecuzione non corrompe mai lo stato parziale.
|
|
220
|
+
|
|
221
|
+
## Risoluzione dei problemi
|
|
222
|
+
|
|
223
|
+
Modalità di errore comuni e soluzioni:
|
|
224
|
+
|
|
225
|
+
**`ECONNREFUSED 127.0.0.1:8188` in qualsiasi `sdlab generate` / `sdlab run generate` / `sdlab batch generate`**
|
|
226
|
+
ComfyUI non è in esecuzione. Avviare ComfyUI (`python main.py --listen 127.0.0.1 --port 8188`) e confermare con `curl http://127.0.0.1:8188/system_stats`. Per puntare a un host/porta diverso, impostare `COMFY_URL=http://host:port`.
|
|
227
|
+
|
|
228
|
+
**`missing checkpoint` / `LoRA weight not found`**
|
|
229
|
+
Il profilo del flusso di lavoro fa riferimento a un file modello che non si trova nelle cartelle `models/checkpoints/` o `models/loras/` di ComfyUI. Aprire `projects/<project>/workflows/profiles/<profile>.json`, individuare il campo `checkpoint` o `lora` e scaricare il peso di riferimento oppure sostituirlo con uno che si ha già. Rieseguire `sdlab project doctor --project <project>` per confermare la correzione.
|
|
230
|
+
|
|
231
|
+
**Errori di `sdlab project doctor`**
|
|
232
|
+
Doctor restituisce codici di errore strutturati. Alcuni comuni:
|
|
233
|
+
- `E_PROJECT_NOT_FOUND`: la directory del progetto non esiste in `projects/`. Controllare l'ortografia.
|
|
234
|
+
- `E_CONFIG_INVALID`: uno dei cinque file di configurazione JSON ha fallito la convalida dello schema. Il campo `hint` indica il file e il campo problematici.
|
|
235
|
+
- `E_RECORD_DRIFT`: l'impronta della configurazione di un record non corrisponde più alla sua origine. Rielaborare o ricollegare come suggerisce l'indicazione.
|
|
236
|
+
|
|
237
|
+
**`No --project specified, falling back to <name>`**
|
|
238
|
+
Un avviso lieve. Passare `--project <name>` esplicitamente per selezionare il progetto corretto e disattivare l'avviso.
|
|
239
|
+
|
|
240
|
+
**Problemi di memoria VRAM / "Painterly"**
|
|
241
|
+
Consultare `docs/internal/HANDOFF.md` per le note sulla regolazione del denoising "painterly". In breve: ridurre la forza del denoising, diminuire la dimensione del batch o passare a un checkpoint più piccolo nel profilo del flusso di lavoro.
|
|
242
|
+
|
|
243
|
+
**Segnalazione di bug**
|
|
244
|
+
Aprire una segnalazione su https://github.com/mcp-tool-shop-org/style-dataset-lab/issues con la versione di sdlab (`sdlab --version`), la versione di Node (`node -v`), il comando completo e l'output strutturato dell'errore. Un modello per la segnalazione di bug precompila i campi.
|
|
132
245
|
|
|
133
246
|
## Sicurezza
|
|
134
247
|
|
|
135
|
-
|
|
248
|
+
Solo locale. Nessun telemetria, nessuna analisi, nessuna richiesta esterna. Le immagini rimangono sulla GPU e sul file system.
|
|
136
249
|
|
|
137
250
|
## Licenza
|
|
138
251
|
|
|
@@ -140,4 +253,4 @@ MIT
|
|
|
140
253
|
|
|
141
254
|
---
|
|
142
255
|
|
|
143
|
-
|
|
256
|
+
Realizzato da <a href="https://mcp-tool-shop.github.io/">MCP Tool Shop</a>
|
package/README.ja.md
CHANGED
|
@@ -8,14 +8,16 @@
|
|
|
8
8
|
|
|
9
9
|
<p align="center">
|
|
10
10
|
<a href="https://www.npmjs.com/package/@mcptoolshop/style-dataset-lab"><img src="https://img.shields.io/npm/v/@mcptoolshop/style-dataset-lab" alt="npm"></a>
|
|
11
|
+
<a href="https://github.com/mcp-tool-shop-org/style-dataset-lab/actions/workflows/ci.yml"><img src="https://github.com/mcp-tool-shop-org/style-dataset-lab/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
|
|
12
|
+
<a href="https://codecov.io/gh/mcp-tool-shop-org/style-dataset-lab"><img src="https://codecov.io/gh/mcp-tool-shop-org/style-dataset-lab/branch/main/graph/badge.svg" alt="codecov"></a>
|
|
11
13
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue" alt="MIT License"></a>
|
|
12
14
|
</p>
|
|
13
15
|
|
|
14
|
-
|
|
16
|
+
自分のビジュアルルールを記述します。アートを生成します。すべての画像をそれらのルールに対して評価します。結果をバージョン管理された、監査可能なトレーニングデータとして出力し、次に、トレーニング済みのモデルを実際の制作ワークフローで活用し、最高の出力をコーパスに再投入します。
|
|
15
17
|
|
|
16
|
-
|
|
18
|
+
スタイルデータセットラボは、アートスタイルに関する記述と、実際にトレーニングに使用するデータセットを結びつけ、その後、制作プロセス全体を通してそのループを閉じます。プロジェクトにとって重要な要素(シルエットルール、パレットの制約、マテリアルの表現など)を定義します。パイプラインは候補を生成し、それらをルールに基づいて評価し、承認されたものを再現可能なデータセットにパッケージ化します。各レコードには、なぜそれが含まれたのかが説明されています。
|
|
17
19
|
|
|
18
|
-
|
|
20
|
+
次に、制作ワークベンチが引き継ぎます。プロジェクトの要件から生成指示をまとめ、ComfyUIで実行し、出力を評価し、表現シートや環境ボードを一括作成し、最良の結果を選択して、新しい候補として再取り込みます。このループは、生成、選択、レビュー、強化という流れで閉じられます。
|
|
19
21
|
|
|
20
22
|
## パイプライン
|
|
21
23
|
|
|
@@ -28,59 +30,104 @@ sdlab generate inputs/prompts/wave1.json --project my-project
|
|
|
28
30
|
sdlab curate <id> approved "Strong silhouette, correct faction palette"
|
|
29
31
|
|
|
30
32
|
# Bind approved work to constitution rules
|
|
31
|
-
sdlab bind
|
|
33
|
+
# (`sdlab bind` is a shorter alias for `canon-bind`)
|
|
34
|
+
sdlab canon-bind --project my-project
|
|
32
35
|
|
|
33
36
|
# Freeze a versioned dataset
|
|
34
37
|
sdlab snapshot create --project my-project
|
|
35
38
|
sdlab split build
|
|
36
39
|
sdlab export build
|
|
37
40
|
|
|
38
|
-
# Build a training package
|
|
41
|
+
# Build a training package
|
|
39
42
|
sdlab training-manifest create --profile character-style-lora
|
|
40
43
|
sdlab training-package build
|
|
41
|
-
|
|
42
|
-
|
|
44
|
+
|
|
45
|
+
# Compile a production brief and run it
|
|
46
|
+
sdlab brief compile --workflow character-portrait-set --subject kael_maren
|
|
47
|
+
sdlab run generate --brief brief_2026-04-16_001
|
|
48
|
+
|
|
49
|
+
# Critique, refine, batch-produce
|
|
50
|
+
sdlab critique --run run_2026-04-16_001
|
|
51
|
+
sdlab refine --run run_2026-04-16_001 --pick 001.png
|
|
52
|
+
sdlab batch generate --mode expression-sheet --subject kael_maren
|
|
53
|
+
|
|
54
|
+
# Select the best outputs and bring them back
|
|
55
|
+
sdlab select --run run_2026-04-16_001 --approve 001.png,003.png
|
|
56
|
+
sdlab reingest selected --selection selection_2026-04-16_001
|
|
43
57
|
```
|
|
44
58
|
|
|
45
|
-
|
|
59
|
+
最後のコマンドがポイントです。選択された出力は、他のすべてのものと同様に、同じレビュープロセスを経て再利用されます。コーパスが増加し、ルールは維持されます。
|
|
60
|
+
|
|
61
|
+
## カノンオーサリング
|
|
62
|
+
|
|
63
|
+
データセットパイプラインを実行する前に、`sdlab canon *`名前空間は、プロジェクトのカノンエンティティストアを、実際のトレーニングと制作で使用される3つのプロジェクションに変換し、変更してはならないエントリをロックします。
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
# Build three projections from the canon entity store:
|
|
67
|
+
# dataset.jsonl → training adapters
|
|
68
|
+
# prompts/*.j2 → ComfyUI workflow invocation
|
|
69
|
+
# context/*.md → Role OS narrative dispatch
|
|
70
|
+
sdlab canon build --project my-project
|
|
71
|
+
|
|
72
|
+
# Freeze an entry so regeneration can't silently change it
|
|
73
|
+
sdlab canon freeze kael_maren --project my-project --reason "prologue portrait locked"
|
|
74
|
+
|
|
75
|
+
# Report drift on frozen entries since the last clean build
|
|
76
|
+
sdlab canon drift --project my-project
|
|
77
|
+
```
|
|
46
78
|
|
|
47
|
-
|
|
79
|
+
`canon build`はコンテンツアドレス指定であり、その出力は`canon_sha`でキー付けされ、キャッシュされます。そのため、変更されていないカノンは瞬時に再構築されます。`canon freeze`は、各フリーズを特定のビルドに対して記録し、`freeze-events.jsonl`監査トレイルに追加します。`frozen`エントリは完全に再生成を拒否し、`soft-advisory`エントリはデフォルトで拒否しますが(`--i-know`オプションで回避できます)。`canon drift`は、監視対象のすべてのエントリのハッシュを再計算し、最後のクリーンビルド以降に変更されたものをフラグします。
|
|
48
80
|
|
|
49
|
-
|
|
81
|
+
完全なワークフローについては、ハンドブックをご覧ください。[カノンビルド](handbook/canon-build/)、[カノンフリーズ](handbook/canon-freeze/)、および[Two-LoRAスタッキング](handbook/two-lora-stacking/)。
|
|
50
82
|
|
|
51
|
-
|
|
83
|
+
## 生成されるもの
|
|
84
|
+
|
|
85
|
+
7つのデータセット成果物と完全な制作ワークベンチ。各成果物は、その先行するものにリンクされており、トレーニングレコードを承認したルールまで追跡できます。
|
|
86
|
+
|
|
87
|
+
| 成果物 | 概要 |
|
|
52
88
|
|----------|-----------|
|
|
53
|
-
| **Snapshot** |
|
|
54
|
-
| **Split** |
|
|
55
|
-
| **Export package** |
|
|
56
|
-
| **Eval pack** |
|
|
57
|
-
| **Training package** | アダプター(`diffusers-lora`、`generic-image-caption
|
|
58
|
-
| **Eval scorecard** |
|
|
59
|
-
| **Implementation pack** |
|
|
89
|
+
| **Snapshot** | 構成のフィンガープリントを持つフリーズされたレコード選択。すべての包含には明確な理由があります。 |
|
|
90
|
+
| **Split** | 被験者グループが境界を越えない、トレーニング/検証/テストの分割。 |
|
|
91
|
+
| **Export package** | 自己完結型のデータセット:マニフェスト、メタデータ、画像、分割、データセットカード、チェックサム。 |
|
|
92
|
+
| **Eval pack** | カノンを意識したテストタスク:レーンカバレッジ、禁止されたドリフト、アンカー/ゴールド、被験者の連続性。 |
|
|
93
|
+
| **Training package** | アダプター(`diffusers-lora`、`generic-image-caption`)を介したトレーナー対応のレイアウト。同じ情報でありながら、異なる形式です。 |
|
|
94
|
+
| **Eval scorecard** | 生成された出力を評価パックに対してスコアリングし、タスクごとの合格/不合格を判定します。 |
|
|
95
|
+
| **Implementation pack** | プロンプト例、既知の失敗、連続性テスト、および再取り込みガイダンス。 |
|
|
96
|
+
|
|
97
|
+
制作ワークベンチは以下を追加します:
|
|
60
98
|
|
|
61
|
-
|
|
99
|
+
| 表面 | 機能 |
|
|
100
|
+
|---------|-------------|
|
|
101
|
+
| **Compiled brief** | ワークフロープロファイルとプロジェクトの要件からの決定的な生成指示。 |
|
|
102
|
+
| **Run** | フリーズされた実行成果物:ブリーフィング+シード+ComfyUI出力+マニフェスト。 |
|
|
103
|
+
| **Critique** | カノンに対する実行出力の構造化された多次元評価。 |
|
|
104
|
+
| **Batch** | 調整されたマルチスロット制作(表現シート、環境ボード、シルエットパック)。 |
|
|
105
|
+
| **Selection** | クリエイティブな意思決定成果物:どの出力が選択され、その理由は何で、どこから来たのか。 |
|
|
106
|
+
| **Re-ingest** | 選択された出力は、完全な生成の来歴とともに、候補レコードとして返されます。 |
|
|
62
107
|
|
|
63
|
-
|
|
108
|
+
## このシステムが存在する理由
|
|
64
109
|
|
|
65
|
-
|
|
110
|
+
トレーニングデータは、あらゆるビジュアルAIパイプラインにおいて最も効果的な成果物です。しかし、ほとんどのトレーニングデータは、履歴も、判断の記録も、従うべきスタイルルールとの関連性もない、単なる画像のフォルダーにすぎません。
|
|
66
111
|
|
|
67
|
-
|
|
112
|
+
スタイルデータセットラボは、この関連性を明確にします。あなたの憲法がルールを定義します。あなたのルーブリックがスコアリングの次元を定義します。あなたのキュレーションが判断を記録します。あなたのカノンバインディングがその関連性を証明します。そして、あなたのデータセットは、それらすべてを構造化され、クエリ可能で、再現可能な情報として前進させます。
|
|
68
113
|
|
|
69
|
-
|
|
114
|
+
実用的な結果:LoRAがドリフトした場合、なぜそうなるのかを尋ねることができます。次のトレーニングラウンドにより良いデータが必要な場合、どのレコードがほぼ合格であり、どの単一のルールに失敗したかを正確に知ることができます。新しいチームメンバーがプロジェクトのビジュアル言語について質問した場合、答えはFigmaボードではなく、1,182件の評価された例を含む検索可能な憲法です。
|
|
70
115
|
|
|
71
|
-
|
|
116
|
+
## 5つのドメイン、実際のルール
|
|
72
117
|
|
|
73
|
-
|
|
118
|
+
プレースホルダーテンプレートではありません。各ドメインには、実運用レベルのカノン憲法ルール、レーン定義、スコアリングルーブリック、およびグループ語彙が付属しています。
|
|
119
|
+
|
|
120
|
+
| ドメイン | レーン | 評価対象となるもの |
|
|
74
121
|
|--------|-------|-----------------|
|
|
75
|
-
| **game-art** | キャラクター、環境、小道具、UI
|
|
76
|
-
| **character-design** |
|
|
77
|
-
| **creature-design** |
|
|
78
|
-
| **architecture** |
|
|
79
|
-
| **vehicle-mech** |
|
|
122
|
+
| **game-art** | キャラクター、環境、小道具、UI、船、インテリア、装備 | ゲームプレイ規模でのシルエット、派閥の識別、摩耗と経年変化 |
|
|
123
|
+
| **character-design** | ポートレート、全身像、ターンアラウンド、表現シート、アクションポーズ | プロポーション、衣装の論理、個性、ジェスチャーの明確さ |
|
|
124
|
+
| **creature-design** | コンセプト、オルソグラフィック、詳細な研究、アクション、スケール参照、生息地 | 解剖学、進化の論理、シルエットの区別 |
|
|
125
|
+
| **architecture** | 外観、内装、街並み、構造的な詳細、廃墟、風景 | 構造、マテリアルの整合性、視点、時代の整合性 |
|
|
126
|
+
| **vehicle-mech** | 外観、コックピット、コンポーネント、図面、シルエットシート、損傷バリアント | 機械的な論理、デザイン言語、アクセスポイント、損傷の物語 |
|
|
80
127
|
|
|
81
|
-
##
|
|
128
|
+
## プロジェクトの構造
|
|
82
129
|
|
|
83
|
-
|
|
130
|
+
各プロジェクトは独立しています。5つのJSON設定ファイルでルールを定義します。それ以外はすべてデータです。
|
|
84
131
|
|
|
85
132
|
```
|
|
86
133
|
projects/my-project/
|
|
@@ -94,21 +141,27 @@ projects/my-project/
|
|
|
94
141
|
splits/ Train/val/test partitions
|
|
95
142
|
exports/ Versioned export packages
|
|
96
143
|
training/ Profiles, manifests, packages, eval runs, implementations
|
|
144
|
+
workflows/ Workflow profiles + batch mode definitions
|
|
145
|
+
briefs/ Compiled generation briefs
|
|
146
|
+
runs/ Execution artifacts (brief + outputs + manifest)
|
|
147
|
+
batches/ Coordinated multi-slot productions
|
|
148
|
+
selections/ Chosen outputs with reasons and provenance
|
|
149
|
+
inbox/generated/ Re-ingested images awaiting review
|
|
97
150
|
```
|
|
98
151
|
|
|
99
|
-
##
|
|
152
|
+
## 信頼性のためのプロパティ
|
|
100
153
|
|
|
101
|
-
|
|
154
|
+
これらは理想的なものではありません。強制的に適用されます。
|
|
102
155
|
|
|
103
|
-
- **スナップショットは不変です。** 設定のフィンガープリント(SHA-256
|
|
104
|
-
-
|
|
105
|
-
- **マニフェストは固定された契約です。**
|
|
106
|
-
-
|
|
107
|
-
-
|
|
156
|
+
- **スナップショットは不変です。** 設定のフィンガープリント(SHA-256)により、変更がないことが証明されます。
|
|
157
|
+
- **分割によってデータの漏洩を防ぎます。** サブジェクトファミリー(ID、系統、またはIDサフィックスによる)は、決してパーティション境界を越えません。
|
|
158
|
+
- **マニフェストは固定された契約です。** エクスポートハッシュ + 設定フィンガープリント。変更がある場合は、新しいものを生成します。
|
|
159
|
+
- **アダプターは真実を変更できません。** レイアウトは異なりますが、レコードは同じです。追加、削除、再分類はありません。
|
|
160
|
+
- **生成された出力は、レビューを通じて再度利用されます。** バイパスはありません。他のものと同様に、キュレーションとバインドを行います。
|
|
108
161
|
|
|
109
|
-
##
|
|
162
|
+
## スター・フレイト
|
|
110
163
|
|
|
111
|
-
|
|
164
|
+
このリポジトリには、完全な動作例が含まれています:1,182件のレコード、5つの派閥、7つのルート、24の憲法ルール、892個の承認済みアセット、2つのトレーニングプロファイル。洗練されたSF RPGのビジュアルカノンで、完全にキュレーションされています。
|
|
112
165
|
|
|
113
166
|
```bash
|
|
114
167
|
git clone https://github.com/mcp-tool-shop-org/style-dataset-lab
|
|
@@ -118,9 +171,9 @@ sdlab snapshot create --project star-freight # 839 eligible records
|
|
|
118
171
|
sdlab split build --project star-freight # zero subject leakage
|
|
119
172
|
```
|
|
120
173
|
|
|
121
|
-
##
|
|
174
|
+
## 下流形式
|
|
122
175
|
|
|
123
|
-
`sdlab
|
|
176
|
+
`sdlab`がデータセットを所有します。フォーマット変換は[`repo-dataset`](https://github.com/mcp-tool-shop-org/repo-dataset)によって処理されます:TRL、LLaVA、Qwen2-VL、JSONL、Parquetなど。`repo-dataset`はレンダリングを行い、データの選択は行いません。
|
|
124
177
|
|
|
125
178
|
## インストール
|
|
126
179
|
|
|
@@ -128,11 +181,71 @@ sdlab split build --project star-freight # zero subject leakage
|
|
|
128
181
|
npm install -g @mcptoolshop/style-dataset-lab
|
|
129
182
|
```
|
|
130
183
|
|
|
131
|
-
|
|
184
|
+
Node.js 20+と、ローカルホストの8188ポートで動作する[ComfyUI](https://github.com/comfyanonymous/ComfyUI)が必要です(生成用)。
|
|
185
|
+
|
|
186
|
+
### ComfyUIなしで試す
|
|
187
|
+
|
|
188
|
+
バンドルされたスター・フレイトプロジェクトを使用して、完全な非生成機能(検査、キュレーション、スナップショット、分割、エクスポート)を、ComfyUIのインストールやSDXLウェイトのダウンロードなしで探索できます。
|
|
189
|
+
|
|
190
|
+
```bash
|
|
191
|
+
# Scaffold a fresh project (no ComfyUI needed)
|
|
192
|
+
sdlab init test --domain game-art
|
|
193
|
+
|
|
194
|
+
# Run the canonical health check (no ComfyUI needed)
|
|
195
|
+
sdlab project doctor --project test
|
|
196
|
+
|
|
197
|
+
# Dry-run a snapshot against the bundled Star Freight corpus
|
|
198
|
+
sdlab snapshot create --dry-run --project star-freight
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
`sdlab project doctor`は、すべてのプロジェクト設定(憲法、ルート、ルーブリック、用語)を検証し、GPUに触れることなく有効性を報告します。生成された状態を変更するコマンドはすべて、最初に効果をプレビューするために`--dry-run`を受け入れます。
|
|
202
|
+
|
|
203
|
+
`--project`を忘れた場合、CLIは`projects/`の下で最初に見つかったプロジェクトにフォールバックし、警告を表示します。警告を抑制するには、`--project`を明示的に指定してください。
|
|
204
|
+
|
|
205
|
+
### 中断された実行の再開
|
|
206
|
+
|
|
207
|
+
長時間の生成実行は、完了した作業をやり直さずに再開できます。
|
|
208
|
+
|
|
209
|
+
```bash
|
|
210
|
+
# Skip subjects whose record + image are already on disk.
|
|
211
|
+
# Seeds are preserved — resumed runs are bit-identical to fresh ones.
|
|
212
|
+
sdlab generate inputs/prompts/wave1.json --project my-project --resume
|
|
213
|
+
|
|
214
|
+
# Re-run only failed/missing slots in an existing batch.
|
|
215
|
+
# Inherits mode/subject/theme from the prior manifest.
|
|
216
|
+
sdlab batch generate --resume batch_2026-04-22_001 --project my-project
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
両方のコマンドが機能するのは、各スロットが完了時にマニフェストエントリをアトミックに書き込むためです。実行中にクラッシュが発生しても、部分的な状態が破損することはありません。
|
|
220
|
+
|
|
221
|
+
## トラブルシューティング
|
|
222
|
+
|
|
223
|
+
一般的なエラーとその修正:
|
|
224
|
+
|
|
225
|
+
**`sdlab generate` / `sdlab run generate` / `sdlab batch generate`のいずれかで`ECONNREFUSED 127.0.0.1:8188`が発生した場合**
|
|
226
|
+
ComfyUIが実行されていません。ComfyUIを起動します(`python main.py --listen 127.0.0.1 --port 8188`)そして、`curl http://127.0.0.1:8188/system_stats`で確認してください。別のホスト/ポートを指定するには、`COMFY_URL=http://host:port`を設定します。
|
|
227
|
+
|
|
228
|
+
**`missing checkpoint` / `LoRA weight not found`**
|
|
229
|
+
ワークフロープロファイルで、ComfyUIの`models/checkpoints/`または`models/loras/`フォルダにないモデルファイルを指定しています。`projects/<project>/workflows/profiles/<profile>.json`を開き、`checkpoint`または`lora`フィールドを見つけて、参照されているウェイトをダウンロードするか、すでに持っているものと置き換えます。`sdlab project doctor --project <project>`を再実行して、修正を確認します。
|
|
230
|
+
|
|
231
|
+
**`sdlab project doctor`のエラー**
|
|
232
|
+
Doctorは構造化されたエラーコードを返します。一般的なもの:
|
|
233
|
+
- `E_PROJECT_NOT_FOUND` — プロジェクトディレクトリが`projects/`の下に存在しません。スペルを確認してください。
|
|
234
|
+
- `E_CONFIG_INVALID` — 5つのJSON設定ファイルのいずれかが、スキーマ検証に失敗しました。`hint`フィールドには、問題のあるファイルとフィールドの名前が表示されます。
|
|
235
|
+
- `E_RECORD_DRIFT` — レコードの設定フィンガープリントが、そのソースと一致しなくなりました。ヒントに従って、再キュレーションまたは再バインドしてください。
|
|
236
|
+
|
|
237
|
+
**`No --project specified, falling back to <name>`**
|
|
238
|
+
軽度の警告です。`--project <name>`を明示的に指定して、適切なプロジェクトを選択し、警告を抑制します。
|
|
239
|
+
|
|
240
|
+
**Painterly / VRAMのメモリ不足の問題**
|
|
241
|
+
`docs/internal/HANDOFF.md`を参照して、Painterlyのデノイズ調整に関する注意事項を確認してください。要するに:デノイズ強度を下げたり、バッチサイズを減らしたり、ワークフロープロファイルでより小さいチェックポイントに切り替えたりします。
|
|
242
|
+
|
|
243
|
+
**バグの報告**
|
|
244
|
+
https://github.com/mcp-tool-shop-org/style-dataset-lab/issues に、sdlabバージョン(`sdlab --version`)、Nodeバージョン(`node -v`)、完全なコマンド、および構造化されたエラー出力を添えて問題を報告してください。バグ報告テンプレートには、フィールドが事前に設定されています。
|
|
132
245
|
|
|
133
246
|
## セキュリティ
|
|
134
247
|
|
|
135
|
-
|
|
248
|
+
ローカルでのみ動作します。テレメトリ、分析、外部リクエストはありません。画像はGPUとファイルシステムにのみ保存されます。
|
|
136
249
|
|
|
137
250
|
## ライセンス
|
|
138
251
|
|
|
@@ -140,4 +253,4 @@ MIT
|
|
|
140
253
|
|
|
141
254
|
---
|
|
142
255
|
|
|
143
|
-
|
|
256
|
+
MCP Tool Shopによって作成されました。
|