npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@bowong/clawshow-gateway

v2026.3.16-12

Published

OpenClaw Web channel plugin — browser-based chat via WebSocket relay

Downloads

2,295

Readme


name: clawshow-gateway-connect description: 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. metadata: openclaw: primaryEnv: CLAWSHOW_AUTH_TOKEN requires: bins: - openclaw

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

  1. Install ws dependency
  • Run npm i ws in the project root before proceeding.
  • Confirm installation succeeds before continuing.
  1. 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.
  1. 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.
  1. Check OpenClaw version gate (before plugin install)
  • Query current OpenClaw version using the supported command only:
    • openclaw version
  • Compare against 2026.3.2 using OpenClaw's version ordering.
  • If current version is earlier than 2026.3.2, upgrade OpenClaw using openclaw update first, then re-run:
    • openclaw version
  • Continue only after version check/upgrade is complete.
  1. Install plugin/package
  • Install using OpenClaw plugin manager only:
    • openclaw plugins install @bowong/clawshow-gateway
  • Verify installation:
    • openclaw plugins list
  • Confirm package id is exactly @bowong/clawshow-gateway.
  • If already installed, do not reinstall unless version repair is needed.
  1. 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.
  1. 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.
  1. 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).
  1. 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.
  1. 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.
  1. 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".