Ir al contenido

Ejecuta comandos en OpenClaw: Guía de configuración

¿Te ha pasado que estás en medio de una sesión de código y tienes que romper tu concentración para abrir una terminal externa? Ejecutar comandos directamente en tu workspace sin perder el hilo es fundamental para mantener la productividad.

La herramienta exec te permite correr comandos de shell en el workspace. Soporta ejecución en primer y segundo plano mediante process. Si process no está permitido, exec se ejecuta de forma síncrona e ignora los parámetros yieldMs y background. Las sesiones en segundo plano tienen un alcance por agente; process solo detecta sesiones del mismo agente.

  • command (requerido)
  • workdir (por defecto es el cwd)
  • env (sobrescritura de clave/valor)
  • yieldMs (por defecto 10000): pasa a segundo plano automáticamente tras este retraso
  • background (bool): pasa a segundo plano inmediatamente
  • timeout (segundos, por defecto 1800): finaliza el proceso al expirar
  • pty (bool): ejecuta en una pseudo-terminal si está disponible (CLIs que solo funcionan en TTY, agentes de código, interfaces de terminal)
  • host (auto | sandbox | gateway | node): dónde se ejecuta
  • security (deny | allowlist | full): modo de aplicación para gateway/node
  • ask (off | on-miss | always): avisos de aprobación para gateway/node
  • node (string): id/nombre del nodo para host=node
  • elevated (bool): solicita modo elevado (host gateway); security=full solo se fuerza cuando la elevación se resuelve como full

Notas:

  • host por defecto es auto: usa sandbox cuando el runtime de sandbox está activo para la sesión, de lo contrario usa gateway.
  • elevated fuerza host=gateway; solo está disponible cuando el acceso elevado está habilitado para la sesión o proveedor actual.
  • Las aprobaciones de gateway/node se controlan mediante ~/.openclaw/exec-approvals.json.
  • node requiere un nodo vinculado (aplicación complementaria o host de nodo sin interfaz).
  • Si hay varios nodos disponibles, configura exec.node o tools.exec.node para seleccionar uno.
  • exec host=node es la única vía de ejecución de shell para nodos; el wrapper heredado nodes.run ha sido eliminado.
  • En hosts que no son Windows, exec usa SHELL si está configurado; si SHELL es fish, prefiere bash (o sh) de la PATH para evitar scripts incompatibles con fish, y vuelve a SHELL si ninguno existe.
  • En hosts Windows, exec prefiere buscar PowerShell 7 (pwsh) (en Program Files, ProgramW6432, luego en PATH),
{
tools: {
exec: {
pathPrepend: ["~/bin", "/opt/oss/bin"],
},
},
}
Ventana de terminal
openclaw config get agents.list
openclaw config set agents.list[0].tools.exec.node "node-id-or-name"
/exec host=auto security=allowlist ask=on-miss node=mac-1
{ "tool": "exec", "command": "ls -la" }
{"tool":"exec","command":"npm run build","yieldMs":1000}
{"tool":"process","action":"poll","sessionId":"<id>"}
{"tool":"process","action":"send-keys","sessionId":"<id>","keys":["Enter"]}
{"tool":"process","action":"send-keys","sessionId":"<id>","keys":["C-c"]}
{"tool":"process","action":"send-keys","sessionId":"<id>","keys":["Up","Up","Enter"]}
{ "tool": "process", "action": "submit", "sessionId": "<id>" }
{ "tool": "process", "action": "paste", "sessionId": "<id>", "text": "line1\nline2\n" }
{
tools: {
exec: {
applyPatch: { workspaceOnly: true, allowModels: ["gpt-5.2"] },
},
},
}
OpenClaw

OpenClaw Expert

Sigues atascado?

Si esta pagina no resolvio tu caso, pregunta a OpenClaw Expert para pasos concretos.