UNPKG

comfyui-mcp

Version:

Local-first, agent-native control plane for ComfyUI — MCP server + autonomous sidebar agent that drives your live graph in natural language on ANY LLM: Claude/ChatGPT/Gemini on your subscription (no API key), free local models via Ollama (fully offline),

220 lines (219 loc) • 22.6 kB
{ "banner": { "ready": { "antigravity": "🟢 Agente comfyui-mcp listo — {label} mediante Antigravity CLI, con tu suscripción de Google AI. Nota: los turnos de agy solo muestran la respuesta final (sin progreso de herramientas en vivo). Pregunta lo que quieras.", "atlascloud": "🟢 Agente comfyui-mcp listo — {label} vía Atlas Cloud. Pregunta lo que quieras.", "chatgpt": "🟢 Agente comfyui-mcp listo — {label} con tu suscripción de ChatGPT (OAuth directo). Pregunta lo que quieras.", "claude": "🟢 Agente comfyui-mcp listo — {label} con tu suscripción de Claude. Pregunta lo que quieras.", "codex": "🟢 Agente comfyui-mcp listo — {label} con tu cuenta de Codex (ChatGPT). Pregunta lo que quieras.", "copilot": "🟢 Agente comfyui-mcp listo — {label} con tu suscripción de GitHub Copilot (⚠️ experimental, riesgo respecto a los términos de servicio — lo activaste tú). Pregunta lo que quieras.", "custom": "🟢 Agente comfyui-mcp listo — {label} mediante tu endpoint personalizado ({url}). Pregunta lo que quieras.", "gemini": "🟢 Agente comfyui-mcp listo — {label} con tu cuenta de Google (Gemini Code Assist). Pregunta lo que quieras.", "glm": "🟢 Agente comfyui-mcp listo — {label} con tu Z.AI GLM Coding Plan. Pregunta lo que quieras.", "grok": "🟢 Agente comfyui-mcp listo — {label} con tu cuenta de Grok (xAI). Pregunta lo que quieras.", "kimi": "🟢 Agente comfyui-mcp listo — {label} con tu suscripción de Kimi Code. Pregunta lo que quieras.", "llamacpp": "🟢 Agente comfyui-mcp listo — {label} ejecutándose en local con llama.cpp (sin cuenta ni clave API). Los modelos locales pequeños son más lentos y sencillos que los punteros: espera menos florituras. Pregunta lo que quieras.", "lmstudio": "🟢 Agente comfyui-mcp listo — {label} ejecutándose en local con LM Studio (sin cuenta ni clave API). Los modelos locales pequeños son más lentos y sencillos que los punteros: espera menos florituras. Pregunta lo que quieras.", "minimax": "🟢 Agente comfyui-mcp listo — {label} con tu clave API de la plataforma MiniMax. Pregunta lo que quieras.", "moonshot": "🟢 Agente comfyui-mcp listo — {label} con tu clave API de la plataforma Moonshot (Kimi K3). Pregunta lo que quieras.", "ollama": "🟢 Agente comfyui-mcp listo — {label} ejecutándose en local con Ollama (sin cuenta ni clave API). Los modelos locales pequeños son más lentos y sencillos que los punteros: espera menos florituras. Pregunta lo que quieras.", "openrouter": "🟢 Agente comfyui-mcp listo — {label} mediante OpenRouter (API alojada, tu OPENROUTER_API_KEY). Pregunta lo que quieras.", "pi": "🟢 Agente comfyui-mcp listo — {label} mediante la CLI de pi con tus propias credenciales de proveedor (encontradas en esta máquina; pi las comprueba con tu primer mensaje). Nota: pi no tiene herramientas de ComfyUI (no hay MCP) — trabaja con sus propias herramientas de desarrollo sobre el espacio de trabajo local, no sobre el lienzo del panel. Pregunta lo que quieras." } }, "cli": { "cannot_start": "ComfyUI MCP — no se puede iniciar: {error}", "connect_bridge_secure": "túnel Cloudflare wss:// (automático — nada que copiar)", "connect_label_bridge": "Puente del agente", "connect_label_driving": "Controla", "connect_label_secure": "Seguridad", "connect_next_steps": "Siguientes pasos:", "connect_quiet_note": "Hasta que pulses Conectar esta ventana se queda en silencio: es lo\nesperado, no está colgada. El agente se ejecuta AQUÍ, con tu cuenta\nde Claude/Codex; en la máquina de ComfyUI no se instala nada.\nDeja esta terminal abierta.", "connect_secure_note": "el panel HTTPS del pod se conecta automáticamente\npor un túnel cifrado: no hay URL que pegar y\nfunciona en cualquier navegador.", "connect_step_click_connect": "Pulsa Conectar en el panel (el desplegable Conectar del panel Agent).", "connect_step_open_comfyui": "Abre ese ComfyUI en tu navegador: {url}", "connect_title": "iniciando el puente del agente local", "connect_url_invalid": "Se pasó a `connect` una URL de ComfyUI no válida: \"{url}\" ({reason}). Indica una URL http(s) completa, por ejemplo https://abcd-3000.proxy.runpod.net o http://127.0.0.1:8188.", "help_active": "(activo: {locale})", "help_allow_unauth": "permitir un /mcp ABIERTO en un host no local", "help_comfyui_url": "apuntar a un ComfyUI concreto (también remoto)", "help_compact": "registrar solo las tres metaherramientas", "help_default": "(por defecto: {value})", "help_full": "registrar el conjunto completo de herramientas directas", "help_full_reference": "Referencia completa: {url}", "help_help": "mostrar esta ayuda y salir", "help_host": "host de escucha HTTP", "help_http": "transporte streamable-HTTP", "help_insecure_bridge": "permitir un puente de panel sin autenticación", "help_lang": "idioma de la salida de esta CLI", "help_panel_orchestrator": "ejecutar el orquestador en segundo plano que controla el panel", "help_port": "puerto de escucha HTTP", "help_same_as_value": "lo mismo, como valor", "help_section_panel": "PANEL / COMFYUI", "help_section_tool_surface": "CONJUNTO DE HERRAMIENTAS", "help_section_transport": "TRANSPORTE", "help_section_usage": "USO", "help_stdio": "transporte stdio", "help_tagline": "controla ComfyUI desde un agente de IA", "help_token": "exigir este secreto compartido en /mcp", "help_tunnel": "abrir un túnel rápido de cloudflared (implica --http)", "help_usage_connect": "ejecutar el orquestador del panel contra un ComfyUI (posiblemente remoto)", "help_usage_launcher": "administrar el asistente de inicio automático del panel", "help_usage_server": "iniciar el servidor MCP", "help_usage_setup": "escribir la entrada comfyui en la configuración de esa herramienta y salir", "launcher_failed": "Falló el iniciador de ComfyUI MCP al ejecutar {action}: {error}", "launcher_installed": "✓ Se instaló el iniciador del panel ComfyUI MCP para este usuario.", "launcher_installed_note": "MCP solo se inicia cuando el panel del agente lo solicita.", "launcher_uninstalled": "✓ Se desinstaló el iniciador del panel ComfyUI MCP.", "launcher_usage": "Uso: {command}", "setup_copilot_check": "Ejecuta `copilot` y comprueba el servidor con /mcp show.", "setup_dry_run": "— simulación: esto es lo que se escribiría en {path} —", "setup_failed": "falló la configuración de comfyui-mcp: {error}", "setup_hermes_reload": "En una sesión de Hermes en marcha escribe /reload-mcp (o reinicia Hermes).", "setup_hermes_tool_names": "Las herramientas aparecen como mcp_comfyui_list_tools / _describe_tool / _call_tool.", "setup_next_steps": "Siguientes pasos:", "setup_note_compact": "El modo de herramientas compacto está ACTIVADO: el modelo recibe list_tools/describe_tool/call_tool en lugar de unos 200 esquemas (vuelve a ejecutarlo con --full para el conjunto completo).", "setup_note_full": "Modo de herramientas completo: unos 200 esquemas — lo indicado para modelos punteros (vuelve a ejecutarlo con --compact para modelos locales pequeños).", "setup_note_local_models": "Modelos locales: gemma4 (e4b o mayor), qwen3 y llama3.1+ llaman a herramientas de forma nativa; gemma3 no.", "setup_openclaw_restart": "Reinicia la pasarela de OpenClaw para que detecte el nuevo servidor.", "setup_unknown_agent": "Agente desconocido «{agent}».", "setup_usage": "Uso: {command}", "setup_what_it_does": "Escribe la entrada del servidor MCP comfyui en el archivo de configuración del propio agente.", "setup_wrote": "✓ Servidor MCP «comfyui» añadido a {path}", "tunnel_desktop_connector_path": "Claude Desktop → Settings → Connectors → Añadir conector personalizado:", "tunnel_field_header": "Cabecera", "tunnel_field_name": "Nombre", "tunnel_field_url": "URL", "tunnel_header_alt": "(o Authorization: Bearer {token})", "tunnel_headless_snippet": "Fragmento de configuración headless / programática:", "tunnel_keep_open": "Deja esta terminal abierta — el túnel se cierra cuando termina el proceso.", "tunnel_label_public_url": "URL pública de MCP", "tunnel_label_token": "Token de autenticación", "tunnel_title": "El conector remoto / alojado está ACTIVO" }, "console": { "credentials": { "advanced": "Avanzado ↗", "badge_set": "definida · {masked}", "badge_unset": "sin definir", "close": "Cerrar", "load_failed": "No se pudo cargar el estado — vuelve a conectar el panel.", "paste_key": "Pega la clave…", "privacy": "Se guarda en local, por instancia. Los valores nunca salen de esta máquina.", "save": "Guardar", "save_failed": "error al guardar", "saved": "Guardado ✓", "saving": "Guardando…", "title": "Claves API" }, "landing": { "api": { "heading": "API" }, "connection": { "endpoints": "Puente {bridge} · ComfyUI {comfyui}", "heading": "Conexión" }, "here": { "a2ui": "Interfaces de herramientas con A2UI", "heading": "Llegará aquí (el panel se queda en ComfyUI)", "library": "Biblioteca de LoRA, colecciones de imágenes, herramientas al estilo Photomap", "lifecycle": "Iniciar / detener / reiniciar el orquestador", "mcp": "Asignaciones de servidores MCP y herramientas {file} heredadas", "oauth": "OAuth e inicio de sesión con proveedores de API", "prompts": "Prompts del sistema editables — {link}", "prompts_link": "abrir el editor" }, "panel": { "connect": "Conectar / desconectar de este puente", "heading": "Se queda en el panel de ComfyUI", "pickers": "Selectores de proveedor / modelo / esfuerzo y medidor de ventana de contexto", "storyboards": "Guiones gráficos de vídeo y edición del grafo en vivo" }, "status": { "failed": "No se pudo cargar el estado", "install_cli": "instalar la CLI", "loading": "Cargando la disponibilidad de los proveedores…", "none": "sin backends", "ready": "listo", "running": "Orquestador en marcha", "sign_in": "iniciar sesión" }, "subtitle": "Plano de control del orquestador del panel: servidores MCP, OAuth y ajustes de servicio. El panel lateral de ComfyUI sigue centrado en el chat, los proveedores y el lienzo en vivo.", "title": "Consola de ComfyUI MCP" }, "prompts": { "advanced": "Avanzado ↗", "badge_custom": "personalizado", "badge_default": "prompt integrado", "close": "Cerrar", "copy_default": "Copiarlo en el editor", "empty": "Todavía no hay prompts editables registrados. Inicia el orquestador y recarga esta página.", "intro": "Todos los prompts del sistema que controla el orquestador, tal como los recibe el agente. Tu texto se guarda en {file}: el prompt integrado queda intacto, así que Restablecer siempre lo devuelve.", "load_failed": "No se pudieron cargar los prompts — vuelve a conectar el panel.", "placeholder": "Se está usando el prompt integrado: escribe aquí para sustituirlo.", "reset": "Restablecer el integrado", "reset_failed": "error al restablecer", "resetting": "Restableciendo…", "save": "Guardar", "save_failed": "error al guardar", "saved": "Guardado ✓", "saving": "Guardando…", "title": "Prompts del sistema", "view_default": "Ver el prompt integrado" }, "unauthorized": "No autorizado — vuelve a conectar el panel." }, "say": { "blind_cli_native_tools": "Aviso: la CLI de {backend} conserva sus propias herramientas de archivos integradas, que el modo ciego no puede bloquear mecánicamente — las herramientas de comfyui siguen reteniendo los píxeles, pero la propia CLI podría leer archivos de imagen. Para una garantía estricta sin píxeles, usa el backend de Claude o un proveedor API/local.", "blind_off": "Modo ciego DESACTIVADO — las herramientas de imagen del agente vuelven a entregar píxeles (se aplica después del turno actual).", "blind_on": "Modo ciego ACTIVADO — las herramientas de imagen del agente ya no entregan píxeles (se aplica después del turno actual; la sesión continúa automáticamente).", "custom_no_base_url": "No hay ningún endpoint configurado — indica la URL base en Ajustes → Endpoint personalizado (incluye el /v1, por ejemplo http://192.168.1.20:8000/v1 para vLLM, o la URL compatible con OpenAI de un proveedor alojado), y también «Configurar clave API…» si el servidor la necesita. Ambos se aplican de inmediato — después vuelve a conectar.", "degraded": { "antigravity": "El agente en segundo plano no responde — la CLI de Antigravity no pudo responder a `agy models`. Instálala desde https://antigravity.google, ejecuta `agy` una vez y completa el inicio de sesión de Google; después Desconectar → Conectar para reintentar.", "atlascloud": "El agente en segundo plano no responde — Atlas Cloud no pudo iniciarse. Define ATLASCLOUD_API_KEY; después Desconectar → Conectar para reintentar.", "chatgpt": "El agente en segundo plano no responde — el OAuth directo de ChatGPT no pudo iniciarse. Comprueba que existe ~/.codex/auth.json (ejecuta `codex login`); después Desconectar → Conectar para reintentar.", "claude": "El agente en segundo plano no responde — el Claude Agent SDK no pudo iniciarse. Comprueba que has iniciado sesión (ejecuta `claude` una vez); después Desconectar → Conectar para reintentar.", "codex": "El agente en segundo plano no responde — el app-server de Codex no pudo iniciarse. Comprueba que Codex está instalado y con la sesión iniciada (`codex login`); después Desconectar → Conectar para reintentar.", "copilot": "El agente en segundo plano no responde — GitHub Copilot (experimental) no pudo iniciarse. Inicia sesión desde la fila experimental del panel; después Desconectar → Conectar para reintentar.", "custom": "El agente en segundo plano no responde — tu endpoint personalizado no contesta en {url}. Revisa la URL base en Ajustes → Endpoint personalizado (debe ser compatible con OpenAI e incluir el /v1) y la clave API si el servidor la exige; después pulsa Conectar para reintentar.", "gemini": "El agente en segundo plano no responde — la CLI de Gemini no pudo iniciarse. Comprueba que la CLI de Gemini está instalada y con la sesión iniciada (ejecuta `gemini` una vez y completa el inicio de sesión de Google); después Desconectar → Conectar para reintentar.", "glm": "El agente en segundo plano no responde — GLM Code API no pudo iniciarse. Define ZAI_API_KEY (Z.AI Coding Plan); después Desconectar → Conectar para reintentar.", "grok": "El agente en segundo plano no responde — la CLI de Grok no pudo iniciarse. Comprueba que Grok está instalado y con la sesión iniciada (ejecuta `grok` una vez y completa el inicio de sesión de xAI); después Desconectar → Conectar para reintentar.", "kimi": "El agente en segundo plano no responde — Kimi Code no pudo iniciarse. Inicia sesión en Kimi Code (~/.kimi/credentials/kimi-code.json) o define KIMI_API_KEY; después Desconectar → Conectar para reintentar.", "llamacpp": "El agente en segundo plano no responde — no se llega a llama-server en {url}. Arráncalo con `llama-server -m <model>.gguf -c 16384` (nuestros GGUF de gemma4-comfyui-mcp van muy bien; en compilaciones antiguas añade --jinja, imprescindible allí para llamar herramientas) o define COMFYUI_MCP_LLAMACPP_HOST; después Desconectar → Conectar para reintentar.", "lmstudio": "El agente en segundo plano no responde — no se llega a LM Studio en {url}. Abre LM Studio → Developer → Start Server y carga un modelo capaz de llamar herramientas (nuestros GGUF de gemma4-comfyui-mcp en Hugging Face van muy bien), o define COMFYUI_MCP_LMSTUDIO_HOST si escucha en otro sitio; después Desconectar → Conectar para reintentar.", "minimax": "El agente en segundo plano no responde — MiniMax no pudo iniciarse. Define MINIMAX_API_KEY desde platform.minimax.io; después Desconectar → Conectar para reintentar.", "moonshot": "El agente en segundo plano no responde — Moonshot (Kimi K3) no pudo iniciarse. Define MOONSHOT_API_KEY desde platform.kimi.ai; después Desconectar → Conectar para reintentar.", "ollama": "El agente en segundo plano no responde — no se llega a Ollama. Arráncalo con `ollama serve` y descarga nuestro modelo afinado (`ollama pull artokun/gemma4-comfyui-mcp:e4b` — gemma4 entrenado con el conjunto de herramientas de comfyui-mcp, el mejor modelo local de la arena; `:12b` para unos 8 GB de VRAM); después Desconectar → Conectar para reintentar.", "pi": "El agente en segundo plano no responde — la CLI de pi no pudo ejecutar `pi --list-models`. Instálala desde https://pi.dev (`curl -fsSL https://pi.dev/install.sh | sh`), configura un proveedor (define una clave API de proveedor o ejecuta `pi` una vez y `/login`); después Desconectar → Conectar para reintentar.", "qwen": "El agente en segundo plano no responde — la CLI de Qwen Code no pudo iniciarse. Asegúrate de que Qwen Code está instalado (npm i -g @qwen-code/qwen-code) y con sesión iniciada (ejecuta `qwen` una vez y completa /auth, o define DASHSCOPE_API_KEY); después Desconectar → Conectar para reintentar." }, "llamacpp_no_jinja": "Tu llama-server se está ejecutando SIN `--jinja`, así que la llamada a herramientas está desactivada: cualquier acción del agente fallaría. Reinícialo con soporte de herramientas: `llama-server -m <model>.gguf --jinja -c 16384` (las compilaciones actuales activan jinja por defecto; las antiguas necesitan la opción); después Desconectar → Conectar.", "llamacpp_small_context": "El contexto de tu llama-server es de {tokens} tokens (opción de arranque -c). La carga de herramientas del agente necesita al menos 16384; por debajo de eso los turnos largos se truncan en silencio. Plantéate reiniciar con `-c 16384` o más.", "local_agent_resumed": "Render terminado — el agente local ha vuelto. Respondo ahora a tu mensaje en cola.", "message_queued_during_render": "Hay un render en marcha, así que he puesto tu mensaje en cola para dejar la GPU libre. Te respondo en cuanto termine.", "message_queued_opt_out": "Si prefieres chatear durante los renders, pon COMFYUI_MCP_PAUSE_LOCAL_ON_GEN=0 en ~/.comfyui-mcp/.env y reinicia — el modelo local y ComfyUI compartirán la GPU, lo que puede ralentizar un render o dejarlo sin VRAM.", "new_chat_durable_clear_failed": "Se ha iniciado un chat nuevo, pero no se pudo borrar del disco la sesión guardada de la conversación anterior (falló la escritura — ¿sistema de archivos lleno o bloqueado?). Si el orquestador se reinicia antes de completarse el primer intercambio de esta conversación, puede reanudarse la conversación ANTIGUA; en ese caso inicia otro chat nuevo.", "oauth_signin_failed": "Error al iniciar sesión en {provider}: {message}", "openrouter_no_key": "OpenRouter no tiene clave API — la conexión fallaría con tu primer mensaje. Defínela en Ajustes → OpenRouter → «Configurar clave API…» (se enmascara y la guarda el orquestador; surte efecto de inmediato, sin reconectar), o define la variable de entorno OPENROUTER_API_KEY y reinicia el orquestador. Claves: https://openrouter.ai/keys", "options_change_failed": "No se pudo cambiar el modelo o el esfuerzo: {message}", "pi_no_credential": "pi no tiene ninguna credencial de proveedor utilizable — la conexión saludaría como lista y luego fallaría con tu primer mensaje. Configura un proveedor: define una clave API de proveedor (por ejemplo ANTHROPIC_API_KEY / OPENAI_API_KEY / CEREBRAS_API_KEY) y reinicia el orquestador, o ejecuta `pi` una vez y `/login` (se guarda en ~/.pi/agent/auth.json); después Desconectar → Conectar. Si ya hiciste alguna de las dos cosas, comprueba que la entrada esté completa — un registro de ~/.pi/agent/auth.json sin `key`, un proveedor de models.json sin `apiKey`, o GOOGLE_APPLICATION_CREDENTIALS apuntando a un archivo inexistente no pueden autenticarse. https://pi.dev", "restart_lost": { "answers": "{count} respuesta(s) que diste en una tarjeta de pregunta nunca llegaron al agente: {answers}. Una respuesta no es un render: NO hay historial donde buscarla, y el agente no tiene forma de recuperarla una vez completado este reinicio. Vuelve a indicarle tu elección (o pega el texto de arriba) cuando regrese.", "header": "Se está reiniciando el backend del agente.", "runs": "{count} resultado(s) de render ya terminados no se pudieron entregar ({runs}). Desde el punto de vista del agente su desenlace es INDETERMINADO — pídele que consulte `get_history (action:\"list\")` para esas ejecuciones en cuanto se reconecte, en lugar de dar por hecho que las vio.", "withheld": "Otras {count} respuesta(s) de esta pestaña pertenecen a una conversación anterior que ya fue sustituida; tampoco se entregaron, pero no se muestran aquí porque no se dieron a la conversación en la que estás ahora." }, "start_failure": { "hint": { "custom": "Revisa la URL base y la clave API en Ajustes → Endpoint personalizado; después Desconectar → Conectar para reintentar.", "generic": "Revisa las credenciales o el inicio de sesión del proveedor; después Desconectar → Conectar para reintentar.", "key_provider": "Revisa tu clave API de {provider} en la tarjeta Claves API ({env}); después Desconectar → Conectar para reintentar.", "openrouter": "Revisa tu clave API de OpenRouter en la tarjeta Claves API (OPENROUTER_API_KEY); después Desconectar → Conectar para reintentar." }, "notice": "El agente {backend} no pudo iniciarse: {message} — {hint}" }, "too_many_question_cards": "Hay demasiadas tarjetas de pregunta abiertas a la vez en esta pestaña, así que las más antiguas ya no admiten respuesta: pulsarlas no hará nada. Responde a la tarjeta más reciente, o simplemente escribe tu elección en el chat y el agente la recogerá." } }