Overview
- Skill Key
- clvv/openclaw-tg-canvas
- Author
- clvv
- Source Repo
- openclaw/skills
- Version
- -
- Source Path
- skills/clvv/openclaw-tg-canvas
- Latest Commit SHA
- 9b7789b002d3732bfb0fa93b12360d734a092851
Telegram Mini App Canvas with terminal and optional Control UI proxy. Renders agent-generated content (HTML, markdown, A2UI) in a Telegram Mini App; push with `tg-canvas push`. Includes a JWT-gated browser terminal (server-side PTY/bash — high privilege, shell access to server). Optionally proxies OpenClaw Control UI via ENABLE_OPENCLAW_PROXY=true (off by default; no local files read).
Stars
0
Installs
0
Status
ACTIVE
Visibility
PUBLIC
直接复制以下提示词,发送给你的 AI 助手即可完成安装。
请先检查是否已安装 SkillHub 商店,若未安装,请根据 https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/skillhub.md 安装 SkillHub 商店,然后安装 tg-canvas 技能。 若已安装,则直接安装 tg-canvas 技能。
## Security FAQ (answers for skill reviewers) **Q: Does the server auto-load `~/.openclaw/openclaw.json` or any local credential file?** No. The server reads no local files for credentials. `OPENCLAW_GATEWAY_TOKEN` must be supplied explicitly via environment variable. The relevant code is the `ENABLE_OPENCLAW_PROXY` config block in `server.js` — verify it yourself. **Q: What is the default for `ENABLE_OPENCLAW_PROXY`?** Off. The code is `const ENABLE_OPENCLAW_PROXY = process.env.ENABLE_OPENCLAW_PROXY === "true";` — it is only enabled if the string `"true"` is explicitly set in the environment. Omitting the variable leaves it disabled. **Q: What are the terminal/PTY endpoints and how are they authenticated?** - Endpoint: `GET /ws/terminal` (WebSocket upgrade) - Auth: JWT verified by `verifyJwt()` in the upgrade handler — same token issued by `POST /auth` after Telegram `initData` HMAC-SHA256 verification against `BOT_TOKEN`, restricted to `ALLOWED_USER_IDS` - If the JWT is missing or invalid the connection is rejected with `401 Unauthorized` before a PTY is spawned - PTY is killed immediately when the WebSocket closes --- **This is a server skill.** It includes a Node.js HTTP/WebSocket server (`server.js`), a CLI (`bin/tg-canvas.js`), and a Telegram Mini App frontend (`miniapp/`). It is not instruction-only. Telegram Mini App Canvas renders agent-generated HTML or markdown inside a Telegram Mini App, with access limited to approved user IDs and authenticated via Telegram `initData` verification. It exposes a local push endpoint and a CLI command so agents can update the live canvas without manual UI steps. ## Prerequisites - Node.js 18+ (tested with Node 18/20/22) - `cloudflared` for HTTPS tunnel (required by Telegram Mini Apps) - Telegram bot token ## Setup 1. Configure environment variables (see **Configuration** below) in your shell or a `.env` file. 2. Run the bot setup script to configure the menu button: ```bash BOT_TOKEN=... MINIAPP_URL=https:/...
# Telegram Mini App Canvas (OpenClaw Skill) [](https://clawhub.ai/skills/openclaw-tg-canvas) This skill provides a Telegram Mini App with three capabilities: 1. **Canvas rendering** — push HTML, markdown, or A2UI content to a live canvas in the Mini App. 2. **Interactive terminal** *(opt-in, JWT-gated)* — a browser-based terminal backed by a server-side PTY (bash shell). This is a significant privilege: it grants shell access to the machine running the server, scoped to the process user. Only users in `ALLOWED_USER_IDS` can open it. 3. **OpenClaw Control UI proxy** *(opt-in, off by default)* — proxies `/oc/*` to a local OpenClaw gateway. Requires `ENABLE_OPENCLAW_PROXY=true` and optionally `OPENCLAW_GATEWAY_TOKEN`. The server does **not** read any local credential files automatically. Only approved Telegram user IDs (via `ALLOWED_USER_IDS`) can access any authenticated feature. Sessions are verified via Telegram `initData` HMAC-SHA256. **Links:** [GitHub](https://github.com/clvv/openclaw-tg-canvas) · [ClawHub](https://clawhub.ai/skills/openclaw-tg-canvas) ## Quick Start 1. Clone or copy this folder into your OpenClaw workspace. 2. Install dependencies: ```bash npm install ``` 3. Set environment variables (or create a `.env` file): ```bash export BOT_TOKEN=... export ALLOWED_USER_IDS=123456789 export JWT_SECRET=... export PORT=3721 ``` 4. Start the server and Cloudflare tunnel: ```bash bash scripts/start.sh ``` 5. Configure the bot menu button: ```bash BOT_TOKEN=... MINIAPP_URL=https://xxxx.trycloudflare.com node scripts/setup-bot.js ``` ## Security **What the Cloudflare tunnel exposes publicly:** | Endpoint | Public? | Auth | | --- | --- | --- | | `GET /` | ✅ | None (serves static Mini App HTML) | | `POST /auth` | ✅ | Telegram `initData` HMAC-SHA256 + `ALLOWED_USER_IDS` check | | `GET /state` | ✅ | JWT required | | `GET /ws` | ✅ | JWT...
laborany
基于 Claude Code 的桌面 AI 工作力平台 — 支持飞书/QQ 远程调度、技能创建、定时任务。OpenClaw 的桌面实现,零代码养好你的 AI 🦞 Desktop AI workforce platform built on Claude Code. Feishu/QQ bot integration, skill creation, scheduled tasks — OpenClaw for your desktop. Raise your AI lobsters 🦞
win4r
Reusable OpenClaw skill for remote Linux deployment with MiniMax M2.1 and Telegram bot setup
botlearn-ai
Bots learn, human earns, curated open claw playbook list and skill list for life long learners at https://botlearn.ai
duanecilliers
Web-based admin dashboard for OpenClaw — manage Discord persona bots, workspace files, skills, cron jobs, channels, and config
abczsl520
OpenClaw skill: Dynamic bug audit for Node.js web projects (games, data tools, WeChat, APIs, bots). 200+ real-world pitfalls.
pardnchiu
A Go agentic AI platform with skill routing, multi-provider intelligent dispatch, Discord bot integration, and security-first shared agent design