--- name: comfyui_refresh_nodes_ui kind: function lang: py domain: browser version: "1.0.0" purity: impure signature: "def comfyui_refresh_nodes_ui(*, port: int = 9222, server_url_substr: str = '8188', timeout_s: float = 15.0) -> dict" description: "Refresca los combos del grafo de ComfyUI desde la UI via CDP: llama app.refreshComboInNodes(), que vuelve a pedir GET /object_info y actualiza los combos de todos los nodos (checkpoints, loras, vae, samplers) sin recargar la pagina. Util tras descargar modelos nuevos. Compone cdp_eval. Impura: red (CDP) + refresca estado de la UI." tags: [comfyui, browser, cdp, ml, image-generation, stable-diffusion, ui-automation] uses_functions: ["cdp_eval_py_browser"] uses_types: [] returns: [] returns_optional: false error_type: "error_go_core" imports: ["json"] params: - name: port desc: "Puerto de remote debugging del Chrome diario. Default 9222." - name: server_url_substr desc: "Substring de la URL de la pestana de ComfyUI. Default '8188'." - name: timeout_s desc: "Timeout de la conexion CDP en segundos. Default 15.0." output: "dict {ok: bool, refreshed: bool, error: str}. refreshed True si app.refreshComboInNodes resolvio sin excepcion." tested: false tests: [] test_file_path: "" file_path: "python/functions/browser/comfyui_refresh_nodes_ui.py" --- ## Ejemplo ```python import sys, os sys.path.insert(0, os.path.join("python", "functions")) from ml.comfyui_download_model import comfyui_download_model from browser.comfyui_refresh_nodes_ui import comfyui_refresh_nodes_ui # Tras bajar un checkpoint nuevo, refresca los combos para que aparezca en los # CheckpointLoaderSimple sin recargar la pagina. comfyui_download_model("https://.../nuevo.safetensors", "checkpoints") print(comfyui_refresh_nodes_ui()) # -> {'ok': True, 'refreshed': True, 'error': ''} ``` ## Cuando usarla Justo despues de aƱadir modelos a `~/ComfyUI/models/` (con `comfyui_download_model` o a mano) para que los nodos de la UI vean los archivos nuevos en sus combos sin un F5 que perderia el grafo no guardado. ## Gotchas - Solo refresca combos (listas que vienen de /object_info): checkpoints, loras, vae, samplers, schedulers. NO recarga el grafo ni cambia los valores ya seleccionados. - Si el server no ve aun el archivo nuevo (lo copiaste a la carpeta equivocada o ComfyUI no reescanea), el combo seguira sin mostrarlo aunque `refreshed=True`: el refresh fue exitoso pero el catalogo del server no lo incluye. - Requiere la pestana de ComfyUI abierta en el Chrome con CDP; sin target, `ok=False`.