Clawshow Gateway Connect
Execute a safe, minimal install-and-migrate flow from current OpenClaw settings to ClawShowGateway without breaking unrelated configuration.
Runtime Inputs
- Required:
authToken
- Optional:
relayUrl (default wss://clawshow-api.bowong.cc)
- If
authToken is missing, ask once and stop before editing.
Workflow
- Identify current config source
- Search only OpenClaw gateway config files (
*.json, *.yaml, *.yml) in the active project path.
- Do not read
.env, secrets files, deployment manifests, or unrelated workspace files.
- Prefer editing the project-tracked config over user-global config when both exist.
- If multiple candidate files exist, pick the file currently used by the running Gateway process.
- Create rollback copy before edits
- Save a sibling backup copy of the target config file with timestamp suffix (for example
.bak.20260313-1405).
- Never delete the backup in the same task.
- Install plugin/package
- Install using OpenClaw plugin manager only:
openclaw plugins install @bowong/clawshow-gateway
- Verify installation:
- Confirm package id is exactly
@bowong/clawshow-gateway.
- If already installed, do not reinstall unless version repair is needed.
- Migrate channel config to ClawShow
- Ensure package id references
@bowong/clawshow-gateway where plugin/package declarations are required.
- Ensure channel section exists under
channels.clawshow.
- Set:
channels.clawshow.enabled: true (required)
channels.clawshow.relayUrl: "wss://clawshow-api.bowong.cc" (optional)
channels.clawshow.authToken: "<real token>" (required)
channels.clawshow.name: "ClawShow Gateway" (required)
channels.clawshow.dmPolicy: "open" (required)
channels.clawshow.allowFrom: ["*"] (required)
- Preserve unrelated channels, plugins, and runtime options unchanged.
- Remove conflicting legacy routing only when necessary
- If older channel config routes the same outbound traffic target, disable only the overlapping route.
- Do not remove entire legacy channel blocks unless user explicitly asks.
- Validate config shape
- Confirm JSON/YAML syntax after edit.
- Confirm required keys exist for ClawShow (
authToken at minimum).
- Confirm package/plugin id and channel id are consistent (
clawshow).
- Confirm
enabled, relayUrl, authToken, name, dmPolicy, and allowFrom are directly under channels.clawshow (no default layer).
- Apply config (Config RPC only)
- Follow
Config RPC (programmatic updates) exactly, using config.apply (full replace).
- Do not use direct file-edit-only activation,
config.patch, or manual restart as the primary path.
- Execute:
openclaw gateway call config.get --params '{}'
- Capture
payload.hash as baseHash.
- Build the full post-migration config as one JSON5 string in
raw.
openclaw gateway call config.apply --params '{ "raw": "<full-json5-config>", "baseHash": "<hash>", "note": "migrate to @bowong/clawshow-gateway" }'
- Respect control-plane rate limits for write RPCs (
config.apply, config.patch, update.run): 3 requests per 60 seconds per deviceId+clientIp.
- If apply fails due to stale hash/conflict, call
config.get again, rebase on newest config, and retry once.
- Verify runtime behavior
- Do not force a manual restart here;
config.apply already validates, writes, and restarts in one step.
- Run status/probe command if available.
- Do not send outbound test messages by default.
- Only send an external test message if the user explicitly asks for network verification.
- Report outcome
- Include the backup file path.
- Include verification command results.
- If verification is blocked, state the blocker and provide the exact next command.
Canonical Target Snippet
Use this structure when writing or repairing JSON config:
{
"channels": {
"clawshow": {
"enabled": true,
"relayUrl": "wss://clawshow-api.bowong.cc",
"authToken": "YOUR_CLAWSHOW_AUTH_TOKEN",
"name": "ClawShow Gateway",
"dmPolicy": "open",
"allowFrom": [
"*"
]
}
}
}
Guardrails
- Keep edits minimal and reversible.
- Never invent secrets; leave placeholders for missing keys.
- Never exfiltrate secrets from local files.
- Never rewrite formatting style of the whole file.
- Never remove unrelated keys to "clean up".
1---2name: clawshow-gateway-connect3description: Install and activate @bowong/clawshow-gateway in OpenClaw, then migrate existing Gateway channel configuration to ClawShow with rollback safety. Use when a user wants one-step plugin install plus config migration without repeating requirements each run, applying changes via Config RPC config.apply full replace with minimal file access and no default outbound test traffic.4---56# Clawshow Gateway Connect78Execute a safe, minimal install-and-migrate flow from current OpenClaw settings to ClawShowGateway without breaking unrelated configuration.910## Runtime Inputs1112- Required: `authToken`13- Optional: `relayUrl` (default `wss://clawshow-api.bowong.cc`)14- If `authToken` is missing, ask once and stop before editing.1516## Workflow17181. Identify current config source19- Search only OpenClaw gateway config files (`*.json`, `*.yaml`, `*.yml`) in the active project path.20- Do not read `.env`, secrets files, deployment manifests, or unrelated workspace files.21- Prefer editing the project-tracked config over user-global config when both exist.22- If multiple candidate files exist, pick the file currently used by the running Gateway process.23242. Create rollback copy before edits25- Save a sibling backup copy of the target config file with timestamp suffix (for example `.bak.20260313-1405`).26- Never delete the backup in the same task.27283. Install plugin/package29- Install using OpenClaw plugin manager only:30 - `openclaw plugins install @bowong/clawshow-gateway`31- Verify installation:32 - `openclaw plugins list`33- Confirm package id is exactly `@bowong/clawshow-gateway`.34- If already installed, do not reinstall unless version repair is needed.35364. Migrate channel config to ClawShow37- Ensure package id references `@bowong/clawshow-gateway` where plugin/package declarations are required.38- Ensure channel section exists under `channels.clawshow`.39- Set:40 - `channels.clawshow.enabled: true` (required)41 - `channels.clawshow.relayUrl: "wss://clawshow-api.bowong.cc"` (optional)42 - `channels.clawshow.authToken: "<real token>"` (required)43 - `channels.clawshow.name: "ClawShow Gateway"` (required)44 - `channels.clawshow.dmPolicy: "open"` (required)45 - `channels.clawshow.allowFrom: ["*"]` (required)46- Preserve unrelated channels, plugins, and runtime options unchanged.47485. Remove conflicting legacy routing only when necessary49- If older channel config routes the same outbound traffic target, disable only the overlapping route.50- Do not remove entire legacy channel blocks unless user explicitly asks.51526. Validate config shape53- Confirm JSON/YAML syntax after edit.54- Confirm required keys exist for ClawShow (`authToken` at minimum).55- Confirm package/plugin id and channel id are consistent (`clawshow`).56- Confirm `enabled`, `relayUrl`, `authToken`, `name`, `dmPolicy`, and `allowFrom` are directly under `channels.clawshow` (no `default` layer).57587. Apply config (Config RPC only)59- Follow `Config RPC (programmatic updates)` exactly, using `config.apply (full replace)`.60- Do not use direct file-edit-only activation, `config.patch`, or manual restart as the primary path.61- Execute:62 - `openclaw gateway call config.get --params '{}'`63 - Capture `payload.hash` as `baseHash`.64 - Build the full post-migration config as one JSON5 string in `raw`.65 - `openclaw gateway call config.apply --params '{ "raw": "<full-json5-config>", "baseHash": "<hash>", "note": "migrate to @bowong/clawshow-gateway" }'`66- Respect control-plane rate limits for write RPCs (`config.apply`, `config.patch`, `update.run`): 3 requests per 60 seconds per `deviceId+clientIp`.67- If apply fails due to stale hash/conflict, call `config.get` again, rebase on newest config, and retry once.68698. Verify runtime behavior70- Do not force a manual restart here; `config.apply` already validates, writes, and restarts in one step.71- Run status/probe command if available.72- Do not send outbound test messages by default.73- Only send an external test message if the user explicitly asks for network verification.74759. Report outcome76- Include the backup file path.77- Include verification command results.78- If verification is blocked, state the blocker and provide the exact next command.7980## Canonical Target Snippet8182Use this structure when writing or repairing JSON config:8384```json85{86 "channels": {87 "clawshow": {88 "enabled": true,89 "relayUrl": "wss://clawshow-api.bowong.cc",90 "authToken": "YOUR_CLAWSHOW_AUTH_TOKEN",91 "name": "ClawShow Gateway",92 "dmPolicy": "open",93 "allowFrom": [94 "*"95 ]96 }97 }98}99```100101## Guardrails102103- Keep edits minimal and reversible.104- Never invent secrets; leave placeholders for missing keys.105- Never exfiltrate secrets from local files.106- Never rewrite formatting style of the whole file.107- Never remove unrelated keys to "clean up".