Skip to main content
频道停靠就像是为一个 OpenClaw 会话设置呼叫转移。它会保持相同的 会话上下文,但会改变该会话未来回复的发送位置。 停靠只能从直接聊天中执行;不能在群聊中运行。

示例

Alice 可以在 Telegram 和 Discord 上向 OpenClaw 发消息:
如果 Alice 从 Telegram 直接聊天中发送此消息:
OpenClaw 会保留当前会话上下文,并更改回复路由: 该会话不会被重新创建。转录历史仍然附着在同一个会话上。

为什么使用它

当某个任务从一个聊天应用开始,但后续回复应该发到别处时,就使用停靠。 常见流程:
  1. 从 Telegram 启动一个代理任务。
  2. 切换到 Discord,在那里协调工作。
  3. 在 Telegram 私聊中发送 /dock_discord
  4. 保持相同的 OpenClaw 会话,但未来的回复会在 Discord 中接收。

必要配置

停靠需要 session.identityLinks。源发送者和目标对等方必须位于同一个身份组中:
这些值是带频道前缀的对等方 id: 规范键(上例中的 alice)只是共享身份组名称。Dock 命令使用带频道前缀的值来证明源发送者和目标对等方是同一个人。

命令

OpenClaw 会为每个已加载的、支持原生命令的频道插件生成一个 /dock-<channel> 命令,因此随着插件的增加,这个列表也会增长。目前捆绑的、支持该功能的插件有: 下划线形式也是 Telegram 等直接暴露斜杠命令的界面上的原生命令名称。

会发生什么变化

停靠会更新活动会话的投递字段: 这些字段会持久化到会话存储中,并用于该会话后续的回复投递。

不会发生什么变化

停靠不会:
  • 创建频道账号
  • 连接新的 Discord、Telegram、Slack 或 Mattermost 机器人
  • 授予用户访问权限
  • 绕过频道允许列表或私信策略
  • 将转录历史移动到另一个会话
  • 让无关用户共享同一个会话
它只会改变当前会话的投递路由。

故障排查

命令提示发送者未链接。 将当前发送者和目标对等方都添加到同一个 session.identityLinks 组中。例如,如果 Telegram 发送者 123 应该停靠到 Discord 对等方 456,则同时包含 telegram:123discord:456 命令提示只能从直接聊天中停靠。 请从与 OpenClaw 的直接聊天中发送停靠命令,不要从群聊中发送。 命令提示不存在活跃会话。 请从一个已有的私聊会话中执行停靠。该命令需要一个活跃会话条目,以便持久化新的路由。 回复仍然发送到旧频道。 检查命令是否返回了成功消息,并确认目标对等方 id 与该频道使用的 id 一致。停靠只会更改当前会话路由;另一个会话可能仍然路由到别处。 我需要切换回去。 从已链接的发送者那里发送与原始频道对应的命令,例如 /dock_telegram/dock-telegram