OpenClaw’s Gateway expone un endpoint HTTP simple para invocar directamente una sola herramienta. Siempre está habilitado y usa la autenticación de Gateway más la política de herramientas. Al igual que la superficie compatible con OpenAIDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
/v1/*, la autenticación bearer con secreto compartido se trata como acceso de operador de confianza para todo el gateway.
POST /tools/invoke- Mismo puerto que el Gateway (multiplexación WS + HTTP):
http://<gateway-host>:<port>/tools/invoke
Autenticación
Usa la configuración de autenticación del Gateway. Rutas comunes de autenticación HTTP:- autenticación con secreto compartido (
gateway.auth.mode="token"o"password"):Authorization: Bearer <token-or-password> - autenticación HTTP con identidad de confianza (
gateway.auth.mode="trusted-proxy"): enruta a través del proxy configurado con reconocimiento de identidad y deja que inyecte los encabezados de identidad requeridos - autenticación abierta de ingreso privado (
gateway.auth.mode="none"): no se requiere encabezado de autenticación
- Cuando
gateway.auth.mode="token", usagateway.auth.token(oOPENCLAW_GATEWAY_TOKEN). - Cuando
gateway.auth.mode="password", usagateway.auth.password(oOPENCLAW_GATEWAY_PASSWORD). - Cuando
gateway.auth.mode="trusted-proxy", la solicitud HTTP debe provenir de una fuente de proxy de confianza configurada; los proxies loopback en el mismo host requierengateway.auth.trustedProxy.allowLoopback = trueexplícito. - Si
gateway.auth.rateLimitestá configurado y ocurren demasiados errores de autenticación, el endpoint devuelve429conRetry-After.
Límite de seguridad (importante)
Trata este endpoint como una superficie de acceso completo de operador para la instancia del gateway.- La autenticación bearer HTTP aquí no es un modelo de alcance limitado por usuario.
- Un token/contraseña de Gateway válido para este endpoint debe tratarse como una credencial de propietario/operador.
- Para modos de autenticación con secreto compartido (
tokenypassword), el endpoint restaura los valores predeterminados normales de operador completo aunque el llamador envíe un encabezadox-openclaw-scopesmás limitado. - La autenticación con secreto compartido también trata las invocaciones directas de herramientas en este endpoint como turnos de remitente propietario.
- Los modos HTTP con identidad de confianza (por ejemplo, autenticación de proxy de confianza o
gateway.auth.mode="none"en un ingreso privado) respetanx-openclaw-scopescuando está presente y, si no, recurren al conjunto normal predeterminado de alcances de operador. - Mantén este endpoint solo en loopback/tailnet/ingreso privado; no lo expongas directamente a Internet público.
gateway.auth.mode="token"o"password"+Authorization: Bearer ...- demuestra posesión del secreto compartido de operador del gateway
- ignora
x-openclaw-scopesmás limitado - restaura el conjunto completo predeterminado de alcances de operador:
operator.admin,operator.approvals,operator.pairing,operator.read,operator.talk.secrets,operator.write - trata las invocaciones directas de herramientas en este endpoint como turnos de remitente propietario
- modos HTTP con identidad de confianza (por ejemplo, autenticación de proxy de confianza, o
gateway.auth.mode="none"en ingreso privado)- autentican alguna identidad externa de confianza o límite de despliegue
- respetan
x-openclaw-scopescuando el encabezado está presente - recurren al conjunto normal predeterminado de alcances de operador cuando el encabezado está ausente
- solo pierden la semántica de propietario cuando el llamador limita explícitamente los alcances y omite
operator.admin
Cuerpo de la solicitud
tool(cadena, obligatorio): nombre de la herramienta que se va a invocar.action(cadena, opcional): se asigna a args si el esquema de la herramienta admiteactiony la carga útil de args lo omitió.args(objeto, opcional): argumentos específicos de la herramienta.sessionKey(cadena, opcional): clave de sesión de destino. Si se omite o es"main", el Gateway usa la clave de sesión principal configurada (respetasession.mainKeyy el agente predeterminado, oglobalen alcance global).dryRun(booleano, opcional): reservado para uso futuro; actualmente se ignora.
Política + comportamiento de enrutamiento
La disponibilidad de herramientas se filtra mediante la misma cadena de políticas que usan los agentes del Gateway:tools.profile/tools.byProvider.profiletools.allow/tools.byProvider.allowagents.<id>.tools.allow/agents.<id>.tools.byProvider.allow- políticas de grupo (si la clave de sesión se asigna a un grupo o canal)
- política de subagente (al invocar con una clave de sesión de subagente)
- Las aprobaciones de exec son barreras de seguridad del operador, no un límite de autorización separado para este endpoint HTTP. Si una herramienta es accesible aquí mediante autenticación de Gateway + política de herramientas,
/tools/invokeno añade una solicitud de aprobación adicional por llamada. - Si
execes accesible aquí, trátalo como una superficie de shell con capacidad de mutación. Denegarwrite,edit,apply_patcho herramientas HTTP de escritura en el sistema de archivos no convierte la ejecución de shell en solo lectura. - No compartas credenciales bearer de Gateway con llamadores que no sean de confianza. Si necesitas separación entre límites de confianza, ejecuta gateways separados (e idealmente usuarios/hosts de SO separados).
exec- ejecución directa de comandos (superficie RCE)spawn- creación arbitraria de procesos secundarios (superficie RCE)shell- ejecución de comandos de shell (superficie RCE)fs_write- mutación arbitraria de archivos en el hostfs_delete- eliminación arbitraria de archivos en el hostfs_move- movimiento/cambio de nombre arbitrario de archivos en el hostapply_patch- la aplicación de parches puede reescribir archivos arbitrariossessions_spawn- orquestación de sesiones; generar agentes remotamente es RCEsessions_send- inyección de mensajes entre sesionescron- plano de control de automatización persistentegateway- plano de control del gateway; evita la reconfiguración mediante HTTPnodes- el relé de comandos de nodo puede alcanzar system.run en hosts emparejadoswhatsapp_login- configuración interactiva que requiere escaneo QR en terminal; se bloquea en HTTP
gateway.tools:
x-openclaw-message-channel: <channel>(ejemplo:slack,telegram)x-openclaw-account-id: <accountId>(cuando existen varias cuentas)
Respuestas
200→{ ok: true, result }400→{ ok: false, error: { type, message } }(solicitud no válida o error de entrada de herramienta)401→ no autorizado429→ autenticación limitada por tasa (Retry-Afterestablecido)404→ herramienta no disponible (no encontrada o no incluida en la lista de permitidas)405→ método no permitido500→{ ok: false, error: { type, message } }(error inesperado de ejecución de herramienta; mensaje saneado)