Ejecutar un prompt desde la línea de comandos

La interfaz responde sola y la respuesta final sale por la salida estándar.

1. Cómo funciona

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

2. Opciones

OpciónEfecto
--conversation IDContinú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 NOMBREUsa 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.
--browserAbre el navegador predeterminado del usuario en modo visible en lugar del Chromium sin ventana de Playwright.
--headlessCon --browser, abre el navegador predeterminado del usuario sin ventana. Ver sección 5.
--export FICHEROGuarda 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-pageCon --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-toolsAprueba también las herramientas que escriben o ejecutan. Ver sección 3.
--log on|offMuestra la cabecera y el registro del servidor en la salida de errores. Por defecto off con --prompt.
--port PUERTOPuerto 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.

3. Herramientas, peticiones al usuario y ejecución en servidor

4. Plazos y códigos de salida

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ódigoSignificado
0Terminada: la respuesta está en la salida estándar (o el JSON needs_input si --conversation quedó a la espera de permiso o respuesta).
1Error 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).
2Plazo agotado, o el navegador se cerró sin devolver resultado.
3Fallo de arranque: puerto ocupado o navegador que no se pudo abrir.
4Argumentos no válidos (también fuera de --prompt).

5. Sin ventana y navegador del usuario (--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.

6. Tareas programadas (cron)

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"

7. Qué necesita cada ejecución

Antes de programar una ejecución, comprueba que el equipo tiene todo lo que usa: