laborany
基于 Claude Code 的桌面 AI 工作力平台 — 支持飞书/QQ 远程调度、技能创建、定时任务。OpenClaw 的桌面实现,零代码养好你的 AI 🦞 Desktop AI workforce platform built on Claude Code. Feishu/QQ bot integration, skill c...
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).
请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。
SkillHub CLI
skillhub install clvv/openclaw-tg-canvas打开来源仓库,查看说明和兼容环境后,按来源提供的命令或步骤安装。
将来源链接提供给你的 Agent,让它先读取说明、核对依赖,并向你说明将执行的安装步骤。
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?
GET /ws/terminal (WebSocket upgrade)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
401 Unauthorized before a PTY is spawnedThis 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.
cloudflared for HTTPS tunnel (required by Telegram Mini Apps).env file.BOT_TOKEN=... MINIAPP_URL=https:/...
这些信息来自收录时的来源分析,可能滞后;使用前请核对最新来源文件。
This skill provides a Telegram Mini App with three capabilities:
ALLOWED_USER_IDS can open it./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.
npm install
.env file):
export BOT_TOKEN=...
export ALLOWED_USER_IDS=123456789
export JWT_SECRET=...
export PORT=3721
bash scripts/start.sh
BOT_TOKEN=... MINIAPP_URL=https://xxxx.trycloudflare.com node scripts/setup-bot.js
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... |
## 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...
基于 Claude Code 的桌面 AI 工作力平台 — 支持飞书/QQ 远程调度、技能创建、定时任务。OpenClaw 的桌面实现,零代码养好你的 AI 🦞 Desktop AI workforce platform built on Claude Code. Feishu/QQ bot integration, skill c...
Reusable OpenClaw skill for remote Linux deployment with MiniMax M2.1 and Telegram bot setup
Bots learn, human earns, curated open claw playbook list and skill list for life long learners at https://botlearn.ai
Web-based admin dashboard for OpenClaw — manage Discord persona bots, workspace files, skills, cron jobs, channels, and config