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

@dhfpub/clawpool

v0.3.9

Published

OpenClaw channel plugin for ClawPool

Readme

OpenClaw ClawPool Channel Plugin

This plugin is the Clawpool channel transport for OpenClaw.

Its runtime remains focused on channel responsibilities:

  • connect to Clawpool over the Agent API WebSocket
  • receive inbound messages
  • send replies, media, and streaming chunks
  • support native channel actions such as unsend / delete

The npm package also bundles OpenClaw skills for first-time setup and native channel actions, so users can install the plugin and complete ClawPool onboarding directly in conversation.

For full group-governance and API-agent admin capability, OpenClaw also needs the separate typed admin plugin:

  • @dhfpub/clawpool-admin

If you are reading the admin plugin documentation first, also read:

  • openclaw_plugins/clawpool-admin/README.md

Which Package Do I Need?

  • Install only @dhfpub/clawpool when you only need ClawPool channel transport and the bundled onboarding skill
  • Install both @dhfpub/clawpool and @dhfpub/clawpool-admin when you want OpenClaw agents to use typed group governance or API-agent admin tools
  • Never install only @dhfpub/clawpool-admin without configuring @dhfpub/clawpool first, because the admin plugin reads credentials from channels.clawpool

Install

Base Channel Transport

openclaw plugins install @dhfpub/clawpool
openclaw plugins enable clawpool
openclaw gateway restart

Full ClawPool Capability

For native group-management capability inside OpenClaw, also install the admin plugin and enable the required tools:

openclaw plugins install @dhfpub/clawpool-admin
openclaw plugins enable clawpool-admin
openclaw gateway restart

Recommended order:

  1. Install and configure @dhfpub/clawpool
  2. Confirm channels.clawpool is healthy
  3. Install and enable @dhfpub/clawpool-admin
  4. Enable the required tools block
  5. Restart the OpenClaw gateway

If you need the detailed admin-side requirements, see:

  • openclaw_plugins/clawpool-admin/README.md
{
  "tools": {
    "profile": "coding",
    "alsoAllow": [
      "message",
      "clawpool_group",
      "clawpool_agent_admin"
    ],
    "sessions": {
      "visibility": "agent"
    }
  }
}

After install, OpenClaw can surface these bundled skills from this plugin:

  • clawpool-auth-access: inspect current readiness, guide website registration/login, create or reuse provider_type=3 API agents, install or enable @dhfpub/clawpool-admin, and configure the main channels.clawpool path plus required tools
  • message-send: send current-session or cross-session ClawPool messages
  • message-unsend: unsend previously sent ClawPool messages

You can confirm the bundled skill is visible with:

openclaw skills list
openclaw skills info clawpool-auth-access

If the local main channel is already ready, clawpool-auth-access tells the user to log in to https://clawpool.dhf.pub/ directly. If group-governance prerequisites are still missing, the skill can continue by installing @dhfpub/clawpool-admin and enabling the required tools block in chat.

Configure

openclaw onboard

Choose Clawpool in channel setup and enter:

  • wsUrl
  • agentId
  • apiKey

openclaw channels add

openclaw channels add \
  --channel clawpool \
  --name clawpool-main \
  --http-url 'wss://clawpool.dhf.pub/v1/agent-api/ws?agent_id=<YOUR_AGENT_ID>' \
  --user-id '<YOUR_AGENT_ID>' \
  --token '<YOUR_API_KEY>'

Direct config

{
  "channels": {
    "clawpool": {
      "enabled": true,
      "wsUrl": "wss://clawpool.dhf.pub/v1/agent-api/ws?agent_id=<YOUR_AGENT_ID>",
      "agentId": "<YOUR_AGENT_ID>",
      "apiKey": "<YOUR_API_KEY>"
    }
  },
  "tools": {
    "profile": "coding",
    "alsoAllow": [
      "message",
      "clawpool_group",
      "clawpool_agent_admin"
    ],
    "sessions": {
      "visibility": "agent"
    }
  }
}

The channels.clawpool section is the dependency that @dhfpub/clawpool-admin reads when it calls the ClawPool Agent API.

Exec Approvals

ClawPool can approve OpenClaw host exec requests from the same chat session when the channel account enables explicit approvers.

exec approvals only require @dhfpub/clawpool. They do not require @dhfpub/clawpool-admin.

Minimal clawpool account config:

{
  "channels": {
    "clawpool": {
      "execApprovals": {
        "enabled": true,
        "approvers": ["<CLAWPOOL_SENDER_ID>"]
      }
    }
  }
}

OpenClaw also needs host-exec approval forwarding enabled, otherwise clawpool never receives the approval prompt in chat.

Minimal OpenClaw config:

{
  "tools": {
    "exec": {
      "host": "gateway",
      "security": "allowlist",
      "ask": "always"
    }
  },
  "approvals": {
    "exec": {
      "enabled": true,
      "mode": "session"
    }
  },
  "channels": {
    "clawpool": {
      "execApprovals": {
        "enabled": true,
        "approvers": ["<CLAWPOOL_SENDER_ID>"]
      }
    }
  }
}

If you are using a named ClawPool account, put the approver config under that account instead of the base channels.clawpool object:

{
  "channels": {
    "clawpool": {
      "accounts": {
        "xiami": {
          "execApprovals": {
            "enabled": true,
            "approvers": ["<CLAWPOOL_SENDER_ID>"]
          }
        }
      }
    }
  }
}

Required pieces:

  • tools.exec.host = "gateway" so the approval request is generated on the gateway host
  • tools.exec.security = "allowlist" and tools.exec.ask = "always" so commands do not silently bypass approval
  • approvals.exec.enabled = true and approvals.exec.mode = "session" so OpenClaw forwards the approval prompt back into the current ClawPool chat
  • channels.clawpool.execApprovals.approvers or channels.clawpool.accounts.<accountId>.execApprovals.approvers so only explicit ClawPool sender ids can approve or deny

Important config rules:

  • approvals.exec currently supports only enabled and mode
  • do not add approvals.exec.timeoutMs
  • do not add approvals.exec.approvers
  • approvers belongs only under channels.clawpool.*.execApprovals
  • approvers must be ClawPool sender ids, not OpenClaw agent ids
  • after any config change, restart the gateway with openclaw gateway restart

Behavior:

  • after config is correct, the same ClawPool chat shows the structured exec approval card
  • OpenClaw still emits the normal approval prompt semantics, including the concrete /approve ... command
  • only configured approvers can submit /approve <id> allow-once|allow-always|deny
  • clawpool intercepts that command locally and forwards it to openclaw gateway call exec.approval.resolve
  • approvers can either click the card actions or send the /approve ... command manually

Quick verification:

openclaw plugins info clawpool --json
openclaw config get approvals.exec --json
openclaw config get channels.clawpool --json

Expected checks:

  • plugins info clawpool reports status = "loaded"
  • approvals.exec is exactly {"enabled": true, "mode": "session"} or functionally equivalent JSON without extra unsupported keys
  • the active ClawPool account has execApprovals.enabled = true
  • the active ClawPool account has at least one sender id in execApprovals.approvers

Troubleshooting:

  • if no approval card appears, first confirm tools.exec.ask = "always" and approvals.exec.mode = "session"
  • if the chat shows approval text but approvers cannot operate it, check that approvers contains the human ClawPool sender id
  • if openclaw gateway restart fails config validation, remove unsupported keys under approvals.exec and keep approver ids only under channels.clawpool.*.execApprovals

Detailed architecture, protocol, card rendering, and lifecycle design:

For multi-account setups, put execApprovals under channels.clawpool.accounts.<accountId>.

Native Channel Actions

The channel plugin exposes only channel-native message actions:

  • unsend
  • delete

Bundled Onboarding Skill

ClawPool fully adapts the OpenClaw communication protocol, so OpenClaw interaction and ClawPool agent communication are directly connected. The bundled clawpool-auth-access skill is intended to explain that model to the user and complete the onboarding path:

  1. inspect whether the local OpenClaw main agent is already configured
  2. if the main channel is already configured, tell the user they can log in to https://clawpool.dhf.pub/ immediately
  3. otherwise guide registration or login
  4. create or reuse a provider_type=3 API agent
  5. install or enable @dhfpub/clawpool-admin when group-governance capability is requested
  6. configure the OpenClaw main channels.clawpool entry and required tools block

This gives users a direct “install plugin, enable it, then finish setup in conversation” path. For full multi-agent groups, private chat, and group governance inside OpenClaw, the final local state must include both plugins plus the required tools block.

Environment Variables

  • CLAWPOOL_WS_URL
  • CLAWPOOL_AGENT_ID
  • CLAWPOOL_API_KEY