- execution_history: add find_duplicate_run() for job_id dedup and
job_id field in run records to prevent agent retry storms
- runtime_config: support COMFYUI_SERVER_URL and COMFYUI_SERVER_ID
env vars to override config.json (useful for Docker/CI)
- services: expose param_count in WorkflowSummary so agents can
assess workflow complexity before execution
Co-Authored-By: HuangYuChuh <HuangYuChuh@users.noreply.github.com>
Motivation:
The previous data structure for workflows and schemas lacked cohesion and was difficult to maintain manually. Additionally, a more robust and flexible migration system was needed to transfer skill configurations across different environments.
Implementation:
1. Unified the data hierarchy into a directory-based structure: 'data/<server>/<workflow>/'.
2. Enhanced 'transfer_manager.py' and 'transfer_bundle.py' for environmental-aware configuration migration.
3. Updated frontend JS/CSS and Flask routes to support the new directory-centric asset management.
4. Revamped English and Chinese READMEs to prioritize safe installation and clear configuration workflows.
Motivation:
The backend previously assumed a single global ComfyUI server, making it impossible to switch between environments or add remote nodes.
Implementation:
Refactored UIStorageService and scripts to organize workflows into server-specific subdirectories. Introduced ServerModel and runtime configuration loader to handle multi-server routing.