Skip to content

huynextlevel/clawkit

Repository files navigation

ClawKit

Unified CLI for OpenClaw, PicoClaw, and ZeroClaw
Configure once. Deploy everywhere.

Installation · Quick Start · Configuration · Commands · Contributing


ClawKit manages multiple AI assistant frameworks through a single YAML configuration. It translates your unified config into each framework's native format, handles installation, and keeps everything in sync.

clawkit init       # Interactive setup wizard
clawkit install    # Install target frameworks
clawkit sync       # Deploy config to all targets

Why ClawKit?

Running AI assistants across OpenClaw, PicoClaw, and ZeroClaw means juggling three different config formats (JSON, JSON, TOML), three sets of docs, and three CLI tools. ClawKit eliminates that overhead:

  • One config — Write YAML once, auto-translate to each claw's native format
  • One CLI — Install, validate, sync, and diagnose all targets from a single tool
  • 11 messaging channels — Telegram, Discord, Slack, WhatsApp, Signal, Matrix, IRC, Email, DingTalk, Lark/Feishu, QQ
  • 9 AI providers — Anthropic, OpenAI, OpenRouter, Google, Groq, DeepSeek, Ollama, AWS Bedrock, or any OpenAI-compatible endpoint
  • Security add-ons — Tailscale VPN, UFW firewall, and fail2ban managed from a single command
  • Passthrough support — Still need claw-specific settings? Drop raw config into dedicated sections

Installation

curl (Linux / macOS)

curl -fsSL https://raw.githubusercontent.com/huynextlevel/clawkit/main/scripts/install.sh | bash

Homebrew

brew install huynextlevel/tap/clawkit

npm

npm install -g @huynextlevel/clawkit

npx (no install)

npx @huynextlevel/clawkit init

Go

go install github.com/huynextlevel/clawkit/cmd/clawkit@latest

From source

git clone https://github.com/huynextlevel/clawkit.git
cd clawkit
make build
make install  # copies binary to /usr/local/bin

GitHub Releases

Pre-built binaries for Linux, macOS, and Windows (amd64/arm64) are available on the Releases page.

Quick Start

# 1. Run the interactive setup wizard (installs your claw automatically)
clawkit init

# 2. Deploy your unified config
clawkit sync

# 3. Check everything is working
clawkit doctor

The wizard walks you through 4 steps:

  1. Target — Pick one claw (openclaw, picoclaw, or zeroclaw)
  2. Provider & Model — Choose your AI provider, enter API key, select model
  3. Channels — Enable messaging channels (Telegram, Discord, Slack, etc.)
  4. Gateway — Configure HTTP gateway host, port, and auth token

After saving, ClawKit checks runtime prerequisites and offers to install them automatically, then installs your chosen claw. You can switch claws later with clawkit switch.

You can also use presets to skip the wizard:

clawkit init --preset minimal   # Single provider, one target
clawkit init --preset standard  # Telegram + gateway
clawkit init --preset full      # All channels, everything on

Skills (plugins, tools) are managed through each claw's native CLI:

openclaw skills install <skill>    # OpenClaw skills
picoclaw skills install <skill>    # PicoClaw skills
zeroclaw skills install <skill>    # ZeroClaw skills

Configuration

ClawKit uses a single YAML file at ~/.clawkit/config.yaml. Here's a typical setup:

agent:
  model: anthropic/claude-sonnet-4-6
  temperature: 0.7
  max_tokens: 8192

providers:
  - name: anthropic
    api_key: ${ANTHROPIC_API_KEY}

channels:
  telegram:
    enabled: true
    token: ${TELEGRAM_BOT_TOKEN}
    mention_only: true
  discord:
    enabled: true
    token: ${DISCORD_BOT_TOKEN}

gateway:
  host: 127.0.0.1
  port: 18789
  token: ${CLAWKIT_GATEWAY_TOKEN}

targets:
  - openclaw

Environment variables

Use ${VAR_NAME} syntax anywhere in the config. Variables are substituted at load time, keeping secrets out of the file:

providers:
  - name: anthropic
    api_key: ${ANTHROPIC_API_KEY}
  - name: openai
    api_key: ${OPENAI_API_KEY}

Passthrough sections

Need claw-specific settings that ClawKit doesn't cover? Add them directly and they'll be merged as-is into the native config:

openclaw:
  experimental:
    canvas: true
  agents:
    defaults:
      maxToolIterations: 100

zeroclaw:
  autonomy_level: 3
  tunnel:
    provider: cloudflare

See the examples/ directory for more configuration samples.

Commands

Command Description
clawkit init Interactive setup wizard (or --preset, --from)
clawkit install [claw] Install a claw binary (--all for all targets)
clawkit uninstall [claw] Uninstall a claw (--purge to remove configs)
clawkit switch <claw> Switch active claw (uninstalls current, installs new)
clawkit sync Translate and deploy config to all targets
clawkit validate Check config for errors and warnings
clawkit status Show installation status of all claws
clawkit doctor Diagnose system health (config, prereqs, API keys)
clawkit upgrade Self-update ClawKit to the latest version
clawkit addon list List available security add-ons and status
clawkit addon install <name> Install and configure an add-on
clawkit addon status [name] Show add-on health
clawkit addon remove <name> Remove an add-on (--purge for config)
clawkit features Show feature compatibility matrix
clawkit version Print version

Sync options

clawkit sync                  # Sync to all targets
clawkit sync --target openclaw  # Sync to one target only
clawkit sync --dry-run        # Preview output without writing

Security add-ons

ClawKit manages host-level security tools that protect all your claws regardless of which framework is active:

clawkit addon list               # See what's available
clawkit addon install tailscale  # Install and configure Tailscale VPN
clawkit addon install ufw        # Set up UFW firewall (Linux)
clawkit addon install fail2ban   # Enable SSH brute-force protection (Linux)
clawkit addon status             # Check health of all add-ons

When Tailscale is enabled, clawkit sync automatically injects the correct tunnel/gateway config into each claw's native format (OpenClaw: gateway.tailscale.mode, ZeroClaw: [tunnel] provider = "tailscale"). PicoClaw has no native tunnel support, so ClawKit manages tailscale serve externally.

Feature Compatibility Matrix

Feature OpenClaw PicoClaw ZeroClaw
Channels
Telegram Y Y Y
Discord Y Y Y
Slack Y Y Y
WhatsApp Y Y Y
Signal Y - Y
Matrix Y - Y
IRC - - Y
Email - - Y
DingTalk Y Y Y
Lark/Feishu Y Y Y
QQ Y Y Y
Core
Memory (SQLite) Y Y Y
Memory (Postgres) - - Y
Memory (Markdown) - Y Y
Skills/Plugins Y Y Y
Cron/Scheduling Y Y Y
Heartbeat Y Y Y
Multi-Agent Y Y Y
Web Search Y Y Y
Unique
Canvas/A2UI Y - -
Browser Control Y - Y
Voice/Talk Mode Y - -
Hardware I2C/SPI - Y Y
Robot-Kit - - Y
Autonomy Levels - - Y
Tunnel (CF/TS/ngrok) - - Y
Observability - - Y
Cost Tracking - - Y
Add-ons (host-level)
Tailscale VPN Y Y Y
UFW Firewall Y Y Y
fail2ban Y Y Y

Run clawkit features for the complete matrix.

How It Works

~/.clawkit/config.yaml  (you write this)
        |
    clawkit sync
        |
        +---> ~/.openclaw/openclaw.json   (JSON)
        +---> ~/.picoclaw/config.json     (JSON)
        +---> ~/.zeroclaw/config.toml     (TOML)

ClawKit's adapter layer handles the translation:

  1. Common fields (model, channels, memory, etc.) are mapped to each claw's equivalent
  2. Passthrough fields are merged as-is into the native config
  3. Incompatible features generate warnings but don't block deployment — unsupported channels are silently skipped per target

Project Structure

cmd/clawkit/         Entry point
internal/
  cli/               CLI commands (Cobra)
  config/            Schema, loader, validator, presets
  adapter/           Config translators (OpenClaw, PicoClaw, ZeroClaw)
  addon/             Security add-ons (Tailscale, UFW, fail2ban)
  installer/         Binary installation/uninstallation
  detector/          Claw detection and prerequisite checking
  ui/                Terminal UI (prompts, spinners, tables)
examples/            Example configuration files
npm/                 NPM package distribution

Contributing

See CONTRIBUTING.md for development setup and guidelines.

make build   # Build binary
make test    # Run tests
make lint    # Run linter
make fmt     # Format code

License

MIT

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages