Get started
ClickClack
ClickClack connette OpenClaw a uno spazio di lavoro ClickClack self-hosted tramite token bot ClickClack di prima classe.
Usalo quando vuoi che un agente OpenClaw appaia come utente bot ClickClack. ClickClack supporta bot di servizio indipendenti e bot di proprietà dell'utente; i bot di proprietà dell'utente mantengono un owner_user_id e ricevono solo gli ambiti token concessi.
Configurazione rapida
Crea un token bot in ClickClack:
clickclack admin bot create \ --workspace <workspace_id_or_slug> \ --name "OpenClaw" \ --handle openclaw \ --scopes bot:write \ --plainPer un bot di proprietà dell'utente, aggiungi --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", }, },}Quindi esegui:
export CLICKCLACK_BOT_TOKEN="ccb_..."openclaw gatewaySe plugins.allow è un elenco restrittivo non vuoto, selezionare esplicitamente
ClickClack nella configurazione del canale o eseguire openclaw plugins enable clickclack
aggiunge clickclack a tale elenco. L'installazione di onboarding usa lo stesso
comportamento di selezione esplicita. Questi percorsi non sovrascrivono plugins.deny né
un'impostazione globale plugins.enabled: false. Il comando diretto
openclaw plugins install @openclaw/clickclack segue la normale
policy di installazione dei plugin e registra anche ClickClack in una allowlist esistente.
Bot multipli
Ogni account apre la propria connessione realtime ClickClack e usa il proprio token 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 direttamente api.runtime.llm.complete per brevi risposte del bot.
Quando un account imposta agentId, OpenClaw richiede il bit di fiducia esplicito
plugins.entries.clickclack.llm.allowAgentIdOverride affinché il plugin
possa eseguire completamenti per quell'agente bot. Mantienilo disattivato se usi solo il percorso
agente predefinito.
Destinazioni
channel:<name-or-id>invia a un canale dello spazio di lavoro. Le destinazioni senza prefisso usano per impostazione predefinitachannel:.dm:<user_id>crea o riusa una conversazione diretta con quell'utente.thread:<message_id>risponde in un thread esistente.
Esempi:
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"Autorizzazioni
Gli ambiti dei token ClickClack sono applicati dall'API ClickClack.
bot:read: legge dati di spazio di lavoro/canale/messaggio/thread/DM/realtime/profilo.bot:write:bot:readpiù messaggi di canale, risposte nei thread, DM e caricamenti.bot:admin:bot:writepiù creazione di canali.
OpenClaw richiede solo bot:write per la normale chat dell'agente.
Risoluzione dei problemi
ClickClack is not configured: impostachannels.clickclack.tokenoCLICKCLACK_BOT_TOKEN.workspace not found: impostaworkspacesull'id o sullo slug dello spazio di lavoro restituito da ClickClack.- Nessuna risposta in ingresso: conferma che il token abbia accesso in lettura realtime e che il bot non stia rispondendo ai propri messaggi.
- Gli invii al canale falliscono: verifica che il bot sia membro dello spazio di lavoro e abbia
bot:write.