Phase 1 — Foundation Hardening:
- Extract ollama_client.py adapter from PromptGeneratorNode
- Add pytest suite (29 tests, 70% coverage gate)
- Unify style sources into config/styles.yaml
- Extend CI with pytest + coverage
Phase 2 — Prompt Chain Nodes:
- PromptRefinerNode: iterative LLM refinement (1-3 passes)
- NegativePromptNode: style-aware negative prompt generation
- PromptCombinerNode: blend/concat/weighted_average modes
New graph target:
PromptGenerator -> PromptRefiner -> PromptCombiner -> CLIP
^
NegativePrompt ---------+
Closes roadmap phases 1.1-2.3
37 lines
1.5 KiB
Python
37 lines
1.5 KiB
Python
"""
|
|
ComfyUI Prompt Generator Node
|
|
Generate Stable Diffusion prompts using Qwen3-8B via Ollama
|
|
"""
|
|
|
|
try:
|
|
from .nodes.prompt_generator_node import PromptGeneratorNode
|
|
from .nodes.style_applier_node import StyleApplierNode
|
|
from .nodes.prompt_refiner_node import PromptRefinerNode
|
|
from .nodes.negative_prompt_node import NegativePromptNode
|
|
from .nodes.prompt_combiner_node import PromptCombinerNode
|
|
except ImportError:
|
|
# Fallback for test environments where ComfyUI isn't present
|
|
from nodes.prompt_generator_node import PromptGeneratorNode
|
|
from nodes.style_applier_node import StyleApplierNode
|
|
from nodes.prompt_refiner_node import PromptRefinerNode
|
|
from nodes.negative_prompt_node import NegativePromptNode
|
|
from nodes.prompt_combiner_node import PromptCombinerNode
|
|
|
|
NODE_CLASS_MAPPINGS = {
|
|
"Limbicnation_PromptGenerator": PromptGeneratorNode,
|
|
"Limbicnation_StyleApplier": StyleApplierNode,
|
|
"Limbicnation_PromptRefiner": PromptRefinerNode,
|
|
"Limbicnation_NegativePrompt": NegativePromptNode,
|
|
"Limbicnation_PromptCombiner": PromptCombinerNode,
|
|
}
|
|
|
|
NODE_DISPLAY_NAME_MAPPINGS = {
|
|
"Limbicnation_PromptGenerator": "Prompt Generator (Qwen)",
|
|
"Limbicnation_StyleApplier": "Style Applier",
|
|
"Limbicnation_PromptRefiner": "Prompt Refiner",
|
|
"Limbicnation_NegativePrompt": "Negative Prompt Generator",
|
|
"Limbicnation_PromptCombiner": "Prompt Combiner",
|
|
}
|
|
|
|
__all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS"]
|