TG Canvas Mini App 是一个专为 Telegram 设计的智能代理内容渲染工具,它允许开发者和用户通过 Telegram Mini App 界面实时展示由 AI 或智能体生成的 HTML、Markdown 或 A2UI 格式的内容。该应用采用前后端分离架构,后端基于 Node.js 构建,支持 WebSocket 通信与终端交互,前端则集成在 Telegram 的轻量级 Web 应用中,为用户提供沉浸式的交互式体验。其核心优势在于能够绕过传统移动端的限制,直接在 Telegram 环境中呈现富媒体内容,同时保持高度的安全性和可控性。 该工具不仅适用于静态内容推送,还支持动态更新——无论是通过命令行工具 `tg-canvas push` 发送新内容,还是通过 HTTP API 调用,都能即时刷新显示界面。此外,它还提供了可选的高级功能模块,如 OpenClaw 控制 UI 代理和交互式终端(PTY),后者允许授权用户在服务器上执行 shell 命令,极大增强了远程操作能力。不过,这些高权限功能需谨慎配置,仅限信任用户使用。 为了确保安全性,TG Canvas 实现了多层认证机制:所有用户访问均需经过 Telegram 官方 `initData` HMAC-SHA256 验证,并结合白名单 `ALLOWED_USER_IDS` 进行身份校验;敏感操作如内容推送则要求携带强随机生成的 `PUSH_TOKEN`,并仅接受本地回环请求(尽管 Cloudflare tunnel 会绕过此 IP 检查,因此依赖 token 而非 IP 过滤)。整个系统强调最小权限原则,默认关闭高风险功能,且绝不自动读取本地凭证文件,所有密钥必须显式通过环境变量设置。
核心功能特点
- 支持在 Telegram Mini App 中渲染智能体生成的 HTML、Markdown 和 A2UI 内容
- 提供命令行工具和 HTTP API 实现内容的实时推送与清空
- 内置交互式终端功能,授权用户可通过 xterm.js 访问服务器 shell
- 可选 OpenClaw 控制 UI 代理,用于远程管理本地网关服务
- 严格的身份验证体系:基于 Telegram initData 验证 + JWT + 用户 ID 白名单
- 强制使用 PUSH_TOKEN 保护推送接口,杜绝未授权修改
适用场景
TG Canvas Mini App 特别适合需要向 Telegram 用户群快速分发动态信息或可视化结果的场景。例如,AI 开发者可以将其用于展示模型推理过程、生成图像的文字描述、代码运行结果或数据分析图表,让团队成员或客户直接在聊天窗口内查看最新输出,无需跳转外部网页或安装独立应用。这种无缝集成方式显著提升了信息传递效率和用户体验。 对于运维人员或自动化脚本管理者而言,该工具也极具价值。结合其终端功能,可在 Telegram 中直接监控服务器状态、执行调试命令或重启服务,尤其适合远程办公或多地点协作环境。虽然终端访问存在较高风险,但通过严格的 `ALLOWED_USER_IDS` 控制,可确保只有受信任的操作员才能获得 shell 权限。 另一个典型应用场景是集成 OpenClaw 等本地代理服务时,利用 TG Canvas 作为统一的远程控制入口。当启用 OpenClaw 代理后,用户可通过 Telegram 安全地访问本地开发的控制面板、日志查看器或其他内部工具界面,实现跨平台远程管理。这种设计既简化了部署流程,又避免了暴露内部端口到公网带来的安全隐患。
