Get started
ClickClack
ClickClack conecta OpenClaw con un espacio de trabajo ClickClack autohospedado mediante tokens de bot ClickClack de primera clase.
Usa esto cuando quieras que un agente de OpenClaw aparezca como usuario bot de ClickClack. ClickClack admite bots de servicio independientes y bots propiedad de usuarios; los bots propiedad de usuarios conservan un owner_user_id y reciben solo los alcances de token que concedas.
Configuración rápida
Crea un token de bot en ClickClack:
clickclack admin bot create \
--workspace <workspace_id_or_slug> \
--name "OpenClaw" \
--handle openclaw \
--scopes bot:write \
--plain
Para un bot propiedad de un usuario, agrega --owner <user_id>.
Configura OpenClaw:
{
plugins: {
entries: {
clickclack: {
llm: {
allowAgentIdOverride: true,
},
},
},
},
channels: {
clickclack: {
enabled: true,
baseUrl: "https://app.clickclack.chat",
token: { source: "env", provider: "default", id: "CLICKCLACK_BOT_TOKEN" },
workspace: "default",
defaultTo: "channel:general",
agentId: "clickclack-bot",
replyMode: "model",
},
},
}
Luego ejecuta:
export CLICKCLACK_BOT_TOKEN="ccb_..."
openclaw gateway
Varios bots
Cada cuenta abre su propia conexión en tiempo real de ClickClack y usa su propio token de bot.
{
plugins: {
entries: {
clickclack: {
llm: {
allowAgentIdOverride: true,
},
},
},
},
channels: {
clickclack: {
enabled: true,
baseUrl: "https://app.clickclack.chat",
defaultAccount: "service",
accounts: {
service: {
token: { source: "env", provider: "default", id: "CLICKCLACK_SERVICE_BOT_TOKEN" },
workspace: "default",
defaultTo: "channel:general",
agentId: "service-bot",
replyMode: "model",
},
peter: {
token: { source: "env", provider: "default", id: "CLICKCLACK_PETER_BOT_TOKEN" },
workspace: "default",
defaultTo: "dm:usr_...",
agentId: "peter-bot",
replyMode: "model",
},
},
},
},
}
replyMode: "model" usa api.runtime.llm.complete directamente para respuestas breves del bot.
Cuando una cuenta establece agentId, OpenClaw requiere el bit de confianza explícito
plugins.entries.clickclack.llm.allowAgentIdOverride para que el plugin
pueda ejecutar completados para ese agente bot. Mantenlo desactivado si solo usas la ruta
de agente predeterminada.
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 un hilo existente.
Ejemplos:
openclaw message send --channel clickclack --target channel:general --message "hello"
openclaw message send --channel clickclack --target dm:usr_123 --message "hello"
openclaw message send --channel clickclack --target thread:msg_123 --message "following up"
Permisos
La API de ClickClack aplica los alcances de token de ClickClack.
bot:read: leer datos de espacio de trabajo/canal/mensaje/hilo/MD/tiempo real/perfil.bot:write:bot:readmás mensajes de canal, respuestas en hilos, MD y cargas.bot:admin:bot:writemás creación de canales.
OpenClaw solo necesita bot:write para el chat normal de agentes.
Solución de problemas
ClickClack is not configured: establecechannels.clickclack.tokenoCLICKCLACK_BOT_TOKEN.workspace not found: estableceworkspacecon el id o slug del espacio de trabajo devuelto por ClickClack.- No hay respuestas entrantes: confirma que el token tenga acceso de lectura en tiempo real y que el bot no esté respondiendo a sus propios mensajes.
- Fallan los envíos al canal: verifica que el bot sea miembro del espacio de trabajo y tenga
bot:write.