# Send Approve new channels, and connections to openclaw ui and terminal to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "approvals-ui",
    "name": "Approve new channels, and connections to openclaw ui and terminal",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/Fizzy2390/approvals-ui",
    "canonicalUrl": "https://clawhub.ai/Fizzy2390/approvals-ui",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/approvals-ui",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=approvals-ui",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "server.py",
      "SKILL.md",
      "templates/channel_approvals.html",
      "templates/dashboard.html",
      "templates/device_pairings.html",
      "templates/index.html"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/approvals-ui"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/approvals-ui",
    "downloadUrl": "https://openagent3.xyz/downloads/approvals-ui",
    "agentUrl": "https://openagent3.xyz/skills/approvals-ui/agent",
    "manifestUrl": "https://openagent3.xyz/skills/approvals-ui/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/approvals-ui/agent.md"
  }
}
```
## Documentation

### Approvals UI

A web dashboard for managing OpenClaw device pairings, channel approvals, and a live terminal — all from your browser.

### Install

Place this folder at:

~/.openclaw/workspace/projects/p1

Your file structure should look like:

~/.openclaw/workspace/projects/p1/
├── SKILL.md
├── server.py
└── templates/
    ├── channel_approvals.html
    ├── dashboard.html
    ├── device_pairings.html
    ├── index.html
    ├── login.html
    └── terminal.html

### Requirements

Install Python dependencies:

pip install flask flask-socketio

### ⚠️ Important — Change These Before Running

This skill ships with placeholder credentials that you must change before using:

Open server.py and update the following values near the top of the file:

WhatVariableDefaultActionDashboard login usernameADMIN_USERNAMEDrinnasChange to your own usernameDashboard login passwordADMIN_PASSWORDadminChange to a strong passwordAPI auth passwordAUTH_PASSWORD / env SERVER_AUTH_PASSWORDBb7766!serverChange to a strong password or set the env varFlask secret keyenv FLASK_SECRET_KEYdev placeholderSet to a random string in your environment

Example:

export FLASK_SECRET_KEY="$(python3 -c 'import secrets; print(secrets.token_hex(32))')"
export SERVER_AUTH_PASSWORD="your-strong-api-password-here"

Do not run with the defaults. Anyone who knows the defaults can log in and access your terminal and gateway token.

### Credential Explanation

There are two separate auth layers:

Dashboard login (ADMIN_USERNAME / ADMIN_PASSWORD) — protects the web UI pages (dashboard, device pairings, channel approvals, terminal).
API password (AUTH_PASSWORD / env SERVER_AUTH_PASSWORD) — protects the backend API endpoints (/pair, /sync, /approve) used for programmatic access. These endpoints are not exposed in the web UI but exist for automation/scripting.

Both should be set to strong, unique values.

### Usage

Start the server:

cd ~/.openclaw/workspace/projects/p1
python3 server.py

Then open http://127.0.0.1:9100 in your browser.

### Features

Dashboard — Landing page with quick navigation to all sections.
Device Pairings — View pending and paired browser/device connections. Approve or reject pairing requests. Copy your gateway token to clipboard.
Channel Approvals — Review and approve pending channel pairing requests (Telegram, Discord, WhatsApp, etc). Real-time updates via Socket.IO.
Terminal — Full interactive terminal session in the browser using xterm.js.

### How It Works

Reads device pairings directly from ~/.openclaw/devices/pending.json and ~/.openclaw/devices/paired.json.
Reads channel pairing requests from ~/.openclaw/credentials/*-pairing.json.
Reads the gateway token from ~/.openclaw/openclaw.json → gateway.auth.token.
Approve/reject actions use the openclaw devices approve and openclaw devices reject CLI commands.
No external database needed — everything reads from OpenClaw's own state files.

### Security Notes

Localhost only — The server binds to 127.0.0.1 by default. Do not change this to 0.0.0.0 unless you put it behind a reverse proxy with TLS and strong auth.
Terminal access — The terminal feature gives full shell access to your machine. If you don't need it, you can remove the /terminal route and terminal.html template.
Sensitive files — The app reads your openclaw.json (gateway token), device pairing files, and credential pairing files. Anyone who can access the web UI can see this data.
API endpoints — POST /pair, POST /sync, and POST /approve accept JSON with a password field. These are protected by AUTH_PASSWORD and are intended for scripting/automation, not the web UI.

### Configuration

SettingLocationDefaultServer portserver.py bottom9100Dashboard loginserver.py ADMIN_USERNAME / ADMIN_PASSWORDDrinnas / adminAPI passwordserver.py AUTH_PASSWORD / env SERVER_AUTH_PASSWORDBb7766!serverFlask secret keyenv FLASK_SECRET_KEYdev placeholderOpenClaw state direnv OPENCLAW_STATE_DIR~/.openclaw

### Tags

ui dashboard pairings approvals terminal web
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: Fizzy2390
- Version: 1.0.1
## Source health
- Status: healthy
- Source download looks usable.
- Yavira can redirect you to the upstream package for this source.
- Health scope: source
- Reason: direct_download_ok
- Checked at: 2026-04-23T16:43:11.935Z
- Expires at: 2026-04-30T16:43:11.935Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/approvals-ui)
- [Send to Agent page](https://openagent3.xyz/skills/approvals-ui/agent)
- [JSON manifest](https://openagent3.xyz/skills/approvals-ui/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/approvals-ui/agent.md)
- [Download page](https://openagent3.xyz/downloads/approvals-ui)