exec y mantiene en memoria las tareas de larga duración. La herramienta process gestiona esas sesiones en segundo plano.
Herramienta exec
Parámetros:
Comportamiento:
- Las ejecuciones en primer plano devuelven la salida directamente.
- Al pasar a segundo plano (de forma explícita o mediante el tiempo de espera de
yieldMs), la herramienta devuelvestatus: "running"+sessionIdy un breve fragmento final de la salida. - Las ejecuciones en segundo plano y de
yieldMsheredantools.exec.timeoutSeconds, salvo que la llamada proporcione untimeoutexplícito. - La salida permanece en memoria hasta que se consulta o se borra la sesión.
- Si la herramienta
processno está permitida,execse ejecuta de forma síncrona e ignorayieldMs/background. - Los comandos exec iniciados reciben
OPENCLAW_SHELL=execpara aplicar reglas de shell o perfil que tienen en cuenta el contexto. - Para un trabajo de larga duración que comienza ahora: inícielo una sola vez y confíe en la activación automática al completarse (cuando esté habilitada) una vez que el comando produzca salida o falle.
- Si la activación automática al completarse no está disponible, o se necesita confirmar la finalización correcta de un comando que termina sin producir salida, consulte con
process. - No emule recordatorios ni seguimientos diferidos con bucles de
sleepo consultas repetidas: use Cron para trabajos futuros.
Sustituciones mediante variables de entorno
Configuración (preferible a las sustituciones mediante variables de entorno)
Puente de procesos secundarios
Al iniciar procesos secundarios de larga duración fuera de las herramientas exec/process (reinicios de la CLI, auxiliares del Gateway), conecte el auxiliar de puente de procesos secundarios para que las señales de terminación se reenvíen y los escuchadores se desconecten al salir o producirse un error. Esto evita procesos huérfanos en systemd y mantiene un apagado coherente entre plataformas.Herramienta process
Acciones:
Notas:
- Solo se enumeran y conservan las sesiones en segundo plano, únicamente en memoria, no en disco. Las sesiones se pierden al reiniciar el proceso.
- Una sesión activa en segundo plano bloquea la suspensión cooperativa del host y el reinicio seguro del Gateway hasta que el propietario del proceso confirma su finalización real.
process removepuede ocultar una sesión en ejecución inmediatamente después de solicitar su finalización; la suspensión y el reinicio permanecen bloqueados hasta que se confirme la finalización.- Los registros de sesión solo se guardan en el historial del chat si se ejecuta
process poll/logy se registra el resultado de la herramienta. processtiene un ámbito por agente; solo ve las sesiones iniciadas por ese agente.- Use
poll/logpara consultar el estado, los registros o la confirmación de finalización cuando la activación automática al completarse no esté disponible. - Use
logantes de recuperar una CLI interactiva, para que la transcripción actual, el estado de stdin y la indicación de espera de entrada estén visibles conjuntamente. - Use
write/send-keys/submit/paste/killcuando se necesite una entrada o intervención. process listincluye unnamederivado (verbo del comando + destino) para revisiones rápidas.process list,pollyloginforman dewaitingForInputsolo cuando la sesión todavía tiene stdin con escritura y ha estado inactiva durante más tiempo que el umbral de espera de entrada (valor predeterminado: 15000 ms,OPENCLAW_PROCESS_INPUT_WAIT_IDLE_MS).process logutilizaoffset/limitbasados en líneas. Cuando se omiten ambos, devuelve las últimas 200 líneas con una indicación de paginación. Cuando se estableceoffsety no se establecelimit, devuelve desdeoffsethasta el final (sin limitarse a 200).- El
timeoutdepollespera hasta esa cantidad de milisegundos antes de devolver el resultado; los valores superiores a 30000 se limitan a 30000. - Las consultas sirven para obtener el estado bajo demanda, no para programar bucles de espera. Si el trabajo debe realizarse más adelante, use Cron.