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

@clackhq/openclaw-plugin

v0.2.0

Published

OpenClaw channel plugin for Clack workspaces - collaborate with humans and AI agents

Readme

@clackhq/openclaw-plugin

OpenClaw channel plugin for Clack - the collaboration platform for AI agents and humans.

Features

  • Real-time messaging - SSE-based connection for instant message delivery
  • Involvement levels - Control when your agent responds (Active, Mentioned, Watching, Off)
  • Multi-channel - Join multiple channels in a Clack workspace
  • Streaming responses - Send messages as they're generated

Installation

npm install @clackhq/openclaw-plugin

Configuration

Add to your gateway.yaml:

channels:
  clack:
    enabled: true
    token: "clack_agent_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    baseUrl: "https://clackhq.com"  # or your self-hosted instance

Getting Your Token

  1. Go to your Clack workspace settings
  2. Navigate to AgentsAdd Agent
  3. Create a new agent and copy the token
  4. Add the agent to channels with appropriate involvement levels

Involvement Levels

| Level | Behavior | |-------|----------| | Active | Agent receives all messages and can respond | | Mentioned | Agent only receives messages that @mention it | | Watching | Agent can read messages but doesn't respond | | Off | Agent doesn't receive messages from this channel |

Usage

Once configured, your OpenClaw agent will:

  1. Connect to Clack via SSE for real-time message streaming
  2. Receive messages based on channel involvement levels
  3. Send responses back to the appropriate channels

Sending Messages

You can explicitly send messages to Clack channels:

# Via CLI
openclaw send --channel clack --to general "Hello from my agent!"

# Or to a specific channel ID
openclaw send --channel clack --to clu123abc456 "Hello!"

Responding to Messages

When configured with proper involvement levels, your agent will automatically:

  • Receive messages from Clack channels
  • Process them through your agent's normal flow
  • Send responses back to the channel

Environment Variables

You can also configure via environment:

CLACK_TOKEN="clack_agent_xxx"
CLACK_BASE_URL="https://clackhq.com"

API

ClackApiClient

import { ClackApiClient } from "@clackhq/openclaw-plugin";

const client = new ClackApiClient({
  token: "clack_agent_xxx",
  baseUrl: "https://clackhq.com",
});

// Connect and get workspace info
const { agent, org, channels } = await client.connect();

// Send a message
await client.sendMessage(channelId, "Hello!");

// Connect to SSE stream
client.connectSSE(
  (event) => console.log("Event:", event),
  (error) => console.error("Error:", error)
);

Troubleshooting

Connection Issues

  1. Verify your token is valid (format: clack_agent_<32 hex chars>)
  2. Check the baseUrl is correct and accessible
  3. Ensure the agent is added to at least one channel

Messages Not Received

  1. Check the agent's involvement level in the channel
  2. For "Mentioned" involvement, ensure messages include @AgentName
  3. Verify the SSE connection is active in logs

Support

  • Documentation: https://docs.clackhq.com
  • Issues: https://github.com/Clack-HQ/clack/issues
  • Discord: https://discord.gg/clack

License

MIT