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

@salza80/openclaw-aws

v0.1.2

Published

Deploy OpenClaw AI agents on AWS with a simple CLI

Readme

openclaw-aws

CI Coverage

OpenClaw AWS is a CLI that makes it simple to provision and manage OpenClaw bots on AWS. It creates a minimal Ubuntu EC2 setup with secure SSM-only access.

Install

# Recommended: install in your bot folder
mkdir my-openclaw-bot
cd my-openclaw-bot
npm init -y
npm install @salza80/openclaw-aws

# Run the CLI with npx
npx openclaw-aws --help

# Optional: install globally if you prefer not to use npx
npm install -g @salza80/openclaw-aws
openclaw-aws --help

Prerequisites

Quick Start

# Initialize your bot with interactive prompts
# This will generate a config file
npx openclaw-aws init

# Set the API key required by your selected provider
# Default provider from init is Anthropic unless you choose another one
export ANTHROPIC_API_KEY=your-api-key

# Deploy
npx openclaw-aws deploy

# Wait for deploy to finish. View the status of your bot
npx openclaw-aws status

The examples below use the recommended local-install workflow with npx openclaw-aws.

To access your bot:

# Open the dashboard to view in your browser (port forwarded via secure SSM - not public access)
npx openclaw-aws dashboard
# Opens http://localhost:18789 in your browser - short delay before it works - refresh browser after 5 seconds

# Or connect to the instance via SSM - for full terminal access
npx openclaw-aws connect

See the OpenClaw docs for ongoing configuration and usage guidance for your bot: OpenClaw Documentation

Managing multiple bots / instances:

# This will generate another config file
npx openclaw-aws init
# deploy it
npx openclaw-aws deploy

# List all bot configs
npx openclaw-aws list

# View status of the currently selected config
npx openclaw-aws status
# View status of all configs
npx openclaw-aws status --all

# See the currently selected config.
# Commands default to this config.
npx openclaw-aws current

# Select another config
npx openclaw-aws use <name>

# Run any command against a specific config or all configs with --name <name> or --all

# get help with commands
npx openclaw-aws --help

Commands

openclaw-aws init

Interactive setup wizard to create a config.

Example:

npx openclaw-aws init

openclaw-aws deploy

Deploy infrastructure to AWS.

Example:

npx openclaw-aws deploy
npx openclaw-aws deploy --name my-bot
npx openclaw-aws deploy --all

openclaw-aws status

Check deployment and instance status.

Example:

npx openclaw-aws status
npx openclaw-aws status --all

openclaw-aws dashboard

Forward port 18789 to access the OpenClaw dashboard locally.

Example:

npx openclaw-aws dashboard

openclaw-aws connect

Connect to your EC2 instance via SSM.

Example:

npx openclaw-aws connect

openclaw-aws start

Start a stopped instance.

Example:

npx openclaw-aws start

openclaw-aws stop

Stop a running instance to save costs.

Example:

npx openclaw-aws stop

openclaw-aws restart

Reboot the instance.

Example:

npx openclaw-aws restart

openclaw-aws outputs

Show CloudFormation stack outputs.

Example:

npx openclaw-aws outputs --name my-bot

openclaw-aws logs

Fetch instance logs (cloud-init and OpenClaw services).

Example:

npx openclaw-aws logs
npx openclaw-aws logs --init
npx openclaw-aws logs --service --tail 100
npx openclaw-aws logs --service --follow

openclaw-aws destroy

Delete all AWS resources.

Options:

  • --name <name> - Config name
  • --all - Destroy all configs
  • --force - Skip confirmation
  • --delete-config - Delete configuration file

Example:

npx openclaw-aws destroy --name my-bot
npx openclaw-aws destroy --all

# Force delete without confirmation
npx openclaw-aws destroy --name my-bot --force

openclaw-aws list

List configs.

Example:

npx openclaw-aws list

openclaw-aws current

Show the current config.

Example:

npx openclaw-aws current

openclaw-aws use

Select a config.

Example:

npx openclaw-aws use my-bot

Configuration

Configuration is created with the init command, and stored per config in .openclaw-aws/configs/<name>.json. The current selection is stored in .openclaw-aws/current.json.

Example configuration:

{
  "version": "1.0",
  "aws": {
    "region": "us-east-1"
  },
  "instance": {
    "type": "t3.small",
    "name": "openclaw-my-bot"
  },
  "network": {
    "useDefaultVpc": true
  },
  "features": {
    "cloudWatchLogs": true
  },
  "openclaw": {
    "apiProvider": "anthropic-api-key"
  },
  "stack": {
    "name": "OpenclawStack-my-bot"
  }
}

If you want to use a named AWS CLI profile, you can add an optional aws.profile field manually.

Multiple Bots (Configs)

To manage multiple bots, create one config per bot and switch between them:

npx openclaw-aws init --name bot-a
npx openclaw-aws init --name bot-b
npx openclaw-aws list
npx openclaw-aws use bot-b
npx openclaw-aws current

Start/Stop (Cost Control)

Use stop to save costs when you don’t need the bot running, and start to resume.

npx openclaw-aws stop --name my-bot
npx openclaw-aws start --name my-bot

Benefits & Setup

  • Ubuntu 24.04 LTS on EC2
  • SSM-only access (no SSH, no inbound ports)
  • Encrypted EBS by default
  • IMDSv2 enforced for metadata security

Architecture

The deployment creates:

  • EC2 Instance - Ubuntu 24.04 LTS, t3.small by default (or your chosen type)
    • IMDSv2 enforced (SSRF protection)
    • Encrypted EBS volume (data at rest encryption)
    • Public IP assigned (required for outbound connectivity)
  • Security Group - Zero inbound rules (SSM access only, no SSH)
  • IAM Role - Least-privilege with SSM access
  • VPC - Uses default VPC by default (option to create new VPC)

Security

  • No inbound ports (SSM access only)
  • No SSH (disabled by design)
  • Encrypted storage with EBS
  • SSM sessions are auditable in CloudTrail

Troubleshooting - Instance not appearing in SSM

Wait 2-3 minutes after deployment. Check status:

npx openclaw-aws status

"Config file not found"

Run the init command first:

npx openclaw-aws init
npx openclaw-aws list
npx openclaw-aws use my-bot

Deployment fails

Check AWS credentials:

aws sts get-caller-identity

Port forwarding fails

Ensure SSM plugin is installed and instance is ready:

npx openclaw-aws status

Restart instance if the gateway or SSM has crashed:

npx openclaw-aws restart

Development

For developers contributing to openclaw-aws:

Setup

# 1. Clone the repository
git clone https://github.com/salza80/openclaw-aws.git
cd openclaw-aws

# 2. Use Node 22+
nvm use

# 3. Install dependencies
npm install

# 4. Build the project
npm run build

# 5. Link for local testing
npm link

# 6. Test the CLI
openclaw-aws --help
openclaw-aws init

# 7. Watch mode for development (auto-rebuild on changes)
npm run watch

Requirements for Development

  • Node.js 22+
  • AWS CLI with configured credentials
  • AWS account with CDK bootstrapped
  • All dependencies install automatically via npm install

Testing Changes

# After making changes, rebuild
npm run build

# Test locally in another folder (ie openclaw-aws-test)
openclaw-aws init
openclaw-aws deploy

# Or use watch mode for auto-rebuild
npm run watch

License

MIT

Author

Sally Mclean [email protected]