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 DM | Comportamiento |
|---|---|
pairing (por defecto) | Los remitentes desconocidos reciben un código de emparejamiento de un solo uso; el propietario debe aprobar |
allowlist | Solo remitentes en allowFrom (o almacén de emparejamiento permitido) |
open | Permitir todos los DMs entrantes (requiere allowFrom: ["*"]) |
disabled | Ignorar todos los DMs entrantes |
| Política de grupo | Comportamiento |
|---|---|
allowlist (por defecto) | Solo grupos que coincidan con la lista de permitidos configurada |
open | Omitir listas de permitidos de grupo (la restricción por mención sigue aplicando) |
disabled | Bloquear todos los mensajes de grupo/sala |
Nota:
channels.defaults.groupPolicyconfigura el valor por defecto cuando elgroupPolicyde 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 aallowlist(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 elgroupPolicya 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 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
defaultsi existe; de lo contrario el primer id de cuenta configurado (ordenado). channels.whatsapp.defaultAccountopcional 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 doctorawhatsapp/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