本页内容

本页内容

主流消息传递

Telegram Control UI 迷你应用程序

在 Telegram 中运行 Control UI 作为迷你应用程序。

Control UI 迷你应用程序

Control UI 迷你应用程序将完整的 OpenClaw Control UI 打开为 Telegram WebApp。使用机器人在 DM 中运行 /controlui,然后点击 打开 Control UI。当 Telegram 插件处于活动状态时,该命令会自动注册;没有单独的小应用程序标志。

/dashboard 在 Telegram 上创建或更新会话仪表板,就像在其他通道上一样。使用/controlui打开OpenClaw的Control UI。

要求:

  • gateway.tailscale.mode: "serve" 或 "funnel",用于发布 HTTPS 迷你应用 URL。
  • 您的数字 Telegram 用户 ID 必须位于所选账户的有效 allowFrom 中,或位于 commands.ownerAllowFrom 中。通配符和用户名不会授予迷你应用所有者访问权限。
  • 使用 DM。在组中,/controlui 回复 open this in a DM with the bot 且不发送任何按钮。
  • Docker安装:Serve/Funnel模式要求网关在tailscaled旁边绑定环回,而使用已发布端口的桥接网络无法满足。使用 network_mode: host 运行网关容器,并将主机 tailscaled 套接字 (/var/run/tailscale) 以及 tailscale CLI 挂载到容器中。

如果 /controlui 回复 Restricted to the bot owner,请要求您的 OpenClaw 管理员将回复中显示的数字 Telegram 用户 ID 添加到所选机器人帐户的 allowFrom(例如,channels.telegram.accounts.ops.allowFrom)或commands.ownerAllowFrom 使用 telegram:<userId> 条目。保留现有的允许列表条目,并在配置更改生效后重试 /controlui。管理员还可以将数字 ID 添加到该所有者列表已引用的访问组的 Telegram 成员中。

从/dashboard升级

早期版本(包括 OpenClaw、2026.8.x 和 2026.9.1)使用 /dashboard 打开 Telegram 迷你应用程序。升级后使用/controlui,并更新保存的引用小应用程序的说明、快捷方式和自定义机器人菜单描述。 /dashboard 现在创建或更新会话仪表板;它不会重定向到 /controlui。

当 Telegram 帐户启动时,网关会在机器人菜单中注册新命令。小程序URL和Tailscale配置保持不变。请求新的 /controlui 按钮;以前的启动链接是短暂的。

升级后,仅通配符访问组不再授予 Control UI 启动或小应用程序身份验证。添加显式数字所有者 ID 以恢复访问权限;用户名和通配符仍然不够。

发布小程序

配置以下受支持的 Tailscale 发布模式之一:

json5
{  gateway: {    tailscale: {      mode: "serve", // or "funnel"    },  },}

在构建 Control UI 和 WebSocket URL 时,OpenClaw 自动遵循 gateway.controlUi.basePath。

当小程序打开时,Telegram 会提供签名的 WebApp initData。 OpenClaw 使用所选机器人帐户的令牌验证其签名,拒绝丢失、无效、过期或重播的数据,提取数字 Telegram 用户 ID,并在移交给 Control UI 之前再次检查所有者访问权限。

如果 /controlui 无法解析已发布的 HTTPS URL,则会回复:

text
Mini App needs an HTTPS gateway URL. Set `gateway.tailscale.mode: serve` or `funnel`, then retry /controlui.

设置上述模式之一,确保 Tailscale 正在网关主机上运行,然后重试该命令。

小程序是 Tailscale-only v1 路径,不支持 Telegram Web iframe。

本页有帮助吗?