La interfaz responde sola y la respuesta final sale por la salida estándar.
zerochat --prompt "TEXTO" (o python3 zerochat.py --prompt "TEXTO") arranca el servidor local y, por defecto, abre la interfaz sin ventana en el Chromium de Playwright con el perfil local guardado en el servidor (o el que indiques con --profile). Al terminar, devuelve la respuesta y el proceso finaliza.
Con --conversation ID puedes continuar una conversación ya guardada en el servidor local (con un nuevo --prompt o reanudando su último mensaje pendiente), o bien activar el interruptor Ejecutar en servidor de la cabecera del chat para que los turnos se ejecuten en segundo plano aunque cierres la pestaña.
zerochat --prompt "Resume los cambios de hoy en este repositorio" > resumen.txt--log on también va a la salida de errores.--browser usa tu navegador predeterminado (visible, o sin ventana si añades --headless).| Opción | Efecto |
|---|---|
--conversation ID | Continúa la conversación con ese ID guardada en el servidor local (ver --list-conversations). Puede combinarse con --prompt TEXTO para añadir un nuevo turno de usuario o usarse sola para reanudar el último mensaje o respuesta pendiente. |
--profile NOMBRE | Usa ese perfil (nombre o id) solo en esta ejecución, sin cambiar el perfil activo guardado. Si no se indica, usa el perfil de origen de la conversación (si existe) o el perfil local del servidor; si no existe, la ejecución termina con error. |
--browser | Abre el navegador predeterminado del usuario en modo visible en lugar del Chromium sin ventana de Playwright. |
--headless | Con --browser, abre el navegador predeterminado del usuario sin ventana. Ver sección 5. |
--export FICHERO | Guarda la conversación en FICHERO; el formato sale de la extensión: .md (Markdown), .json (sesión) o .html (como se ve en el chat). Se exporta también tras un error de generación. |
--keep-page | Con --browser (sin --headless), no cierra la página al terminar para ver la conversación. El proceso termina igual y la página queda desconectada del servidor. |
--allow-dangerous-tools | Aprueba también las herramientas que escriben o ejecutan. Ver sección 3. |
--log on|off | Muestra la cabecera y el registro del servidor en la salida de errores. Por defecto off con --prompt. |
--port PUERTO | Puerto de escucha; si está ocupado, la ejecución no arranca. Sin --port, si el puerto por defecto lo usa otro ZeroChat abierto, la ejecución escucha en un puerto libre y convive con él (en desarrollo, con --browser y la interfaz local, no arranca). |
--prompt no se combina con --no-browser ni con --keep-server, porque la ejecución necesita el navegador y termina al devolver el resultado.
--prompt (sin --conversation): cada herramienta de lectura que pide permiso se permite para la sesión de esa página; write_file, edit_file y run_command se deniegan salvo con --allow-dangerous-tools. Si el modelo pregunta con ask_user, la ejecución termina con error (código 1, The run needs the user).--conversation: cuando una ejecución con --conversation necesita confirmación para una herramienta o una respuesta en ask_user, guarda la conversación en SQLite con la tarjeta pendiente, devuelve en la salida estándar un JSON con {"status": "needs_input", "conversation_id": "...", "pending": {...}} y termina con código 0 para que puedas responder desde la interfaz web o en una llamada posterior.~/zerochat/runs/): la barra lateral marca la conversación con un reloj mientras se ejecuta y con ? si espera tu respuesta o permiso; al abrirla ves el progreso en vivo, puedes detenerla en cualquier momento o aprobar la herramienta / responder a ask_user para que continúe.--profile se arrancan los que marque el perfil en su capítulo Servidores MCP, y Playwright MCP si es la herramienta de navegación o el perfil lo exige, con el navegador del perfil; si alguno no está configurado o no arranca, la ejecución termina con error. Sin --profile no se arranca ninguno. Todos se detienen al terminar y no dejan rastro para la siguiente sesión.La ejecución se corta a los 15 minutos, o tras 3 minutos sin progreso de la interfaz (cada paso, herramienta o fragmento de respuesta cuenta como progreso).
| Código | Significado |
|---|---|
0 | Terminada: la respuesta está en la salida estándar (o el JSON needs_input si --conversation quedó a la espera de permiso o respuesta). |
1 | Error de generación, perfil inexistente, servicio MCP del perfil no disponible, petición al usuario o exportación pedida que no se pudo escribir (en este último caso la respuesta sí sale). |
2 | Plazo agotado, o el navegador se cerró sin devolver resultado. |
3 | Fallo de arranque: puerto ocupado o navegador que no se pudo abrir. |
4 | Argumentos no válidos (también fuera de --prompt). |
--browser / --headless)Por defecto, --prompt corre sin ventana con el Chromium instalado en la caché de Playwright y los perfiles guardados en el servidor local (~/zerochat/storage/zerochat.db), sin depender de una sesión gráfica ni de que tu navegador esté cerrado.
--prompt --browser: abre tu navegador predeterminado en modo visible (con tus perfiles locales, historial y reglas guardadas en él). Admite --keep-page.--prompt --browser --headless: en Linux, busca el navegador predeterminado (xdg-settings) y lo lanza con --headless sobre tu perfil normal; si ya está abierto o no es identificable, se abre como pestaña de la forma normal.local, o el que pases en --profile) e instala el motor Chromium en Ajustes › Navegador. Así --prompt corre directamente en segundo plano sin sesión gráfica ni conflictos con tu navegador abierto.PATH mínimo y en el directorio personal. Entra en el directorio de trabajo con cd y añade al PATH los comandos que necesitan tus servicios MCP (node, npx, uvx…).MAILTO); el código de salida distingue cada caso. Con flock evitas que dos ejecuciones se solapen.MAILTO=usuario
0 7 * * * cd "$HOME/proyecto" && PATH="$HOME/.local/bin:/usr/local/bin:/usr/bin:/bin" flock -n /tmp/zerochat-prompt.lock zerochat --prompt "Prepara el informe diario" --export "$HOME/informes/diario.html"Antes de programar una ejecución, comprueba que el equipo tiene todo lo que usa:
--profile, con proveedor, URL, modelo y clave API. Un servidor de modelos local (LM Studio, Ollama…) tiene que estar en marcha.~/zerochat/services, con sus dependencias instaladas, sus credenciales en su service.json y sus comandos (node, npx, uvx…) en el PATH de la tarea. Los que piden autorización OAuth necesitan haberla completado antes en una sesión con ventana.browser_action, Node.js con Playwright y un navegador compatible (ver navegador del modelo).--allow-dangerous-tools si la tarea escribe archivos o ejecuta comandos, y las reglas de directorios de Configuración › Permisos que necesite.