[Enhancement] workflow set-slot: support toggling node mode (bypass/mute)

Abierto
#721 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
48/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
python
Área
ai, cli

Línea de trabajo

Comienza con los puntos de entrada existentes comfy workflow set-slot y slots, y después lee workflow_to_api.py para entender cómo se resuelven los nodos omitidos o silenciados. Sigue el direccionamiento existente de instance/inner antes de elegir entre las interfaces propuestas. Se considera terminado cuando la CLI puede establecer un nodo en normal, mute o bypass, conservando el direccionamiento del subgrafo y eliminando la necesidad del script de workaround.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

enhancement

Motivation

comfy workflow slots / set-slot cover widget values, which makes value-level presets (resolution, steps, checkpoint name) fully scriptable against one canonical frontend-format file. But a very common preset dimension is structural: switching a node on/off — the canonical example being a LoRA loader that a "draft" preset enables and a "finals" preset disables.

The GUI answer is bypass (Ctrl+B, litegraph mode 4) and workflow_to_api.py already resolves bypassed/muted nodes correctly at conversion — the only missing piece is a CLI verb to set the mode.

Setting a LoRA's strength_model=0 is not a substitute: ComfyUI registers zero-strength patches unconditionally (model_patcher.add_patches has no short-circuit), so under weight streaming you still pay the full per-step re-merge for a patch with zero effect. On an 11 GB card we measured that tax at ~20% of a whole render — a silent perf trap that mode toggling avoids.

Proposal

Either of:

  1. Extend the set-slot address space with a pseudo-input, e.g.
    comfy workflow set-slot wf.json '105/200._mode=bypass' (accepting normal|mute|bypass), or
  2. A sibling verb: comfy workflow set-mode wf.json 105/200=bypass.

Subgraph-interior addressing (instance/inner) already exists in slots, so either form composes with it naturally. slots output could also list each node's current mode so agents can discover toggleable structure.

Current workaround

We generate preset variants by running set-slot --stdout for values and then patching node.mode = 4 for a declared bypass: list in a ~40-line script — it works, but it reaches into the file format where everything else goes through the CLI, and we'd happily delete it.

Lenguaje dominante
Python
Estrellas
1k
Forks
176
Merge medio
1 d 11 h
PR fusionados (30 d)
87

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de Comfy-Org/comfy-cli

Todos los issues de Comfy-Org/comfy-cli

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.