owner_user_id y reciben solo los alcances de token que les concedas.
Configuración rápida
Crea un token de bot en el servidor de ClickClack:--owner <user_id>.
Configura OpenClaw:
baseUrl, token y workspace están todos definidos. workspace acepta un id de espacio de trabajo (wsp_...), slug o nombre; el gateway lo resuelve al id durante el arranque.
Claves de configuración de cuenta
| Clave | Predeterminado | Notas |
|---|---|---|
baseUrl | ninguno (requerido) | URL del servidor de ClickClack. |
token | ninguno (requerido) | Cadena simple o referencia secreta (source: "env" | "file" | "exec"). |
workspace | ninguno (requerido) | Id, slug o nombre del espacio de trabajo. |
replyMode | "agent" | "agent" ejecuta el pipeline completo del agente; "model" envía completions directas cortas del modelo. |
defaultTo | "channel:general" | Destino usado cuando una ruta saliente no proporciona destino. |
allowFrom | ["*"] | Lista de usuarios permitidos por id para DM y mensajes de canal entrantes. |
botUserId | detectado automáticamente | Se resuelve desde la identidad del token de bot durante el arranque. |
agentId | predeterminado de ruta | Fija los mensajes entrantes de esta cuenta a un agente. |
toolsAllow | ninguno | Lista de herramientas permitidas para respuestas de agentes desde esta cuenta. |
model, systemPrompt | ninguno | Usados por las completions de replyMode: "model". |
reconnectMs | 1500 | Retraso de reconexión en tiempo real (100 a 60000). |
plugins.allow es una lista restrictiva no vacía, seleccionar explícitamente
ClickClack en la configuración del canal o ejecutar openclaw plugins enable clickclack
agrega clickclack a esa lista. La instalación durante onboarding usa el mismo
comportamiento de selección explícita. Estas rutas no sobrescriben plugins.deny ni una
configuración global plugins.enabled: false. La ejecución directa de
openclaw plugins install @openclaw/clickclack sigue la política normal de
instalación de plugins y también registra ClickClack en una lista de permitidos existente.
Varios bots
Cada cuenta abre su propia conexión en tiempo real de ClickClack y usa su propio token de bot.Modos de respuesta
replyMode: "agent"(predeterminado) despacha los mensajes entrantes a través del pipeline normal del agente, incluida la grabación de sesiones y la política de herramientas.replyMode: "model"omite el pipeline del agente y usallm.completedel runtime del plugin para respuestas directas cortas del bot (opcionalmente ajustadas pormodelysystemPrompt).
plugins.entries.clickclack.llm.allowAgentIdOverride: true:
agent predeterminado; no es
necesario allí.
Filas de actividad del agente
De forma predeterminada, un canal de ClickClack no muestra nada mientras se ejecuta un turno de agente; solo llega la respuesta final. DefineagentActivity: true en una cuenta para publicar filas de mensaje duraderas agent_commentary y agent_tool mientras el turno está en curso:
- Desactivado de forma predeterminada. Las configuraciones estándar y los servidores ClickClack antiguos no se ven afectados.
- Requiere el alcance de token
agent_activity:write. Este alcance está separado debot:writey no se hereda de él; crea el token de bot con--scopes bot:write,agent_activity:write(o concede el alcance a un token existente) antes de habilitar la opción. - Degradación de mejor esfuerzo. Si al token le falta
agent_activity:writeo el servidor rechaza las escrituras de actividad, los errores se registran y la respuesta final se entrega normalmente; no aparecen filas de actividad. - Las filas se agrupan por turno (
turn_id), se fusionan para que un paso lógico sea una fila, y las filas de herramientas usan el mismo formato de progreso que Discord/Slack/Telegram (nombre de la herramienta más detalle del comando). - Metadatos de atribución. Las publicaciones escritas por el agente (filas de actividad y respuesta final) llevan campos
author_modelyauthor_thinkingresueltos desde el modelo real usado para el turno (incluido después de fallback). Los servidores que no definen estas columnas ignoran los campos JSON desconocidos; los servidores que los persisten pueden responder “qué modelo dijo esta línea, en qué nivel de pensamiento” por mensaje.
Destinos
channel:<name-or-id>envía a un canal del espacio de trabajo. Los destinos sin prefijo usanchannel:de forma predeterminada.dm:<user_id>crea o reutiliza una conversación directa con ese usuario.thread:<message_id>responde en el hilo con raíz en ese mensaje.
clickclack: o cc:.
Ejemplos:
Permisos
Los alcances de token de ClickClack los aplica la API de ClickClack.bot:read: leer datos de espacio de trabajo/canal/mensaje/hilo/DM/tiempo real/perfil.bot:write:bot:readmás mensajes de canal, respuestas en hilos, DM y cargas.bot:admin:bot:writemás creación de canales.agent_activity:write: filas duraderas de actividad del agente (agent_commentary/agent_tool). No se hereda debot:writeni debot:admin; solo se requiere cuandoagentActivity: trueestá definido.
bot:write para el chat normal del agente. Agrega agent_activity:write al habilitar filas de actividad del agente.
Solución de problemas
ClickClack is not configured for account "<id>": definebaseUrl,token(por ejemplo medianteCLICKCLACK_BOT_TOKEN) yworkspacepara esa cuenta.ClickClack workspace not found: <value>: defineworkspacecomo el id, slug o nombre del espacio de trabajo devuelto por ClickClack.- No hay respuestas entrantes: confirma que el token tenga acceso de lectura en tiempo real y ten en cuenta que el bot ignora sus propios mensajes y los mensajes de otros bots.
- Fallan los envíos a canales: verifica que el bot sea miembro del espacio de trabajo y tenga
bot:write.