@mcptoolshop/style-dataset-lab 3.0.0 → 3.1.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 +108 -15
- package/CODE_OF_CONDUCT.md +9 -0
- package/CONTRIBUTING.md +71 -0
- package/README.es.md +99 -8
- package/README.fr.md +100 -9
- package/README.hi.md +102 -9
- package/README.it.md +99 -8
- package/README.ja.md +100 -9
- package/README.md +64 -1
- package/README.pt-BR.md +99 -8
- package/README.zh.md +100 -9
- package/SECURITY.md +6 -5
- package/bin/sdlab.js +289 -62
- package/lib/adapters/comfyui-runner.js +11 -15
- package/lib/adapters/diffusers-lora.js +7 -2
- package/lib/adapters/generic-image-caption.js +6 -1
- package/lib/args.js +200 -13
- package/lib/batch-compiler.js +7 -3
- package/lib/batch-runs.js +162 -31
- package/lib/batch-sheet-render.js +5 -2
- package/lib/brief-compiler.js +38 -11
- package/lib/card.js +11 -4
- package/lib/comfyui-output.js +70 -0
- package/lib/comfyui.js +100 -6
- package/lib/config.js +68 -3
- package/lib/deprecation.js +1 -1
- package/lib/eval-pack.js +94 -4
- package/lib/eval-runs.js +42 -3
- package/lib/export.js +144 -34
- package/lib/implementation-packs.js +15 -1
- package/lib/log.js +41 -4
- package/lib/paths.js +41 -3
- package/lib/refine-briefs.js +16 -9
- package/lib/reingest-selected.js +14 -3
- package/lib/reingest.js +15 -1
- package/lib/run-summary.js +3 -2
- package/lib/runtime-runs.js +59 -9
- package/lib/selections.js +54 -2
- package/lib/snapshot.js +100 -7
- package/lib/split.js +175 -17
- package/lib/training-adapters.js +79 -0
- package/lib/training-manifests.js +17 -3
- package/lib/training-packages.js +29 -28
- package/lib/training-profiles.js +10 -0
- package/package.json +27 -3
- package/scripts/batch-generate.js +72 -20
- package/scripts/batch-sheet.js +3 -3
- package/scripts/batch-show.js +3 -3
- package/scripts/brief-compile.js +8 -8
- package/scripts/brief-show.js +4 -3
- package/scripts/canon-bind.js +7 -9
- package/scripts/card.js +22 -25
- package/scripts/compare.js +38 -33
- package/scripts/critique-show.js +3 -3
- package/scripts/critique.js +3 -3
- package/scripts/curate.js +91 -46
- package/scripts/doctor.js +3 -5
- package/scripts/eligibility.js +17 -14
- package/scripts/eval-pack.js +13 -11
- package/scripts/eval-run.js +30 -29
- package/scripts/export.js +27 -31
- package/scripts/generate-controlnet.js +31 -17
- package/scripts/generate-identity.js +37 -20
- package/scripts/generate-ipadapter.js +22 -16
- package/scripts/generate.js +96 -29
- package/scripts/implementation-pack.js +19 -14
- package/scripts/init.js +115 -17
- package/scripts/painterly.js +8 -10
- package/scripts/refine.js +3 -3
- package/scripts/reingest-selected.js +3 -3
- package/scripts/reingest.js +33 -20
- package/scripts/run-generate.js +4 -4
- package/scripts/run-list.js +3 -3
- package/scripts/run-show.js +3 -3
- package/scripts/select.js +5 -4
- package/scripts/selection-show.js +3 -3
- package/scripts/snapshot.js +22 -24
- package/scripts/split.js +26 -31
- package/scripts/training-manifest.js +29 -24
- package/scripts/training-package.js +24 -20
- package/scripts/training-profile.js +13 -8
- package/scripts/workflow-list.js +2 -2
- package/scripts/workflow-show.js +4 -3
- package/templates/domains/architecture/inputs/prompts/example-wave.json +32 -0
- package/templates/domains/architecture/terminology.json +10 -8
- package/templates/domains/character-design/inputs/prompts/example-wave.json +32 -0
- package/templates/domains/character-design/project.json +4 -2
- package/templates/domains/creature-design/inputs/prompts/example-wave.json +32 -0
- package/templates/domains/creature-design/project.json +4 -2
- package/templates/domains/creature-design/terminology.json +1 -0
- package/templates/domains/game-art/inputs/prompts/example-wave.json +37 -0
- package/templates/domains/game-art/project.json +4 -2
- package/templates/domains/vehicle-mech/inputs/prompts/example-wave.json +37 -0
- package/templates/domains/vehicle-mech/project.json +4 -2
- package/scripts/bulk-curate-wave2-5.js +0 -138
- package/scripts/bulk-curate-waves11-18.js +0 -413
- package/scripts/curate-wave25.js +0 -209
- package/scripts/migrate-records.js +0 -141
- package/templates/inputs/prompts/example-wave.json +0 -27
package/README.hi.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,25 +30,37 @@ 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
|
+
"वह अंतिम आदेश महत्वपूर्ण है। चुने गए आउटपुट भी बाकी सब कुछ की तरह ही, उसी समीक्षा प्रक्रिया से गुजरते हैं। डेटा संग्रह लगातार बढ़ रहा है और नियम अभी भी लागू हैं।"
|
|
46
60
|
|
|
47
61
|
## यह क्या उत्पादित करता है।
|
|
48
62
|
|
|
49
|
-
सात
|
|
63
|
+
सात डेटासेट संबंधी अभिलेखागार (आर्टिफैक्ट) और एक पूर्ण उत्पादन कार्यक्षेत्र उपलब्ध हैं। प्रत्येक अभिलेखागार अपने पूर्ववर्ती अभिलेखागार से जुड़ा हुआ है, जिससे आप किसी भी प्रशिक्षण रिकॉर्ड को उस नियम तक वापस खोज सकते हैं जिसने उसे स्वीकृत किया था।
|
|
50
64
|
|
|
51
65
|
| पुरातत्विक वस्तु। | यह क्या है। |
|
|
52
66
|
|----------|-----------|
|
|
@@ -58,6 +72,17 @@ sdlab reingest generated --source ./outputs --manifest <id>
|
|
|
58
72
|
| **Eval scorecard** | प्रत्येक कार्य के लिए, स्कोरिंग के आधार पर उत्पन्न परिणामों की तुलना मूल्यांकन पैकों से की जाती है, और यह निर्धारित किया जाता है कि परिणाम पास हुआ है या फेल। |
|
|
59
73
|
| **Implementation pack** | त्वरित उदाहरण, ज्ञात विफलताएं, निरंतरता परीक्षण, और पुनः उपयोग के लिए मार्गदर्शन। |
|
|
60
74
|
|
|
75
|
+
उत्पादन कार्यक्षेत्र में निम्नलिखित विशेषताएं शामिल हैं:
|
|
76
|
+
|
|
77
|
+
| सतह। | यह क्या करता है। |
|
|
78
|
+
|---------|-------------|
|
|
79
|
+
| **Compiled brief** | कार्यप्रवाह प्रोफाइल और परियोजना की वास्तविक जानकारी के आधार पर, एक निश्चित (निर्धारित) पीढ़ी निर्देश। |
|
|
80
|
+
| **Run** | फ्रीज किए गए निष्पादन कलाकृतियाँ: संक्षिप्त विवरण + बीज (seeds) + कॉमफीयूआई (ComfyUI) के आउटपुट + मैनिफेस्ट (manifest)। |
|
|
81
|
+
| **Critique** | "रन आउटपुट का मानकीकृत, बहु-आयामी मूल्यांकन, जो कि एक स्थापित मानक के आधार पर किया जाता है।" |
|
|
82
|
+
| **Batch** | समन्वित, बहु-स्लॉट उत्पादन (एक्सप्रेशन शीट, पर्यावरण संबंधी बोर्ड, सिल्हूट पैक)। |
|
|
83
|
+
| **Selection** | रचनात्मक निर्णय का दस्तावेज़: किन परिणामों का चयन किया गया, क्यों किया गया, और वे कहाँ से प्राप्त हुए। |
|
|
84
|
+
| **Re-ingest** | चयनित परिणाम "उम्मीदवार रिकॉर्ड" के रूप में वापस आते हैं, जिनमें पूरी जानकारी शामिल होती है कि वे कैसे उत्पन्न हुए। |
|
|
85
|
+
|
|
61
86
|
## यह क्यों मौजूद है?
|
|
62
87
|
|
|
63
88
|
प्रशिक्षण डेटा किसी भी विज़ुअल एआई प्रणाली में सबसे महत्वपूर्ण घटक होता है। लेकिन अधिकांश प्रशिक्षण डेटा छवियों का एक संग्रह होता है, जिसमें कोई पृष्ठभूमि जानकारी, कोई मूल्यांकन प्रक्रिया, और उन शैलीगत नियमों से कोई संबंध नहीं होता जिनका पालन करने की अपेक्षा की जाती थी।
|
|
@@ -94,6 +119,12 @@ projects/my-project/
|
|
|
94
119
|
splits/ Train/val/test partitions
|
|
95
120
|
exports/ Versioned export packages
|
|
96
121
|
training/ Profiles, manifests, packages, eval runs, implementations
|
|
122
|
+
workflows/ Workflow profiles + batch mode definitions
|
|
123
|
+
briefs/ Compiled generation briefs
|
|
124
|
+
runs/ Execution artifacts (brief + outputs + manifest)
|
|
125
|
+
batches/ Coordinated multi-slot productions
|
|
126
|
+
selections/ Chosen outputs with reasons and provenance
|
|
127
|
+
inbox/generated/ Re-ingested images awaiting review
|
|
97
128
|
```
|
|
98
129
|
|
|
99
130
|
## ट्रस्ट की संपत्ति।
|
|
@@ -130,13 +161,75 @@ npm install -g @mcptoolshop/style-dataset-lab
|
|
|
130
161
|
|
|
131
162
|
इसके लिए Node.js 20+ और [ComfyUI](https://github.com/comfyanonymous/ComfyUI) की आवश्यकता है, जो localhost:8188 पर चल रहा होना चाहिए, ताकि सामग्री उत्पन्न की जा सके।
|
|
132
163
|
|
|
164
|
+
### इसे बिना ComfyUI के आज़माएं।
|
|
165
|
+
|
|
166
|
+
आप "स्टार फ्रेट" नामक प्रोजेक्ट का उपयोग करके, बिना किसी भी अतिरिक्त सॉफ़्टवेयर को स्थापित किए या किसी भी एसडीएक्सएल फ़ाइल को डाउनलोड किए, "नॉन-जेनरेशन" (गैर-उत्पादन) की सभी सुविधाओं का पता लगा सकते हैं, जैसे कि निरीक्षण, चयन, स्नैपशॉट, विभाजन और निर्यात।
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
# Scaffold a fresh project (no ComfyUI needed)
|
|
170
|
+
sdlab init test --domain game-art
|
|
171
|
+
|
|
172
|
+
# Run the canonical health check (no ComfyUI needed)
|
|
173
|
+
sdlab project doctor --project test
|
|
174
|
+
|
|
175
|
+
# Dry-run a snapshot against the bundled Star Freight corpus
|
|
176
|
+
sdlab snapshot create --dry-run --project star-freight
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
`sdlab प्रोजेक्ट डॉक्टर` प्रत्येक प्रोजेक्ट कॉन्फ़िगरेशन (संरचना, चरण, मूल्यांकन मानदंड, शब्दावली) की जांच करता है और बिना ग्राफिक्स प्रोसेसिंग यूनिट (GPU) का उपयोग किए, परियोजना की पात्रता की रिपोर्ट देता है। कोई भी कमांड जो उत्पन्न डेटा को बदलता है, `--dry-run` विकल्प के साथ उपयोग किया जा सकता है ताकि पहले उसके प्रभाव को देखा जा सके।
|
|
180
|
+
|
|
181
|
+
यदि आप `--project` विकल्प को भूल जाते हैं, तो कमांड-लाइन इंटरफेस (CLI) `projects/` फ़ोल्डर के अंतर्गत पाए जाने वाले पहले प्रोजेक्ट का उपयोग करेगा और एक चेतावनी प्रदर्शित करेगा। इस चेतावनी को बंद करने के लिए, `--project` विकल्प को स्पष्ट रूप से निर्दिष्ट करें।
|
|
182
|
+
|
|
183
|
+
### अवरुद्ध प्रक्रिया को फिर से शुरू करना
|
|
184
|
+
|
|
185
|
+
लंबे समय तक चलने वाली प्रक्रियाओं को फिर से शुरू किया जा सकता है बिना पहले से किए गए काम को दोहराए:
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
# Skip subjects whose record + image are already on disk.
|
|
189
|
+
# Seeds are preserved — resumed runs are bit-identical to fresh ones.
|
|
190
|
+
sdlab generate inputs/prompts/wave1.json --project my-project --resume
|
|
191
|
+
|
|
192
|
+
# Re-run only failed/missing slots in an existing batch.
|
|
193
|
+
# Inherits mode/subject/theme from the prior manifest.
|
|
194
|
+
sdlab batch generate --resume batch_2026-04-22_001 --project my-project
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
दोनों कमांड काम करते हैं क्योंकि प्रत्येक स्लॉट अपनी मैनिफेस्ट प्रविष्टि को पूरा होने पर एक साथ लिखता है - प्रक्रिया के बीच में होने वाली किसी भी खराबी से आंशिक स्थिति दूषित नहीं होती है।
|
|
198
|
+
|
|
199
|
+
## समस्या निवारण।
|
|
200
|
+
|
|
201
|
+
सामान्य खराबी के प्रकार और उनके समाधान:
|
|
202
|
+
|
|
203
|
+
`ECONNREFUSED 127.0.0.1:8188` - यह त्रुटि `sdlab generate`, `sdlab run generate` या `sdlab batch generate` कमांड चलाने के दौरान आ सकती है।
|
|
204
|
+
|
|
205
|
+
ComfyUI चल नहीं रहा है। ComfyUI को शुरू करें (`python main.py --listen 127.0.0.1 --port 8188`) और `curl http://127.0.0.1:8188/system_stats` कमांड से इसकी पुष्टि करें। यदि आप किसी अन्य होस्ट/पोर्ट का उपयोग करना चाहते हैं, तो `COMFY_URL=http://होस्ट:पोर्ट` सेट करें।
|
|
206
|
+
|
|
207
|
+
**`चेकपॉइंट गुम है` / `LoRA फ़ाइल नहीं मिली`**
|
|
208
|
+
|
|
209
|
+
आपके वर्कफ़्लो प्रोफाइल में एक मॉडल फ़ाइल का नाम दिया गया है जो ComfyUI के `models/checkpoints/` या `models/loras/` फ़ोल्डर में मौजूद नहीं है। `projects/<प्रोजेक्ट>/workflows/profiles/<प्रोफाइल>.json` फ़ाइल खोलें, `checkpoint` या `lora` फ़ील्ड ढूंढें, और या तो संदर्भित फ़ाइल को डाउनलोड करें या उसे उस फ़ाइल से बदल दें जो आपके पास पहले से है। सुधार की पुष्टि करने के लिए `sdlab project doctor --project <प्रोजेक्ट>` कमांड को फिर से चलाएं।
|
|
210
|
+
|
|
211
|
+
**`sdlab प्रोजेक्ट डॉक्टर` त्रुटियां**
|
|
212
|
+
डॉक्टर संरचित त्रुटि कोड लौटाता है। कुछ सामान्य त्रुटियां:
|
|
213
|
+
- `E_PROJECT_NOT_FOUND` — "projects/" फ़ोल्डर के अंतर्गत प्रोजेक्ट डायरेक्टरी मौजूद नहीं है। वर्तनी की जांच करें।
|
|
214
|
+
- `E_CONFIG_INVALID` — पांच JSON कॉन्फ़िगरेशन फ़ाइलों में से किसी एक में स्कीमा सत्यापन विफल हो गया है। "hint" फ़ील्ड में उस गलत फ़ाइल और फ़ील्ड का नाम दिया गया है।
|
|
215
|
+
- `E_RECORD_DRIFT` — किसी रिकॉर्ड के कॉन्फ़िगरेशन फ़िंगरप्रिंट अब उसके स्रोत से मेल नहीं खाते हैं। "hint" में दिए गए सुझाव के अनुसार, इसे फिर से व्यवस्थित करें या फिर से जोड़ें।
|
|
216
|
+
|
|
217
|
+
**`कोई प्रोजेक्ट निर्दिष्ट नहीं है, इसलिए डिफ़ॉल्ट रूप से <नाम> का उपयोग किया जा रहा है`**
|
|
218
|
+
यह एक चेतावनी संदेश है। सही प्रोजेक्ट का चयन करने और इस चेतावनी को बंद करने के लिए `--project <नाम>` विकल्प का स्पष्ट रूप से उपयोग करें।
|
|
219
|
+
|
|
220
|
+
**पेंटरली / वीआरएएम (VRAM) मेमोरी से बाहर होने की समस्याएँ**
|
|
221
|
+
"पेंटरली" डीनोइजिंग (denoise) के ट्यूनिंग नोट्स के लिए, `docs/internal/HANDOFF.md` देखें। संक्षेप में: डीनोइजिंग की शक्ति को कम करें, बैच का आकार घटाएं, या अपने वर्कफ़्लो प्रोफाइल में छोटे चेकपॉइंट का उपयोग करें।
|
|
222
|
+
|
|
223
|
+
**बग की रिपोर्ट करना**
|
|
224
|
+
https://github.com/mcp-tool-shop-org/style-dataset-lab/issues पर एक मुद्दा दर्ज करें, जिसमें आपके sdlab संस्करण (`sdlab --version`), नोड संस्करण (`node -v`), पूरा कमांड और संरचित त्रुटि आउटपुट शामिल हों। एक बग रिपोर्ट टेम्पलेट स्वचालित रूप से फ़ील्ड को भर देगा।
|
|
225
|
+
|
|
133
226
|
## सुरक्षा
|
|
134
227
|
|
|
135
228
|
यह केवल स्थानीय रूप से काम करता है। इसमें कोई टेलीमेट्री, कोई विश्लेषण और कोई बाहरी अनुरोध शामिल नहीं हैं। छवियां आपके GPU और फ़ाइल सिस्टम पर ही रहती हैं।
|
|
136
229
|
|
|
137
230
|
## लाइसेंस
|
|
138
231
|
|
|
139
|
-
MIT
|
|
232
|
+
एमआईटी (MIT)
|
|
140
233
|
|
|
141
234
|
---
|
|
142
235
|
|
package/README.it.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
|
+
Definisci le tue regole visive. Genera immagini. Valuta ogni immagine in base a quelle regole. Invia i risultati come dati di addestramento versionati e verificabili, quindi metti in funzione i modelli addestrati nei flussi di lavoro di produzione reali e reinserisci i risultati migliori nel tuo database.
|
|
15
17
|
|
|
16
18
|
Style Dataset Lab collega le caratteristiche del vostro stile artistico definite in precedenza al set di dati utilizzato per l'addestramento. Definite una "costituzione" che includa regole sulla silhouette, vincoli di palette, linguaggio dei materiali, o qualsiasi altro aspetto rilevante per il vostro progetto. Il sistema genera candidati, li valuta in base a tali regole e confeziona le opere approvate in set di dati riproducibili, in cui ogni elemento spiega perché è stato incluso.
|
|
17
19
|
|
|
18
|
-
|
|
20
|
+
Successivamente, entra in gioco l'ambiente di lavoro di produzione: compila le istruzioni di generazione a partire dalle informazioni del progetto, eseguile tramite ComfyUI, valuta i risultati, genera in batch fogli di espressioni e schemi ambientali, seleziona i risultati migliori e reinseriscili come nuovi candidati. Il ciclo si chiude: genera, seleziona, valuta, migliora.
|
|
19
21
|
|
|
20
22
|
## La pipeline
|
|
21
23
|
|
|
@@ -28,25 +30,37 @@ 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
|
+
Quest'ultimo comando è fondamentale. I risultati selezionati vengono sottoposti allo stesso processo di valutazione di tutto il resto. Il database cresce e le regole rimangono valide.
|
|
46
60
|
|
|
47
61
|
## Cosa produce
|
|
48
62
|
|
|
49
|
-
|
|
63
|
+
Sono disponibili sette elementi del database e un intero ambiente di lavoro di produzione. Ogni elemento è collegato ai suoi predecessori, in modo da poter risalire a qualsiasi record di addestramento alla regola che lo ha approvato.
|
|
50
64
|
|
|
51
65
|
| Artefatto. | Cos'è. |
|
|
52
66
|
|----------|-----------|
|
|
@@ -58,6 +72,17 @@ Sette artefatti versionati e con checksum. Ognuno è collegato ai suoi predecess
|
|
|
58
72
|
| **Eval scorecard** | Valutazione di superamento/non superamento per ogni compito, in base alla valutazione dei risultati generati rispetto ai set di valutazione. |
|
|
59
73
|
| **Implementation pack** | Esempi di prompt, errori noti, test di continuità e indicazioni per il reinserimento. |
|
|
60
74
|
|
|
75
|
+
L'ambiente di lavoro di produzione offre:
|
|
76
|
+
|
|
77
|
+
| Superficie di interazione | Cosa fa |
|
|
78
|
+
|---------|-------------|
|
|
79
|
+
| **Compiled brief** | Generazione deterministica a partire dal profilo del flusso di lavoro e dalle informazioni del progetto. |
|
|
80
|
+
| **Run** | Artefatto di esecuzione stabile: istruzioni + seed + output di ComfyUI + manifest. |
|
|
81
|
+
| **Critique** | Valutazione strutturata e multidimensionale dei risultati rispetto al modello di riferimento. |
|
|
82
|
+
| **Batch** | Produzione coordinata su più canali (fogli di espressioni, schemi ambientali, pacchetti di silhouette). |
|
|
83
|
+
| **Selection** | Artefatto delle decisioni creative: quali output sono stati scelti, perché e da dove provengono. |
|
|
84
|
+
| **Re-ingest** | Gli output selezionati vengono restituiti come record candidati con la completa provenienza della generazione. |
|
|
85
|
+
|
|
61
86
|
## Perché esiste
|
|
62
87
|
|
|
63
88
|
I dati di addestramento sono l'elemento più importante in qualsiasi pipeline di intelligenza artificiale visiva. Tuttavia, la maggior parte dei dati di addestramento è costituita da una cartella di immagini senza una cronologia, senza una traccia di valutazione e senza un collegamento alle regole di stile che avrebbero dovuto seguire.
|
|
@@ -94,6 +119,12 @@ projects/my-project/
|
|
|
94
119
|
splits/ Train/val/test partitions
|
|
95
120
|
exports/ Versioned export packages
|
|
96
121
|
training/ Profiles, manifests, packages, eval runs, implementations
|
|
122
|
+
workflows/ Workflow profiles + batch mode definitions
|
|
123
|
+
briefs/ Compiled generation briefs
|
|
124
|
+
runs/ Execution artifacts (brief + outputs + manifest)
|
|
125
|
+
batches/ Coordinated multi-slot productions
|
|
126
|
+
selections/ Chosen outputs with reasons and provenance
|
|
127
|
+
inbox/generated/ Re-ingested images awaiting review
|
|
97
128
|
```
|
|
98
129
|
|
|
99
130
|
## Principi fondamentali
|
|
@@ -130,6 +161,66 @@ npm install -g @mcptoolshop/style-dataset-lab
|
|
|
130
161
|
|
|
131
162
|
Richiede Node.js 20+ e [ComfyUI](https://github.com/comfyanonymous/ComfyUI) installato localmente all'indirizzo localhost:8188 per la generazione.
|
|
132
163
|
|
|
164
|
+
### Prova senza ComfyUI
|
|
165
|
+
|
|
166
|
+
È possibile esplorare l'intera interfaccia di interazione, escluse le funzioni di generazione, tramite l'ispezione, la curatela, lo snapshot, la suddivisione e l'esportazione, utilizzando il progetto Star Freight incluso, senza installare ComfyUI o scaricare alcun file SDXL.
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
# Scaffold a fresh project (no ComfyUI needed)
|
|
170
|
+
sdlab init test --domain game-art
|
|
171
|
+
|
|
172
|
+
# Run the canonical health check (no ComfyUI needed)
|
|
173
|
+
sdlab project doctor --project test
|
|
174
|
+
|
|
175
|
+
# Dry-run a snapshot against the bundled Star Freight corpus
|
|
176
|
+
sdlab snapshot create --dry-run --project star-freight
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
Il comando `sdlab project doctor` convalida la configurazione di ogni progetto (costituzione, percorsi, rubriche, terminologia) e segnala l'idoneità senza utilizzare la GPU. Qualsiasi comando che modifichi lo stato generato accetta l'opzione `--dry-run` per visualizzare l'effetto prima di applicarlo.
|
|
180
|
+
|
|
181
|
+
Se si dimentica `--project`, la CLI passa al primo progetto trovato nella cartella `projects/` e visualizza un avviso; per disattivare l'avviso, è necessario specificare esplicitamente `--project`.
|
|
182
|
+
|
|
183
|
+
### Riprendere un'esecuzione interrotta
|
|
184
|
+
|
|
185
|
+
È possibile riprendere le lunghe esecuzioni di generazione senza dover ripetere il lavoro già completato:
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
# Skip subjects whose record + image are already on disk.
|
|
189
|
+
# Seeds are preserved — resumed runs are bit-identical to fresh ones.
|
|
190
|
+
sdlab generate inputs/prompts/wave1.json --project my-project --resume
|
|
191
|
+
|
|
192
|
+
# Re-run only failed/missing slots in an existing batch.
|
|
193
|
+
# Inherits mode/subject/theme from the prior manifest.
|
|
194
|
+
sdlab batch generate --resume batch_2026-04-22_001 --project my-project
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
Entrambi i comandi funzionano perché ogni sezione scrive il proprio file manifest in modo atomico al termine dell'esecuzione; un arresto anomalo durante l'esecuzione non corrompe lo stato parziale.
|
|
198
|
+
|
|
199
|
+
## Risoluzione dei problemi
|
|
200
|
+
|
|
201
|
+
Modalità di errore comuni e soluzioni:
|
|
202
|
+
|
|
203
|
+
**`ECONNREFUSED 127.0.0.1:8188` in qualsiasi comando `sdlab generate` / `sdlab run generate` / `sdlab batch generate`**
|
|
204
|
+
ComfyUI non è in esecuzione. Avvia ComfyUI (`python main.py --listen 127.0.0.1 --port 8188`) e verifica con `curl http://127.0.0.1:8188/system_stats`. Per puntare a un host/porta diverso, imposta `COMFY_URL=http://host:port`.
|
|
205
|
+
|
|
206
|
+
**`missing checkpoint` / `LoRA weight not found`**
|
|
207
|
+
Il profilo del flusso di lavoro indica un file modello che non si trova nelle cartelle `models/checkpoints/` o `models/loras/` di ComfyUI. Apri `projects/<project>/workflows/profiles/<profile>.json`, individua il campo `checkpoint` o `lora` e scarica il file corrispondente oppure sostituiscilo con uno che hai già. Esegui nuovamente `sdlab project doctor --project <project>` per confermare la correzione.
|
|
208
|
+
|
|
209
|
+
**Errori di `sdlab project doctor`**
|
|
210
|
+
Doctor restituisce codici di errore strutturati. Alcuni esempi comuni:
|
|
211
|
+
- `E_PROJECT_NOT_FOUND` — la directory del progetto non esiste nella cartella `projects/`. Verifica l'ortografia.
|
|
212
|
+
- `E_CONFIG_INVALID` — uno dei cinque file di configurazione JSON non ha superato la convalida dello schema. Il campo `hint` indica il file e il campo errati.
|
|
213
|
+
- `E_RECORD_DRIFT` — l'impronta digitale della configurazione di un record non corrisponde più alla sua origine. Ricurata o ricollega come suggerito nell'hint.
|
|
214
|
+
|
|
215
|
+
**`Nessun progetto specificato, si utilizza il valore predefinito <name>`**
|
|
216
|
+
Un avviso di lieve entità. Utilizzare l'opzione `--project <name>` per specificare esplicitamente il progetto desiderato e silenziare l'avviso.
|
|
217
|
+
|
|
218
|
+
**Problemi relativi alla memoria della VRAM (painterly)**
|
|
219
|
+
Consultare il file `docs/internal/HANDOFF.md` per le note sulla regolazione del denoising "painterly". In breve: ridurre l'intensità del denoising, diminuire la dimensione del batch o utilizzare un checkpoint più piccolo nel profilo di lavoro.
|
|
220
|
+
|
|
221
|
+
**Segnalazione di bug**
|
|
222
|
+
Aprire una segnalazione all'indirizzo https://github.com/mcp-tool-shop-org/style-dataset-lab/issues, includendo la versione di sdlab (`sdlab --version`), la versione di Node (`node -v`), il comando completo e l'output dettagliato dell'errore. Un modello per la segnalazione di bug precompila i campi.
|
|
223
|
+
|
|
133
224
|
## Sicurezza
|
|
134
225
|
|
|
135
226
|
Funziona solo localmente. Nessuna telemetria, nessuna analisi, nessuna richiesta esterna. Le immagini rimangono sulla GPU e sul filesystem locale.
|
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
|
Style Dataset Labは、お客様が記述されたアートスタイルに関する情報と、実際に学習に使用するデータセットを連携させます。お客様は、シルエットのルール、カラーパレットの制限、素材に関する記述など、プロジェクトにとって重要な要素を定義します。このシステムは、定義されたルールに基づいて候補を生成し、それらを評価し、承認された作品を再現可能なデータセットにまとめます。このデータセットでは、各レコードが、なぜその作品が選択されたのかを説明しています。
|
|
17
19
|
|
|
18
|
-
|
|
20
|
+
次に、本番環境用のワークベンチが稼働します。プロジェクトの要件に基づいて生成指示を作成し、ComfyUIで実行し、結果を評価し、表現シートや環境ボードをまとめて作成し、最適な結果を選択し、新しい候補として再登録します。このサイクルを繰り返します。生成、選択、評価、改善。
|
|
19
21
|
|
|
20
22
|
## パイプライン
|
|
21
23
|
|
|
@@ -28,25 +30,37 @@ 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
|
+
この最後のコマンドが重要です。選択された出力は、他のすべてのデータと同様に、同じ評価プロセスを経ます。学習データが蓄積され、ルールが維持されます。
|
|
46
60
|
|
|
47
61
|
## それが生成するものは何か
|
|
48
62
|
|
|
49
|
-
|
|
63
|
+
7種類のデータセットファイルと、完全な本番環境用ワークベンチが含まれています。各ファイルは、以前のファイルとリンクされており、どの学習記録も、それを承認したルールまで遡ることができます。
|
|
50
64
|
|
|
51
65
|
| 成果物 | 内容 |
|
|
52
66
|
|----------|-----------|
|
|
@@ -58,6 +72,17 @@ sdlab reingest generated --source ./outputs --manifest <id>
|
|
|
58
72
|
| **Eval scorecard** | 各タスクごとに、評価データセットと照合して生成された結果に基づいて、合格/不合格を判定します。 |
|
|
59
73
|
| **Implementation pack** | プロンプトの例、既知の問題点、動作確認テスト、および再取り込みに関する手順。 |
|
|
60
74
|
|
|
75
|
+
本番環境用ワークベンチには、以下が含まれます。
|
|
76
|
+
|
|
77
|
+
| 機能 | 概要 |
|
|
78
|
+
|---------|-------------|
|
|
79
|
+
| **Compiled brief** | ワークフロープロファイルとプロジェクト要件に基づいて、決定論的な画像生成を行います。 |
|
|
80
|
+
| **Run** | 生成結果の記録:指示、シード値、ComfyUIの出力、マニフェストファイル。 |
|
|
81
|
+
| **Critique** | 生成結果を基準と比較し、多角的な評価を行います。 |
|
|
82
|
+
| **Batch** | 表現シート、環境ボード、シルエットパックなど、複数の要素をまとめて生成します。 |
|
|
83
|
+
| **Selection** | 選択された出力について、なぜ選択されたのか、どこから来たのかといった情報を記録します。 |
|
|
84
|
+
| **Re-ingest** | 選択された出力は、生成元の情報を含む候補レコードとして登録されます。 |
|
|
85
|
+
|
|
61
86
|
## なぜこれが存在するのか
|
|
62
87
|
|
|
63
88
|
トレーニングデータは、あらゆる画像認識AIのパイプラインにおいて、最も重要な要素です。しかし、多くのトレーニングデータは、履歴や判断の記録が一切なく、また、本来従うべきスタイルルールとの関連性も欠けている、単なる画像ファイル群に過ぎません。
|
|
@@ -94,6 +119,12 @@ projects/my-project/
|
|
|
94
119
|
splits/ Train/val/test partitions
|
|
95
120
|
exports/ Versioned export packages
|
|
96
121
|
training/ Profiles, manifests, packages, eval runs, implementations
|
|
122
|
+
workflows/ Workflow profiles + batch mode definitions
|
|
123
|
+
briefs/ Compiled generation briefs
|
|
124
|
+
runs/ Execution artifacts (brief + outputs + manifest)
|
|
125
|
+
batches/ Coordinated multi-slot productions
|
|
126
|
+
selections/ Chosen outputs with reasons and provenance
|
|
127
|
+
inbox/generated/ Re-ingested images awaiting review
|
|
97
128
|
```
|
|
98
129
|
|
|
99
130
|
## 信託財産
|
|
@@ -130,13 +161,73 @@ npm install -g @mcptoolshop/style-dataset-lab
|
|
|
130
161
|
|
|
131
162
|
生成には、Node.js 20以降のバージョンと、ローカルホストの8188番ポートで動作している [ComfyUI](https://github.com/comfyanonymous/ComfyUI) が必要です。
|
|
132
163
|
|
|
164
|
+
### ComfyUIなしで試す
|
|
165
|
+
|
|
166
|
+
ComfyUIをインストールしたり、SDXLのモデルファイルをダウンロードしたりせずに、検査、キュレーション、スナップショット、分割、エクスポートなど、すべての機能を「Star Freight」プロジェクトを通じて利用できます。
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
# Scaffold a fresh project (no ComfyUI needed)
|
|
170
|
+
sdlab init test --domain game-art
|
|
171
|
+
|
|
172
|
+
# Run the canonical health check (no ComfyUI needed)
|
|
173
|
+
sdlab project doctor --project test
|
|
174
|
+
|
|
175
|
+
# Dry-run a snapshot against the bundled Star Freight corpus
|
|
176
|
+
sdlab snapshot create --dry-run --project star-freight
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
`sdlab project doctor`コマンドは、すべてのプロジェクト設定(構成、ルール、評価基準、用語集)を検証し、GPUに負荷をかけずに、プロジェクトが利用可能かどうかを報告します。生成状態を変更するコマンドには、事前に効果を確認するための`--dry-run`オプションがあります。
|
|
180
|
+
|
|
181
|
+
`--project`オプションを省略すると、CLIは`projects/`ディレクトリにある最初のプロジェクトを使用し、警告を表示します。警告を抑制するには、`--project`オプションを明示的に指定してください。
|
|
182
|
+
|
|
183
|
+
### 中断されたジョブの再開
|
|
184
|
+
|
|
185
|
+
長時間のジョブ実行中に中断が発生した場合でも、完了済みの作業をやり直すことなく、ジョブを再開することができます。
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
# Skip subjects whose record + image are already on disk.
|
|
189
|
+
# Seeds are preserved — resumed runs are bit-identical to fresh ones.
|
|
190
|
+
sdlab generate inputs/prompts/wave1.json --project my-project --resume
|
|
191
|
+
|
|
192
|
+
# Re-run only failed/missing slots in an existing batch.
|
|
193
|
+
# Inherits mode/subject/theme from the prior manifest.
|
|
194
|
+
sdlab batch generate --resume batch_2026-04-22_001 --project my-project
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
これらのコマンドは、いずれも正常に動作します。なぜなら、各処理ステップは、完了時にその結果を完全に記録するため、ジョブ実行中に問題が発生した場合でも、部分的に完了した状態が破損することはないからです。
|
|
198
|
+
|
|
199
|
+
## トラブルシューティング
|
|
200
|
+
|
|
201
|
+
一般的なエラーと解決策:
|
|
202
|
+
|
|
203
|
+
**`ECONNREFUSED 127.0.0.1:8188`が発生した場合(`sdlab generate`、`sdlab run generate`、`sdlab batch generate`など)**
|
|
204
|
+
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`を設定します。
|
|
205
|
+
|
|
206
|
+
**`missing checkpoint` / `LoRA weight not found`が発生した場合**
|
|
207
|
+
ワークフロープロファイルで指定されているモデルファイルが、ComfyUIの`models/checkpoints/`または`models/loras/`フォルダに存在しません。`projects/<project>/workflows/profiles/<profile>.json`を開き、`checkpoint`または`lora`の項目を探し、指定されたモデルファイルをダウンロードするか、代わりに既存のファイルを使用してください。修正後、`sdlab project doctor --project <project>`を再実行して確認します。
|
|
208
|
+
|
|
209
|
+
**`sdlab project doctor`でエラーが発生した場合**
|
|
210
|
+
Doctorは、構造化されたエラーコードを返します。一般的なエラーは以下の通りです。
|
|
211
|
+
- `E_PROJECT_NOT_FOUND`:プロジェクトディレクトリが`projects/`ディレクトリに存在しません。スペルを確認してください。
|
|
212
|
+
- `E_CONFIG_INVALID`:5つのJSON設定ファイルのいずれかが、スキーマ検証に失敗しました。`hint`の項目には、問題のあるファイルとフィールドの名前が表示されます。
|
|
213
|
+
- `E_RECORD_DRIFT`:レコードの設定フィンガープリントが、元のデータと一致しなくなりました。`hint`に示されているように、再キュレーションまたは再バインドを行ってください。
|
|
214
|
+
|
|
215
|
+
**`No --project specified, falling back to <name>`という警告が表示された場合**
|
|
216
|
+
これは、警告です。正しいプロジェクトを選択し、警告を抑制するには、`--project <name>`オプションを明示的に指定してください。
|
|
217
|
+
|
|
218
|
+
**ペインタリー処理 / VRAMのメモリ不足に関する問題**
|
|
219
|
+
ペインタリー処理の調整に関する詳細は、`docs/internal/HANDOFF.md` を参照してください。簡単に言うと、ノイズ除去の強度を下げたり、バッチサイズを小さくしたり、ワークフロープロファイルでより小さいチェックポイントを使用するように変更してください。
|
|
220
|
+
|
|
221
|
+
**バグの報告**
|
|
222
|
+
バグを発見した場合は、https://github.com/mcp-tool-shop-org/style-dataset-lab/issues に、`sdlab --version` で確認できるsdlabのバージョン、`node -v` で確認できるNodeのバージョン、実行したコマンド全体、および構造化されたエラー出力を添えて報告してください。バグレポートのテンプレートには、必要な項目が事前に入力されています。
|
|
223
|
+
|
|
133
224
|
## セキュリティ
|
|
134
225
|
|
|
135
226
|
ローカル環境でのみ動作します。テレメトリー、分析、外部へのリクエストは一切ありません。画像はすべて、あなたのGPUとファイルシステム内に保存されます。
|
|
136
227
|
|
|
137
228
|
## ライセンス
|
|
138
229
|
|
|
139
|
-
MIT
|
|
230
|
+
MITライセンス
|
|
140
231
|
|
|
141
232
|
---
|
|
142
233
|
|
package/README.md
CHANGED
|
@@ -8,6 +8,8 @@
|
|
|
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
|
|
|
@@ -28,7 +30,8 @@ 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
|
|
@@ -158,6 +161,66 @@ npm install -g @mcptoolshop/style-dataset-lab
|
|
|
158
161
|
|
|
159
162
|
Requires Node.js 20+ and [ComfyUI](https://github.com/comfyanonymous/ComfyUI) on localhost:8188 for generation.
|
|
160
163
|
|
|
164
|
+
### Try it without ComfyUI
|
|
165
|
+
|
|
166
|
+
You can explore the full non-generation surface — inspection, curation, snapshot, split, export — using the bundled Star Freight project without installing ComfyUI or downloading any SDXL weights.
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
# Scaffold a fresh project (no ComfyUI needed)
|
|
170
|
+
sdlab init test --domain game-art
|
|
171
|
+
|
|
172
|
+
# Run the canonical health check (no ComfyUI needed)
|
|
173
|
+
sdlab project doctor --project test
|
|
174
|
+
|
|
175
|
+
# Dry-run a snapshot against the bundled Star Freight corpus
|
|
176
|
+
sdlab snapshot create --dry-run --project star-freight
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
`sdlab project doctor` validates every project config (constitution, lanes, rubric, terminology) and reports eligibility without touching the GPU. Any command that mutates generated state accepts `--dry-run` to preview the effect first.
|
|
180
|
+
|
|
181
|
+
If you forget `--project`, the CLI falls back to the first project it finds under `projects/` and prints a warning — pass `--project` explicitly to silence it.
|
|
182
|
+
|
|
183
|
+
### Resuming an interrupted run
|
|
184
|
+
|
|
185
|
+
Long generation runs can be resumed without redoing completed work:
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
# Skip subjects whose record + image are already on disk.
|
|
189
|
+
# Seeds are preserved — resumed runs are bit-identical to fresh ones.
|
|
190
|
+
sdlab generate inputs/prompts/wave1.json --project my-project --resume
|
|
191
|
+
|
|
192
|
+
# Re-run only failed/missing slots in an existing batch.
|
|
193
|
+
# Inherits mode/subject/theme from the prior manifest.
|
|
194
|
+
sdlab batch generate --resume batch_2026-04-22_001 --project my-project
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
Both commands work because every slot writes its manifest entry atomically as it finishes — a crash mid-run never corrupts the partial state.
|
|
198
|
+
|
|
199
|
+
## Troubleshooting
|
|
200
|
+
|
|
201
|
+
Common failure modes and fixes:
|
|
202
|
+
|
|
203
|
+
**`ECONNREFUSED 127.0.0.1:8188` on any `sdlab generate` / `sdlab run generate` / `sdlab batch generate`**
|
|
204
|
+
ComfyUI isn't running. Start ComfyUI (`python main.py --listen 127.0.0.1 --port 8188`) and confirm with `curl http://127.0.0.1:8188/system_stats`. To point at a different host/port, set `COMFY_URL=http://host:port`.
|
|
205
|
+
|
|
206
|
+
**`missing checkpoint` / `LoRA weight not found`**
|
|
207
|
+
Your workflow profile names a model file that isn't in ComfyUI's `models/checkpoints/` or `models/loras/` folder. Open `projects/<project>/workflows/profiles/<profile>.json`, locate the `checkpoint` or `lora` field, and either download the referenced weight or swap it for one you already have. Re-run `sdlab project doctor --project <project>` to confirm the fix.
|
|
208
|
+
|
|
209
|
+
**`sdlab project doctor` errors**
|
|
210
|
+
Doctor returns structured error codes. Common ones:
|
|
211
|
+
- `E_PROJECT_NOT_FOUND` — the project directory doesn't exist under `projects/`. Check spelling.
|
|
212
|
+
- `E_CONFIG_INVALID` — one of the five JSON config files failed schema validation. The `hint` field names the bad file and field.
|
|
213
|
+
- `E_RECORD_DRIFT` — a record's config fingerprint no longer matches its source. Re-curate or re-bind as the hint suggests.
|
|
214
|
+
|
|
215
|
+
**`No --project specified, falling back to <name>`**
|
|
216
|
+
A soft warning. Pass `--project <name>` explicitly to select the right project and silence the warning.
|
|
217
|
+
|
|
218
|
+
**Painterly / VRAM out-of-memory issues**
|
|
219
|
+
See `docs/internal/HANDOFF.md` for the painterly denoise tuning notes. In short: lower the denoise strength, reduce batch size, or switch to a smaller checkpoint in your workflow profile.
|
|
220
|
+
|
|
221
|
+
**Reporting bugs**
|
|
222
|
+
File an issue at https://github.com/mcp-tool-shop-org/style-dataset-lab/issues with your sdlab version (`sdlab --version`), Node version (`node -v`), the full command, and the structured error output. A bug-report template prefills the fields.
|
|
223
|
+
|
|
161
224
|
## Security
|
|
162
225
|
|
|
163
226
|
Local-only. No telemetry, no analytics, no external requests. Images stay on your GPU and filesystem.
|