CLI commands
Agente
openclaw agent
Ejecuta un turno del agente a través del Gateway. Recurre al agente integrado si falla la solicitud al Gateway; usa --local para forzar desde el principio la ejecución integrada.
Indica al menos un selector de sesión: --to, --session-key, --session-id o --agent.
Relacionado: Herramienta de envío del agente
Opciones
-m, --message <text>: cuerpo del mensaje--message-file <path>: lee el cuerpo del mensaje desde un archivo UTF-8-t, --to <dest>: destinatario utilizado para derivar la clave de sesión--session-key <key>: clave de sesión explícita que se utilizará para el enrutamiento--session-id <id>: identificador de sesión explícito--agent <id>: identificador del agente; anula las vinculaciones de enrutamiento--model <id>: modelo alternativo para esta ejecución (provider/modelo identificador del modelo)--thinking <level>: nivel de razonamiento del agente (off,minimal,low,medium,high, además de niveles personalizados compatibles con el proveedor, comoxhigh,adaptiveomax)--verbose <on|off>: conserva el nivel de detalle para la sesión--channel <channel>: canal de entrega; omítelo para usar el canal principal de la sesión--reply-to <target>: destinatario de entrega alternativo--reply-channel <channel>: canal de entrega alternativo--reply-account <id>: cuenta de entrega alternativa--local: ejecuta directamente el agente integrado (después de precargar el registro de plugins)--deliver: envía la respuesta al canal o destinatario seleccionado--timeout <seconds>: anula el tiempo de espera del agente (valor predeterminado: 600 oagents.defaults.timeoutSeconds);0desactiva el tiempo de espera--json: genera la salida en formato JSON
Ejemplos
openclaw agent --to +15555550123 --message "status update" --deliveropenclaw agent --agent ops --message "Summarize logs"openclaw agent --agent ops --message-file ./task.mdopenclaw agent --agent ops --model openai/gpt-5.4 --message "Summarize logs"openclaw agent --session-key agent:ops:incident-42 --message "Summarize status"openclaw agent --agent ops --session-key incident-42 --message "Summarize status"openclaw agent --session-id 1234 --message "Summarize inbox" --thinking mediumopenclaw agent --to +15555550123 --message "Trace logs" --verbose on --jsonopenclaw agent --agent ops --message "Generate report" --deliver --reply-channel slack --reply-to "#reports"openclaw agent --agent ops --message "Run locally" --localNotas
- Indica exactamente una de las opciones
--messageo--message-file.--message-fileelimina un BOM UTF-8 inicial y conserva el contenido multilínea; rechaza los archivos que no sean UTF-8 válido. - Los comandos con barra diagonal (por ejemplo,
/compact) no pueden ejecutarse mediante--message. La CLI los rechaza e indica el comando específico correspondiente (openclaw sessions compact <key>para la compactación). - Las ejecuciones con
--localy las de reserva integrada son de un solo uso: los recursos de local loopback de MCP incluidos y las sesiones activas de Claude mediante stdio que se abran para la ejecución se cierran después de la respuesta, por lo que las invocaciones mediante scripts no dejan procesos secundarios locales en ejecución. En cambio, las ejecuciones respaldadas por el Gateway mantienen los recursos de local loopback de MCP propiedad del Gateway dentro del proceso del Gateway en ejecución. - Al usar conjuntamente
--agent,--channely--to, el enrutamiento de la sesión sigue al destinatario canónico del canal y asession.dmScope. Los canales con una identidad estable de destinatario exclusivamente saliente usan una sesión propiedad del proveedor, aislada de la sesión principal del agente.--reply-channely--reply-accountsolo afectan a la entrega. --session-keyselecciona una clave de sesión explícita. Las claves con prefijo de agente deben usaragent:<agent-id>:<session-key>, y--agentdebe coincidir con el identificador de agente de la clave cuando se proporcionen ambos. Las claves simples que no sean valores centinela se asignan al ámbito de--agentcuando se proporciona o, en caso contrario, al agente predeterminado configurado; por ejemplo,--agent ops --session-key incident-42enruta aagent:ops:incident-42. Las claves literalesglobalyunknownpermanecen sin ámbito solo cuando no se proporciona--agent.--jsonreserva stdout para la respuesta JSON; los diagnósticos del Gateway, del plugin y de la reserva integrada se envían a stderr para que los scripts puedan analizar stdout directamente.- El JSON de la reserva integrada incluye
meta.transport: "embedded"ymeta.fallbackFrom: "gateway"para que los scripts puedan detectar una ejecución de reserva. - Si el Gateway acepta una ejecución, pero se agota el tiempo de espera de la CLI mientras espera la respuesta final, la reserva integrada utiliza un identificador nuevo de sesión/ejecución
gateway-fallback-*e informa demeta.fallbackReason: "gateway_timeout"junto con los campos de la sesión de reserva, en lugar de competir con la transcripción propiedad del Gateway o sustituir silenciosamente la sesión original. SIGTERM/SIGINTinterrumpen una solicitud respaldada por el Gateway que esté en espera; si el Gateway ya ha aceptado la ejecución, la CLI también envíachat.abortpara ese identificador de ejecución antes de salir. Las ejecuciones con--localy las de reserva integrada reciben la misma señal, pero no envíanchat.abort. Si la clave interna de desduplicación de ejecuciones ya tiene una ejecución activa para esta sesión, la respuesta informa destatus: "in_flight"y la CLI sin JSON imprime un diagnóstico en stderr en lugar de una respuesta vacía. Para envoltorios externos de cron/systemd, mantén un mecanismo de respaldo de terminación forzada comotimeout -k 60 600 openclaw agent ..., de modo que el supervisor pueda finalizar el proceso si el cierre no logra completarse.- Cuando este comando activa la regeneración de
models.json, las credenciales del proveedor administradas mediante SecretRef se conservan como marcadores no secretos (por ejemplo, nombres de variables de entorno,secretref-env:ENV_VAR_NAMEosecretref-managed), nunca como texto sin formato del secreto resuelto. Los marcadores se escriben a partir de la instantánea activa de la configuración de origen, no de los valores secretos resueltos en tiempo de ejecución.
Estado de entrega JSON
Con --json --deliver, la respuesta JSON de la CLI incluye deliveryStatus en el nivel superior para que los scripts puedan distinguir entre envíos entregados, suprimidos, parciales y fallidos:
{ "payloads": [{ "text": "Report ready", "mediaUrl": null }], "meta": { "durationMs": 1200 }, "deliveryStatus": { "requested": true, "attempted": true, "status": "sent", "succeeded": true, "resultCount": 1 }}Las respuestas de la CLI respaldadas por el Gateway también conservan la estructura original del resultado del Gateway en result.deliveryStatus.
deliveryStatus.status es uno de los siguientes:
| Estado | Significado |
|---|---|
sent |
La entrega se completó. |
suppressed |
La entrega no se envió intencionadamente (por ejemplo, un hook de envío de mensajes la canceló o no hubo ningún resultado visible). Estado terminal, sin reintentos. |
partial_failed |
Se envió al menos una carga útil antes de que fallara una carga útil posterior. |
failed |
No se completó ningún envío persistente o falló la validación previa de la entrega. |
Campos habituales:
requested: siempre estruecuando el objeto está presente.attempted: estrueuna vez que se ejecuta la ruta de envío persistente; esfalsecuando falla la validación previa o no hay cargas útiles visibles.succeeded: puede sertrue,falseo"partial";"partial"se corresponde constatus: "partial_failed".reason: motivo en minúsculas y formato snake_case procedente de la entrega persistente o de la validación previa. Los valores conocidos incluyencancelled_by_message_sending_hook,no_visible_payload,no_visible_result,channel_resolved_to_internal,unknown_channel,invalid_delivery_targetyno_delivery_target; los envíos persistentes fallidos también pueden indicar la etapa que falló. Trata los valores desconocidos como opacos, ya que el conjunto puede ampliarse.resultCount: número de resultados de envío del canal, cuando está disponible.sentBeforeError: estruecuando un fallo parcial envió al menos una carga útil antes de producirse el error.error: estruepara los envíos fallidos o parcialmente fallidos.errorMessage: solo está presente cuando se ha capturado un mensaje de error de entrega subyacente. Los fallos de validación previa incluyenerror/reason, pero noerrorMessage.payloadOutcomes: resultados opcionales de cada carga útil conindex,status,reason,resultCount,error,stage,sentBeforeErroro metadatos del hook cuando estén disponibles.
Contenido relacionado
Was this useful?