Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
O acoplamento de canal é o encaminhamento de chamadas para uma sessão do OpenClaw.
Ele mantém o mesmo contexto de conversa, mas altera onde as respostas futuras dessa sessão serão entregues.
Exemplo
Alice pode enviar mensagens para o OpenClaw pelo Telegram e Discord:
{
session: {
identityLinks: {
alice: ["telegram:123", "discord:456"],
},
},
}
Se Alice enviar isto pelo Telegram:
O OpenClaw mantém o contexto da sessão atual e altera a rota de resposta:
| Antes do acoplamento | Depois de /dock_discord |
|---|
As respostas vão para Telegram 123 | As respostas vão para Discord 456 |
A sessão não é recriada. O histórico da transcrição permanece anexado à mesma sessão.
Por que usar
Use o acoplamento quando uma tarefa começa em um app de chat, mas as próximas respostas devem chegar em outro lugar.
Fluxo comum:
- Inicie uma tarefa de agente pelo Telegram.
- Vá para o Discord, onde você está coordenando o trabalho.
- Envie
/dock_discord a partir da sessão do Telegram.
- Mantenha a mesma sessão do OpenClaw, mas receba respostas futuras no Discord.
Configuração obrigatória
O acoplamento exige session.identityLinks. O remetente de origem e o par de destino devem estar no mesmo grupo de identidade:
{
session: {
identityLinks: {
alice: ["telegram:123", "discord:456", "slack:U123"],
},
},
}
Os valores são IDs de pares prefixados pelo canal:
| Valor | Significado |
|---|
telegram:123 | ID de remetente do Telegram 123 |
discord:456 | ID de par direto do Discord 456 |
slack:U123 | ID de usuário do Slack U123 |
A chave canônica (alice acima) é apenas o nome do grupo de identidade compartilhado. Os comandos de acoplamento usam os valores prefixados pelo canal para provar que o remetente de origem e o par de destino são a mesma pessoa.
Comandos
Os comandos de acoplamento são gerados a partir de plugins de canal carregados que oferecem suporte a comandos nativos. Comandos empacotados atuais:
| Canal de destino | Comando | Alias |
|---|
| Discord | /dock-discord | /dock_discord |
| Mattermost | /dock-mattermost | /dock_mattermost |
| Slack | /dock-slack | /dock_slack |
| Telegram | /dock-telegram | /dock_telegram |
Os aliases com sublinhado são úteis em superfícies de comando nativas, como o Telegram.
O que muda
O acoplamento atualiza os campos de entrega da sessão ativa:
| Campo da sessão | Exemplo após /dock_discord |
|---|
lastChannel | discord |
lastTo | 456 |
lastAccountId | a conta do canal de destino, ou default |
Esses campos são persistidos no armazenamento de sessões e usados pela entrega de respostas posterior dessa sessão.
O que não muda
O acoplamento não:
- cria contas de canal
- conecta um novo bot do Discord, Telegram, Slack ou Mattermost
- concede acesso a um usuário
- ignora listas de permissão de canais ou políticas de DM
- move o histórico da transcrição para outra sessão
- faz usuários não relacionados compartilharem uma sessão
Ele apenas altera a rota de entrega da sessão atual.
Solução de problemas
O comando diz que o remetente não está vinculado.
Adicione o remetente atual e o par de destino ao mesmo grupo session.identityLinks. Por exemplo, se o remetente do Telegram 123 deve ser acoplado ao par do Discord 456, inclua telegram:123 e discord:456.
O comando diz que não existe uma sessão ativa.
Faça o acoplamento a partir de uma sessão de chat direto existente. O comando precisa de uma entrada de sessão ativa para poder persistir a nova rota.
As respostas ainda vão para o canal antigo.
Verifique se o comando respondeu com uma mensagem de sucesso e confirme se o ID do par de destino corresponde ao ID usado por esse canal. O acoplamento altera apenas a rota da sessão ativa; outra sessão ainda pode rotear para outro lugar.
Preciso voltar.
Envie o comando correspondente ao canal original, como /dock_telegram ou /dock-telegram, a partir de um remetente vinculado.