Skip to content

openclaw channels

在 Gateway 上管理聊天渠道账号及其运行状态。

相关文档:

常用命令

bash
openclaw channels list
openclaw channels status
openclaw channels capabilities
openclaw channels capabilities --channel discord --target channel:123
openclaw channels resolve --channel slack "#general" "@jane"
openclaw channels logs --channel all

添加 / 移除账号

bash
openclaw channels add --channel telegram --token <bot-token>
openclaw channels add --channel nostr --private-key "$NOSTR_PRIVATE_KEY"
openclaw channels remove --channel telegram --delete

提示:openclaw channels add --help 显示每个渠道的专属标志(token、私钥、app token、signal-cli 路径等)。

不带标志运行 openclaw channels add 时,交互向导会提示:

  • 每个已选渠道的账号 ID
  • 这些账号的可选显示名称
  • Bind configured channel accounts to agents now?(立即将已配置的渠道账号绑定到 agent?)

如果你确认立即绑定,向导会询问每个已配置渠道账号应由哪个 agent 管理,并写入账号范围的路由绑定。

你也可以稍后用 openclaw agents bindingsopenclaw agents bindopenclaw agents unbind 管理相同的路由规则(参见 agents)。

当你向仍使用单账号顶级配置(尚无 channels.<channel>.accounts 条目)的渠道添加非默认账号时,OpenClaw 会将账号范围的单账号顶级值移入 channels.<channel>.accounts.default,然后写入新账号。这样可以在迁移到多账号结构时保留原始账号行为。

路由行为保持一致:

  • 现有的仅渠道绑定(无 accountId)继续匹配默认账号。
  • 非交互模式下,channels add 不会自动创建或重写绑定。
  • 交互式设置可以选择性地添加账号范围的绑定。

如果你的配置已处于混合状态(存在命名账号、缺少 default,且仍有顶级单账号值),请运行 openclaw doctor --fix 将账号范围的值移入 accounts.default

登录 / 登出(交互式)

bash
openclaw channels login --channel whatsapp
openclaw channels logout --channel whatsapp

故障排查

  • 运行 openclaw status --deep 进行全面探测。
  • 使用 openclaw doctor 进行引导式修复。
  • openclaw channels list 打印 Claude: HTTP 403 ... user:profile → 使用量快照需要 user:profile 权限范围。使用 --no-usage,或提供 claude.ai session key(CLAUDE_WEB_SESSION_KEY/CLAUDE_WEB_COOKIE),或通过 Claude Code CLI 重新认证。
  • openclaw channels status 在 gateway 不可访问时回退到仅配置的摘要。如果某个受支持渠道的凭据通过 SecretRef 配置但在当前命令路径中不可用,它会将该账号报告为已配置但降级,而非显示为未配置。

遇到渠道连不上?先跑 openclaw doctor,龙虾会帮你把常见问题一一诊断出来。

能力探测

获取提供商能力提示(intents/scopes,如可用)以及静态功能支持:

bash
openclaw channels capabilities
openclaw channels capabilities --channel discord --target channel:123

注意事项:

  • --channel 是可选的;省略它可列出所有渠道(包括扩展)。
  • --target 接受 channel:<id> 或原始数字渠道 id,仅适用于 Discord。
  • 探测因提供商而异:Discord intents + 可选渠道权限;Slack bot + user 权限范围;Telegram bot 标志 + webhook;Signal 守护进程版本;Microsoft Teams app token + Graph 角色/权限范围(注释已知项)。没有探测的渠道报告 Probe: unavailable

将名称解析为 ID

使用提供商目录将渠道/用户名称解析为 ID:

bash
openclaw channels resolve --channel slack "#general" "@jane"
openclaw channels resolve --channel discord "My Server/#support" "@someone"
openclaw channels resolve --channel matrix "Project Room"

注意事项:

  • 使用 --kind user|group|auto 强制指定目标类型。
  • 当多个条目共享相同名称时,解析优先匹配活跃的条目。
  • channels resolve 是只读操作。如果某个已选账号通过 SecretRef 配置但该凭据在当前命令路径中不可用,命令会返回降级的未解析结果和注释,而非中止整个运行。