Releases: Rogala/ComfyUI-Toolkit
Releases · Rogala/ComfyUI-Toolkit
Version 2.0
Overview
Complete rewrite of the toolkit. Four separate files (start_comfyui.bat,
ComfyUI-Environment.ps1, ComfyUI-Manager.ps1, smart_fixer.py) merged into
two files (start_comfyui.bat, comfyui.ps1). All logic unified in a single
PowerShell script with a consistent UI, navigation, and language support.
Architecture
v1.0 — 4 files: start_comfyui.bat + ComfyUI-Environment.ps1 + ComfyUI-Manager.ps1 + smart_fixer.py
v2.0 — 2 files: start_comfyui.bat + comfyui.ps1
smart_fixer.pyis now embedded insidecomfyui.ps1as a PowerShell here-string
and deployed to.cache/smart_fixer.pyautomatically on startupstart_comfyui.batreduced to a single-purpose bootstrapper (opens PowerShell window)- All Install, Manager, and Launcher logic unified in
comfyui.ps1under named regions:
#region CONFIG·#region I18N·#region INIT·#region UI·
#region LAUNCHER·#region INSTALL·#region MANAGER·#region MAIN
Interface
- New: PowerShell window replaces cmd window — full Unicode and color support
- New: Single-keypress navigation — no Enter required
- New: Header with live status badges:
Python ✓,ComfyUI ✓,PyTorch(color-coded) - New: Background update check — notifies when a newer ComfyUI version is available on GitHub (once per session, no menu delay)
- New: Language support — EN / UK, toggled with
[L], saved to.cache/settings.json, auto-detected from system locale on first run - New:
[A]badge on menu items that require administrator rights - Changed: Menu navigation uses letter keys (
E U S T V R I C M H L) instead of numbers
Launcher
- New:
$LAUNCH_MODESarray in#region CONFIG— add a custom launch mode by adding one line, menu rebuilds automatically - New:
$COMMON_ARGSarray replaces the string-basedset COMMON_ARGS=— spaces in paths no longer break arguments - Fixed: Output directory argument correctly quoted — spaces in folder path no longer cause ComfyUI launch failure
- Changed: Output directory created on first launch (unchanged behavior, now cross-platform safe)
Install [E]
- Fixed: Administrator elevation is now targeted — only Python Manager, Git, and VC++ Runtime run elevated; venv, pip, and ComfyUI clone run as normal user
- Fixed: Swap Python now selects the new version before deleting the old venv — cancelling during selection no longer destroys the environment
- Fixed: Partial venv (created but missing
python.exe) is detected and removed before recreating - New: Python version list filters out dev / alpha / beta / rc releases — only stable versions shown
- Fixed:
Compare-SemVernormalizes two-segment version strings (e.g.2.47) to avoid[System.Version]parse failures - Changed:
Add-Reportlevel names aligned withWrite-LogValidateSet — Summary now correctly colors warnings yellow and errors red (was cyan in v1.0)
Torch [T]
- Fixed: PyTorch version list now uses
pip index versionsinstead of parsingpip install torch==0.0.0error output — stable, documented API - New:
torchsdeinstalled automatically as part of the torch stack — fixesModuleNotFoundError: No module named 'torchsde'on ComfyUI startup - New:
torchsdeadded toPROTECTEDset — never modified by Repair or smart_fixer - Fixed:
comfyui-workflow-templatesexcluded fromrequirements_filtered.tmpduring torch install — prevents version conflicts after stack switch
ComfyUI Version [V]
- New: Release notes saved to
.cache/release_notes.logduring version switch - Fixed:
comfyui-workflow-templatesexcluded fromrequirements_filtered.tmp— prevents sub-package version conflicts after version switch - Fixed: Downgrade detection now correctly compares semantic versions
Repair [R]
Steps increased from 6 to 8:
| Step | v1.0 | v2.0 |
|---|---|---|
| 1 | Environment snapshot | Environment snapshot |
| 2 | Clean pip cache | Clean pip cache |
| 3 | Remove venv artifacts | Remove venv artifacts |
| 4 | Smart Dependency Guard | Smart Dependency Guard |
| 5 | Apply constraints | NEW Update comfyui-workflow-templates and sub-packages |
| 6 | Repair summary | NEW Install missing transitive dependencies |
| 7 | — | Apply constraints |
| 8 | — | Repair summary |
- New: Step 5 —
comfyui-workflow-templatesand all sub-packages updated with constraint bypass to ensure they surviveCleanup-Venv - New: Step 6 — all packages reported as
which is not installedbypip checkare installed automatically (transitive dependencies not inrequirements.txt) - Fixed:
Cleanup-Venvnow builds the installed package set from a singlepip list --format jsoncall instead of onepip showper package — O(1) vs O(n), dramatically faster on large environments
smart_fixer.py
- Fixed:
check_importnow usesIMPORT_ALIASESdict —pillow→PIL,pyyaml→yaml,opencv-python→cv2,scikit-learn→sklearn; these packages no longer always land inskipped - Fixed:
get_package_requiresnow readsRequires-Dist:instead ofRequires:— version specs are now correctly extracted - Fixed:
parse_conflictusespip checkoutput as primary source (stable format) withimport -W allstderr as fallback - Fixed:
parse_conflictadds new pattern forrequires X, which is not installed— missing packages are now installed - Fixed:
fixed = Trueis no longer set whenparse_conflictreturnsNonebut warnings are still present in stderr — false success eliminated - Fixed:
_get_requests_constraintremoved — fragileassert-based parser replaced by directpip checkoutput - Added:
torchsdeadded toPROTECTED - Added:
comfyui-workflow-templatesadded toPROTECTED - Fixed: Deployed to
.cache/usingUTF8Encoding(false)— no BOM, no PythonSyntaxError: invalid non-printable character U+FEFF - Fixed:
DeprecationWarningfrom C extension types (SwigPyPacked,swigvarlink) filtered out — no longer triggers false conflict detection forsentencepiece
Bug fixes (v1.0 issues resolved)
| # | Component | Issue | Status |
|---|---|---|---|
| 1 | start_comfyui.bat |
%COMMON_ARGS% unquoted — spaces in output path break launch |
Fixed |
| 2 | Environment.ps1 |
Invoke-Swap deletes venv before branch selection |
Fixed |
| 3 | Environment.ps1 |
Add-Report level case mismatch — errors shown cyan instead of red |
Fixed |
| 4 | Environment.ps1 |
Compare-SemVer fails on two-segment git versions |
Fixed |
| 5 | Manager.ps1 |
Cleanup-Venv calls pip show N times — slow on large environments |
Fixed |
| 6 | Manager.ps1 |
$env:PIP_CONSTRAINT set globally — blocks Show-Info utility installs |
Fixed |
| 7 | Manager.ps1 |
torch version list parsed from undocumented pip error output | Fixed |
| 8 | Manager.ps1 |
torchsde not installed with torch stack — ComfyUI fails to start |
Fixed |
| 9 | Manager.ps1 |
Module 4 overwrites const.txt with only torch trio — erases all other constraints |
Fixed |
| 10 | smart_fixer.py |
check_import uses wrong import name for pillow/yaml/cv2 |
Fixed |
| 11 | smart_fixer.py |
get_package_requires reads Requires: (no versions) instead of Requires-Dist: |
Fixed |
| 12 | smart_fixer.py |
fixed = True on unrecognized warning format — false success |
Fixed |
| 13 | smart_fixer.py |
torchsde not in PROTECTED but written as protected in const.txt |
Fixed |
| 14 | smart_fixer.py |
No BOM handling — SyntaxError on Python execution |
Fixed |
v1.0
Initial release. Four-file structure:
start_comfyui.bat— cmd-based launcher with numbered menuComfyUI-Environment.ps1— Install / Update / Swap PythonComfyUI-Manager.ps1— Torch stack, ComfyUI versions, Repair, Infosmart_fixer.py— Auto dependency guard (deployed to.cache/by Manager)
Version 1.0
Initial release