Skip to main content
El Gateway gestiona los comandos enviados como mensajes independientes que comienzan por /. Los comandos bash exclusivos del host usan ! <cmd> (con /bash <cmd> como alias). Cuando una conversación está vinculada a una sesión ACP, el texto normal se dirige al entorno ACP. Los comandos de gestión del Gateway permanecen locales: /acp ... siempre llega al controlador de comandos de OpenClaw, y /status junto con /unfocus permanecen locales siempre que la gestión de comandos esté habilitada para la superficie.

Tres tipos de comandos

Comandos

Mensajes independientes /... gestionados por el Gateway. Deben enviarse como único contenido del mensaje.

Directivas

/think, /fast, /verbose, /trace, /reasoning, /elevated, /exec, /model, /queue: se eliminan del mensaje antes de que el modelo lo vea. Conservan la configuración de la sesión cuando se envían solas; actúan como indicaciones en línea cuando se envían con otro texto.

Atajos en línea

/help, /commands, /status, /whoami: se ejecutan de inmediato y se eliminan antes de que el modelo vea el texto restante. Solo para remitentes autorizados.
  • Las directivas se eliminan del mensaje antes de que el modelo lo vea.
  • En los mensajes que contienen solo directivas (el mensaje consta únicamente de directivas), estas se conservan en la sesión y responden con una confirmación.
  • En los mensajes de chat normal que contienen otro texto, actúan como indicaciones en línea y no conservan la configuración de la sesión.
  • Las directivas solo se aplican a remitentes autorizados. Si se establece commands.allowFrom, será la única lista de permitidos utilizada; de lo contrario, la autorización procede de las listas de permitidos del canal, el emparejamiento y la aplicación permanente de los grupos de acceso. Para los remitentes no autorizados, las directivas se tratan como texto sin formato.

Configuración

boolean
predeterminado:"true"
Habilita el análisis de /... en los mensajes de chat. En las superficies sin comandos nativos (WhatsApp, WebChat, Signal, iMessage, Google Chat, Microsoft Teams), los comandos de texto funcionan incluso cuando se establece en false.
boolean | "auto"
predeterminado:"\"auto\""
Registra comandos nativos. Automático: activado para Discord/Telegram; desactivado para Slack; se ignora para los proveedores sin compatibilidad nativa. Se puede sobrescribir por canal con channels.<provider>.commands.native. En Discord, false omite el registro de comandos con barra diagonal; los comandos registrados anteriormente pueden seguir visibles hasta que se eliminen.
boolean | "auto"
predeterminado:"\"auto\""
Registra de forma nativa los comandos de Skills cuando se admite. Automático: activado para Discord/Telegram; desactivado para Slack. Se puede sobrescribir con channels.<provider>.commands.nativeSkills.
boolean
predeterminado:"false"
Habilita ! <cmd> para ejecutar comandos del shell del host (alias /bash <cmd>). Requiere las listas de permitidos de tools.elevated.
number
predeterminado:"2000"
Tiempo que bash espera antes de pasar al modo en segundo plano (0 pasa inmediatamente a segundo plano).
boolean
predeterminado:"false"
Habilita /config (lee/escribe openclaw.json). Solo para el propietario.
boolean
predeterminado:"false"
Habilita /mcp (lee/escribe la configuración de MCP gestionada por OpenClaw en mcp.servers). Solo para el propietario.
boolean
predeterminado:"false"
Habilita /plugins (detección/estado de plugins, además de instalación y activación/desactivación). Solo el propietario puede realizar escrituras.
boolean
predeterminado:"false"
Habilita /debug (sobrescrituras de configuración exclusivas del entorno de ejecución). Solo para el propietario.
boolean
predeterminado:"true"
Habilita /restart y las solicitudes externas de reinicio SIGUSR1.
string[]
Lista explícita de permitidos del propietario para las superficies de comandos exclusivas del propietario. Es independiente de commands.allowFrom y del acceso mediante emparejamiento de mensajes directos.
boolean
predeterminado:"false"
Por canal: requiere la identidad del propietario para los comandos exclusivos del propietario. Cuando true, el remitente debe coincidir con commands.ownerAllowFrom o tener el ámbito interno operator.admin. Una entrada comodín allowFrom no es suficiente.
"raw" | "hash"
Controla cómo aparecen los identificadores del propietario en el prompt del sistema.
string
Secreto HMAC utilizado cuando commands.ownerDisplay: "hash".
object
Lista de permitidos por proveedor para autorizar comandos. Cuando está configurada, es la única fuente de autorización para comandos y directivas. Use "*" como valor predeterminado global; las claves específicas del proveedor lo sobrescriben.

Lista de comandos

Los comandos proceden de tres fuentes:
  • Comandos integrados del núcleo: src/auto-reply/commands-registry.shared.ts
  • Comandos de dock generados: src/auto-reply/commands-registry.data.ts
  • Comandos de plugins: llamadas registerCommand() del plugin
La disponibilidad depende de las opciones de configuración, la superficie del canal y los plugins instalados y habilitados.

Comandos del núcleo

Las rutas explícitas /export-session sustituyen los archivos existentes dentro del espacio de trabajo. Omita la ruta para generar un nombre de archivo que evite colisiones.
La interfaz de control intercepta /new cuando se escribe para crear una nueva sesión del panel y cambiar a ella, excepto cuando session.dmScope: "main" está configurado y el elemento principal actual es la sesión principal del agente; en ese caso, /new restablece la sesión principal sin sustituirla. /reset escrito manualmente sigue ejecutando el restablecimiento sin sustitución del Gateway. Use /model default cuando quiera borrar una selección de modelo fijada para la sesión.
  • /verbose sirve para depuración; manténgalo desactivado durante el uso normal.
  • /trace muestra únicamente las líneas de seguimiento/depuración propiedad de los plugins; la salida detallada normal permanece desactivada.
  • /fast auto|on|off conserva una sobrescritura de la sesión; use la opción inherit de la interfaz de sesiones para borrarla.
  • /fast depende del proveedor: OpenAI/Codex lo asignan a service_tier=priority; las solicitudes directas a Anthropic lo asignan a service_tier=auto o standard_only.
  • /reasoning, /verbose y /trace son arriesgados en entornos grupales: pueden revelar razonamientos internos o diagnósticos de plugins. Manténgalos desactivados en los chats grupales.
  • /model conserva inmediatamente el nuevo modelo en la sesión.
  • Si el agente está inactivo, la siguiente ejecución lo utiliza de inmediato.
  • Si hay una ejecución activa, el cambio se marca como pendiente y se aplica en el siguiente punto de reintento limpio.

Comandos de acoplamiento

Los comandos de acoplamiento cambian la ruta de respuesta de la sesión activa a otro canal vinculado. Consulte Acoplamiento de canales para obtener información sobre la configuración y la resolución de problemas. Generados a partir de plugins de canales compatibles con comandos nativos:
  • /dock-discord (alias: /dock_discord)
  • /dock-mattermost (alias: /dock_mattermost)
  • /dock-slack (alias: /dock_slack)
  • /dock-telegram (alias: /dock_telegram)
Los comandos de acoplamiento requieren session.identityLinks. El remitente de origen y el interlocutor de destino deben pertenecer al mismo grupo de identidad.

Comandos de plugins incluidos

Solo para QQBot: /bot-ping, /bot-version, /bot-help, /bot-upgrade, /bot-logs

Comandos de skills

Las skills que el usuario puede invocar se exponen como comandos con barra:
  • /skill <name> [input] siempre funciona como punto de entrada genérico.
  • Las skills pueden registrarse como comandos directos (p. ej., /prose para OpenProse).
  • El registro de comandos nativos de skills se controla mediante commands.nativeSkills y channels.<provider>.commands.nativeSkills.
  • Los nombres se normalizan a a-z0-9_ (máximo de 32 caracteres); las colisiones reciben sufijos numéricos.
De forma predeterminada, los comandos de skills se enrutan al modelo como una solicitud normal.Las skills pueden declarar command-dispatch: tool para enrutarse directamente a una herramienta (de forma determinista, sin intervención del modelo). Ejemplo: /prose (plugin OpenProse) — consulte OpenProse.
Discord usa la función de autocompletar para las opciones dinámicas y menús de botones cuando se omiten argumentos obligatorios. Telegram y Slack muestran un menú de botones para los comandos con opciones. Las opciones dinámicas se resuelven según el modelo de la sesión de destino, por lo que las opciones específicas del modelo, como los niveles de /think, respetan la sustitución /model de la sesión.

/tools: lo que el agente puede usar ahora

/tools responde a una pregunta sobre el tiempo de ejecución: qué puede usar este agente ahora mismo en esta conversación, no un catálogo estático de configuración.
Los resultados se limitan a la sesión. Cambiar de agente, canal, hilo, autorización del remitente o modelo puede cambiar el resultado. Para editar perfiles y sustituciones, use el panel Tools de Control UI o las superficies de configuración.

/model: selección de modelos

En Discord, /model y /models abren un selector interactivo con listas desplegables de proveedor y modelo. El selector respeta agents.defaults.modelPolicy.allow, incluidas las entradas provider/*. Sin una lista de permitidos explícita, las entradas y los alias de modelos no restringen la selección.

/config: escrituras de configuración en disco

Solo para el propietario. Deshabilitado de forma predeterminada; habilítelo con commands.config: true.
La configuración se valida antes de escribirla. Los cambios no válidos se rechazan. Las actualizaciones de /config persisten entre reinicios.

/mcp: configuración del servidor MCP

Solo para el propietario. Deshabilitado de forma predeterminada; habilítelo con commands.mcp: true.
/mcp almacena la configuración en la configuración de OpenClaw, no en los ajustes de proyecto del agente integrado. /mcp show oculta los campos que contienen credenciales, los valores reconocidos de indicadores de credenciales y los argumentos conocidos con formato de secreto. Cuando se ejecuta desde un grupo, la configuración se envía de forma privada al propietario; si no hay disponible una ruta privada hacia el propietario, el comando se cierra de forma segura y pide al propietario que vuelva a intentarlo desde un chat directo.

/debug: sustituciones solo en tiempo de ejecución

Solo para el propietario. Deshabilitado de forma predeterminada; habilítelo con commands.debug: true. Las sustituciones se aplican inmediatamente a las nuevas lecturas de configuración, pero no se escriben en disco.

/plugins: gestión de plugins

Las escrituras son exclusivas del propietario. Deshabilitado de forma predeterminada; habilítelo con commands.plugins: true.
/plugins enable|disable actualiza la configuración de los plugins y recarga en caliente el tiempo de ejecución de plugins del Gateway para los nuevos turnos del agente. /plugins install reinicia automáticamente los Gateways gestionados porque han cambiado los módulos de código fuente de los plugins. Las instalaciones de confianza de ClawHub y del catálogo oficial no necesitan confirmación adicional. Las fuentes arbitrarias de npm, git, archivos, npm-pack: y rutas locales muestran una advertencia de procedencia y requieren un --force al final después de revisar el código fuente. Este indicador confirma el código fuente y permite sustituir una instalación existente; no omite security.installPolicy ni las comprobaciones de seguridad del instalador. Las versiones de ClawHub con advertencias de riesgo siguen requiriendo el indicador independiente y exclusivo del shell --acknowledge-clawhub-risk. Las instalaciones del marketplace, vinculadas y fijadas también siguen siendo exclusivas del shell.

/trace: salida de rastreo de plugins

/trace muestra líneas de rastreo y depuración de plugins limitadas a la sesión sin activar el modo detallado completo. No sustituye a /debug (sustituciones en tiempo de ejecución) ni a /verbose (salida normal de herramientas).

/btw: preguntas secundarias

/btw es una pregunta secundaria rápida sobre el contexto de la sesión actual. Alias: /side.
A diferencia de un mensaje normal:
  • Usa la sesión actual como contexto de fondo.
  • En las sesiones del entorno de Codex, se ejecuta como un hilo secundario efímero de Codex.
  • No cambia el contexto futuro de la sesión.
  • No se escribe en el historial de transcripciones.
Consulte Preguntas secundarias de BTW para conocer el comportamiento completo.

Notas sobre las superficies

  • Comandos de texto: se ejecutan en la sesión normal de chat (los mensajes directos comparten main; los grupos tienen su propia sesión).
  • Comandos nativos de Discord: agent:<agentId>:discord:slash:<userId>
  • Comandos nativos de Slack: agent:<agentId>:slack:slash:<userId> (prefijo configurable mediante channels.slack.slashCommand.sessionPrefix)
  • Comandos nativos de Telegram: telegram:slash:<userId> (se dirigen a la sesión de chat mediante CommandTargetSessionKey)
  • /login codex envía códigos de emparejamiento de dispositivos únicamente mediante chats privados o rutas de respuesta de la interfaz web. Las invocaciones desde grupos o temas de Telegram piden al propietario que envíe un mensaje directo al bot.
  • /stop se dirige a la sesión de chat activa para cancelar la ejecución actual.
channels.slack.slashCommand admite un único comando de estilo /openclaw. Con commands.native: true, cree un comando de barra de Slack por cada comando integrado. Registre /agentstatus (no /status), porque Slack reserva /status. El texto /status sigue funcionando en los mensajes de Slack.
  • Los mensajes que solo contienen comandos y proceden de remitentes incluidos en la lista de permitidos se gestionan de inmediato (omiten la cola y el modelo).
  • Los atajos en línea (/help, /commands, /status, /whoami) también funcionan integrados en mensajes normales y se eliminan antes de que el modelo vea el texto restante.
  • Los mensajes no autorizados que solo contienen comandos se ignoran silenciosamente; los tokens /... en línea se tratan como texto sin formato.
  • Los comandos aceptan un : opcional entre el comando y los argumentos (/think: high, /send: on).
  • /new <model> acepta un alias de modelo, provider/model o el nombre de un proveedor (coincidencia aproximada); si no hay coincidencias, el texto se trata como el cuerpo del mensaje.
  • /allowlist add|remove requiere commands.config: true y respeta la opción configWrites del canal.

Uso y estado del proveedor

  • El uso o la cuota del proveedor (p. ej., «Claude: 80 % restante») se muestra en /status para el proveedor del modelo actual cuando el seguimiento del uso está activado.
  • Las líneas de tokens y caché de /status pueden recurrir a la entrada de uso más reciente de la transcripción cuando la instantánea de la sesión en vivo contiene pocos datos.
  • Ejecución frente a entorno de ejecución: /status muestra Execution para la ruta efectiva del entorno aislado y Runtime para indicar quién ejecuta la sesión: OpenClaw Default, OpenAI Codex, un backend de CLI o un backend de ACP.
  • Tokens y coste por respuesta: se controlan mediante /usage off|tokens|full.
  • /model status se refiere a modelos, autenticación y endpoints, no al uso.

Contenido relacionado

Skills

Cómo se registran y restringen los comandos de barra de Skills.

Creación de Skills

Cree una Skill que registre su propio comando de barra.

BTW

Preguntas secundarias sin cambiar el contexto de la sesión.

Steer

Oriente al agente durante la ejecución con /steer.