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

airclaw

v1.3.0

Published

Create OpenClaw agents in the cloud in seconds

Readme

airclaw

Create OpenClaw agents in the cloud in seconds. Each agent gets its own VM with shell access, file storage, email, and tool use.

Install

npm install -g airclaw

Requires Node.js 18+.

Quick start

airclaw auth login          # prompts for API key
airclaw create              # spin up an agent
airclaw chat                # talk to it
airclaw ssh                 # shell into it

Get an API key from the AirClaw dashboard.

Authentication

Three ways to authenticate, checked in this order:

  1. AIRCLAW_API_KEY env var — best for CI/CD and scripts:

    export AIRCLAW_API_KEY=sk-ac-...
  2. Interactive login — saves to ~/.airclaw/config.json:

    airclaw auth login
  3. --key flag — avoid this. Arguments are visible in ps output.

Check your auth state with airclaw auth status. Log out with airclaw auth logout.

Commands

Machines

airclaw list                    List your AirClaws
airclaw create                  Create a new AirClaw
airclaw info <id>               Get machine details
airclaw destroy <id>            Destroy a machine
airclaw sleep <id>              Suspend a machine
airclaw default <id>            Set default machine

SSH

airclaw ssh <id>                Connect to a machine
airclaw ssh <id> ls -la         Run a remote command
airclaw ssh otp_abc123          Redeem a one-time access code
airclaw ssh --list              Show saved connections
airclaw ssh --reset             Clear saved connections and keys

Machines accessed via one-time codes are saved locally so you can reconnect later without a new code.

Chat

airclaw chat <id>               Interactive conversation
airclaw chat <id> -m "message"  Single message (streams to stdout)

Gateway

airclaw config <id>                          View agent configuration
airclaw config <id> --set '{"model": "..."}' Update configuration
airclaw models <id>                          List available models
airclaw rpc <id> <method>                    Call a gateway method
airclaw tools invoke <id> <tool> --args '{}'  Invoke a tool

AirDrive

airclaw drive upload <id> ./file.pdf         Upload a file
airclaw drive download <id> file.pdf         Download a file
airclaw drive list <id>                      List files
airclaw drive delete <id> file.pdf           Delete a file
airclaw drive share <id> file.pdf            Get a public share link

AirMail

airclaw mail status <id>                     Check email status
airclaw mail claim <id> myname               Claim [email protected]
airclaw mail list <id>                       List emails
airclaw mail read <id> <email-id>            Read an email
airclaw mail send <id> --to x --subject y --body z
airclaw mail reply <id> <msg-id> --body z    Reply to an email

Todos

airclaw todos list <id>                      List todos
airclaw todos create <id> Buy milk           Create a todo
airclaw todos update <id> <todo-id> --status completed
airclaw todos delete <id> <todo-id>          Delete a todo
airclaw todos tags <id>                      List tags

API Keys

airclaw keys list               List your API keys
airclaw keys create [name]      Create a new key
airclaw keys revoke <id>        Revoke a key

When <id> is omitted, the CLI uses your default machine. Set one with airclaw default <id>. If you only have one machine, it's selected automatically.

Most commands accept --json for machine-readable output.

One-time access codes

Share access to an agent without sharing your API key. The recipient doesn't need an account:

airclaw ssh otp_abc123xyz

The connection is saved locally so they can reconnect with just airclaw ssh.

CI/CD

export AIRCLAW_API_KEY=sk-ac-...

# Create and capture the ID
ID=$(airclaw create --json | jq -r '.id')

# Run a command
airclaw ssh "$ID" python train.py

# Clean up
airclaw destroy "$ID" -f

Environment variables

| Variable | Description | |----------|-------------| | AIRCLAW_API_KEY | API key (alternative to auth login) | | AIRCLAW_API_URL | Custom API base URL |

Local config

All state lives in ~/.airclaw/:

~/.airclaw/
├── config.json          # API key, default machine
├── connections.json     # Saved SSH connections from access codes
└── keys/                # SSH private keys

To fully uninstall:

npm uninstall -g airclaw
rm -rf ~/.airclaw

Links