Referencia de configuración

Todos los campos disponibles en ~/.openclaw/openclaw.json. Para un resumen orientado a tareas, consulta Configuración.

El formato de configuración es JSON5 (comentarios + comas finales permitidos). Todos los campos son opcionales — OpenClaw usa valores por defecto seguros cuando se omiten.


Canales

Cada canal se inicia automáticamente cuando su sección de configuración existe (a menos que enabled: false).

Acceso por DM y grupo

Todos los canales soportan políticas de DM y políticas de grupo:

Política de DMComportamiento
pairing (por defecto)Los remitentes desconocidos reciben un código de emparejamiento de un solo uso; el propietario debe aprobar
allowlistSolo remitentes en allowFrom (o almacén de emparejamiento permitido)
openPermitir todos los DMs entrantes (requiere allowFrom: ["*"])
disabledIgnorar todos los DMs entrantes
Política de grupoComportamiento
allowlist (por defecto)Solo grupos que coincidan con la lista de permitidos configurada
openOmitir listas de permitidos de grupo (la restricción por mención sigue aplicando)
disabledBloquear todos los mensajes de grupo/sala

Nota: channels.defaults.groupPolicy configura el valor por defecto cuando el groupPolicy de un proveedor no está configurado. Los códigos de emparejamiento expiran después de 1 hora. Las solicitudes de emparejamiento DM pendientes están limitadas a 3 por canal. Si un bloque de proveedor falta completamente (channels.<provider> ausente), la política de grupo en runtime recurre a allowlist (fallo cerrado) con una advertencia al inicio.

Sustituciones de modelo por canal

Usa channels.modelByChannel para fijar IDs de canal específicos a un modelo. Los valores aceptan provider/model o alias de modelo configurados. El mapeo de canal se aplica cuando una sesión no tiene ya una sustitución de modelo (por ejemplo, configurada vía /model).

{
  channels: {
    modelByChannel: {
      discord: {
        "123456789012345678": "anthropic/claude-opus-4-6",
      },
      slack: {
        C1234567890: "openai/gpt-4.1",
      },
      telegram: {
        "-1001234567890": "openai/gpt-4.1-mini",
        "-1001234567890:topic:99": "anthropic/claude-sonnet-4-6",
      },
    },
  },
}

Valores por defecto de canal y heartbeat

Usa channels.defaults para política de grupo compartida y comportamiento de heartbeat entre proveedores:

{
  channels: {
    defaults: {
      groupPolicy: "allowlist", // open | allowlist | disabled
      heartbeat: {
        showOk: false,
        showAlerts: true,
        useIndicator: true,
      },
    },
  },
}
  • channels.defaults.groupPolicy: política de grupo de respaldo cuando el groupPolicy a nivel de proveedor no está configurado.
  • channels.defaults.heartbeat.showOk: incluir estados de canal saludables en la salida del heartbeat.
  • channels.defaults.heartbeat.showAlerts: incluir estados degradados/error en la salida del heartbeat.
  • channels.defaults.heartbeat.useIndicator: renderizar salida de heartbeat compacta estilo indicador.

WhatsApp

WhatsApp funciona a través del canal web del gateway (Baileys Web). Se inicia automáticamente cuando existe una sesión vinculada.

{
  channels: {
    whatsapp: {
      dmPolicy: "pairing", // pairing | allowlist | open | disabled
      allowFrom: ["+15555550123", "+447700900123"],
      textChunkLimit: 4000,
      chunkMode: "length", // length | newline
      mediaMaxMb: 50,
      sendReadReceipts: true, // ticks azules (false en modo autochat)
      groups: {
        "*": { requireMention: true },
      },
      groupPolicy: "allowlist",
      groupAllowFrom: ["+15551234567"],
    },
  },
  web: {
    enabled: true,
    heartbeatSeconds: 60,
    reconnect: {
      initialMs: 2000,
      maxMs: 120000,
      factor: 1.4,
      jitter: 0.2,
      maxAttempts: 0,
    },
  },
}
WhatsApp multi-cuenta
{
  channels: {
    whatsapp: {
      accounts: {
        default: {},
        personal: {},
        biz: {
          // authDir: "~/.openclaw/credentials/whatsapp/biz",
        },
      },
    },
  },
}
  • Los comandos salientes usan por defecto la cuenta default si existe; de lo contrario el primer id de cuenta configurado (ordenado).
  • channels.whatsapp.defaultAccount opcional sobrescribe esa selección de cuenta por defecto de respaldo cuando coincide con un id de cuenta configurado.
  • El directorio de autenticación Baileys de cuenta única legacy se migra por openclaw doctor a whatsapp/default.
  • Sustituciones por cuenta: channels.whatsapp.accounts.<id>.sendReadReceipts, channels.whatsapp.accounts.<id>.dmPolicy, channels.whatsapp.accounts.<id>.allowFrom.

Los canales restantes (Telegram, Discord, Google Chat, Slack, Mattermost, Signal, BlueBubbles, iMessage, Microsoft Teams, IRC, multi-cuenta) y todas las secciones subsecuentes (Restricción por mención en grupos, Comandos, Valores por defecto del agente, Enrutamiento multiagente, Sesión, Mensajes, Talk, Herramientas, Proveedores personalizados y URLs base, Skills, Plugins, Navegador, UI, Gateway, Hooks, Canvas host, Discovery, Entorno, Secretos, Almacenamiento de autenticación, Logging, CLI, Wizard, Identidad, Bridge legacy, Cron, Variables de plantilla de modelos media, e Includes de configuración) contienen principalmente bloques de código y configuraciones técnicas que permanecen idénticos entre idiomas.

Consulta la referencia completa en inglés para la documentación campo por campo con todos los bloques de código, tablas y notas detalladas.


Relacionado: Configuración · Ejemplos de configuración · Doctor