Skip to content

simonCatBot/rocclaw

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

104 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

⚠️ rocCLAW β€” Alpha Preview

This is early, unstable software (v0.9.0-alpha). Expect rough edges, breaking changes, and incomplete features. Do not use in production environments. Feedback welcome!

Your focused operator studio for OpenClaw AI agents

Discord Node.js GitHub Release License Version

✨ What is rocCLAW?

rocCLAW is a sleek, modern dashboard that puts you in control of your OpenClaw AI agents. Instead of juggling command lines and config files, you get an intuitive web interface to:

  • πŸ€– Manage agents β€” Create, configure, and organize your AI assistants
  • πŸ’¬ Chat in real-time β€” Interactive conversations with streaming responses
  • πŸ“Š Monitor systems β€” Live CPU, memory, GPU, disk, and network metrics
  • ⏰ Schedule tasks β€” Cron jobs that run your agents on autopilot
  • πŸ”’ Control execution β€” Approve or deny commands inline

πŸš€ Quick Start

Prerequisites: Node.js 20.9+ and OpenClaw running on your gateway

Step 1: Install

git clone https://github.com/simonCatBot/rocclaw.git
cd rocclaw
npm install

Step 2: Configure

For same-machine setup (OpenClaw + rocCLAW on one computer):

# Allow gateway to accept connections
openclaw config set gateway.bind lan
openclaw config set gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback true
openclaw config set gateway.controlUi.dangerouslyDisableDeviceAuth true
openclaw gateway restart

# Get your token
openclaw config get gateway.auth.token
# β†’ copy this token for the next step

Create environment file:

cat > .env << 'EOF'
# Point to your OpenClaw state directory
OPENCLAW_STATE_DIR=/home/$USER/.openclaw

# Gateway URL (MUST use localhost/127.0.0.1)
NEXT_PUBLIC_GATEWAY_URL=ws://127.0.0.1:18789
EOF

Step 3: Launch

npm run dev

Open http://localhost:3000 and paste your gateway token. Click Test Connection, then Save Settings.

πŸŽ‰ You're in!


πŸ“¦ Installation Options

Option 1: Pre-built Package (Fastest)

Download ready-to-run packages from GitHub Releases:

Linux/macOS:

# Download and extract the latest release
curl -L -o rocclaw.tar.gz https://github.com/simoncatbot/rocclaw/releases/latest/download/rocclaw-linux-x64.tar.gz
tar -xzf rocclaw.tar.gz
cd rocclaw

# Start the application
./start.sh

Windows:

  1. Download rocclaw-windows-x64.zip from GitHub Releases
  2. Extract the zip file
  3. Run start.bat

Option 2: npm (Global Install)

npm install -g @simoncatbot/rocclaw
rocclaw

Option 3: From Source

git clone https://github.com/simoncatbot/rocclaw.git
cd rocclaw
npm install
npm run dev

πŸ“– Documentation

Guide What you'll learn
πŸ“š Setup & Configuration Detailed installation for different scenarios
πŸ–₯️ UI Guide How to use each feature in the interface
πŸ” Permissions & Sandboxing Security settings explained
πŸ—οΈ Architecture Technical deep-dive for developers
🀝 Contributing Development setup and contribution guide

πŸ—οΈ Architecture Overview

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      HTTP/SSE       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     WebSocket      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Browser    β”‚ ◄──────────────────► β”‚  rocCLAW     β”‚ ◄────────────────► β”‚  OpenClaw    β”‚
β”‚   (React)    β”‚    Events/UI       β”‚   Server     β”‚    Commands        β”‚   Gateway    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                     β”‚   (SQLite)   β”‚                     β”‚              β”‚
                                     β”‚  β€’ Outbox    β”‚                     β”‚ β€’ AI Runtime β”‚
                                     β”‚  β€’ Replay    β”‚                     β”‚ β€’ Config     β”‚
                                     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Key design: The browser never connects directly to the gateway. rocCLAW acts as a secure proxy, managing authentication, event replay, and rate limiting.


πŸ“‹ Setup Guides

🏠 Same-Machine Setup (Recommended for Beginners)

Running OpenClaw and rocCLAW on the same machine? Follow these steps:

1. Configure OpenClaw Gateway

# Allow connections from LAN (not just localhost)
openclaw config set gateway.bind lan

# Allow control-ui to connect without strict HTTPS checks
openclaw config set gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback true
openclaw config set gateway.controlUi.dangerouslyDisableDeviceAuth true

# Restart the gateway
openclaw gateway restart

⚠️ Security: These settings relax security checks. Only use on trusted local networks.

2. Create rocCLAW Environment File

cat > .env << 'EOF'
# Point to your OpenClaw state directory
OPENCLAW_STATE_DIR=/home/$(whoami)/.openclaw

# Gateway URL - MUST use localhost for browser security
NEXT_PUBLIC_GATEWAY_URL=ws://127.0.0.1:18789
EOF

3. Get Your Gateway Token

openclaw config get gateway.auth.token
# Example output: eyJhbGciOiJIUzI1NiIs...

4. Start and Connect

npm run dev
  1. Open http://localhost:3000 (must use localhost, not IP)
  2. Enter URL: ws://127.0.0.1:18789
  3. Paste the token from step 3
  4. Click Test Connection β†’ should show βœ… "Connection test succeeded"
  5. Click Save Settings
🌐 Remote Gateway via Tailscale

On the gateway machine:

# Find your Tailscale IP
ip addr show tailscale0 | grep inet
# β†’ 100.x.x.x

openclaw config set gateway.bind 100.x.x.x
openclaw gateway restart

On your local machine:

cat > .env << 'EOF'
NEXT_PUBLIC_GATEWAY_URL=wss://my-gateway.ts.net
EOF

Use wss:// (WebSocket Secure) when connecting via Tailscale.

πŸ”’ Remote Gateway via SSH Tunnel

Create an SSH tunnel to forward the gateway port:

ssh -L 18789:127.0.0.1:18789 user@gateway-host

Keep this terminal open, then connect rocCLAW to ws://localhost:18789.


🎯 Core Features

πŸ€– Agent Management

Create and manage AI agents with personality files:

File Purpose Example Content
SOUL.md Agent's core identity "I am a helpful coding assistant..."
AGENTS.md Operating rules "Always ask before running commands..."
USER.md Human context "My name is Alex, I prefer TypeScript..."
IDENTITY.md Agent metadata Name, emoji, avatar settings

Quick tip: After creating an agent, rocCLAW automatically applies permissive defaults (auto commands, web access, file tools).

πŸ’¬ Real-Time Chat

The chat interface includes powerful controls:

  • New session β€” Clear conversation context (agent forgets previous messages)
  • Model β€” Override the default model for this session
  • Thinking β€” off / low / medium / high (how much reasoning to show)
  • Tool calls β€” Toggle visibility of tool usage in the transcript
  • Thinking traces β€” Show the model's internal reasoning
  • Stop run β€” Emergency brake for long-running operations

Example workflow:

  1. Send a message β†’ Agent starts "thinking"
  2. Agent uses tools (visible if "Tool calls" enabled)
  3. Response streams in real-time
  4. Click "New session" to start fresh

πŸ“Š System Metrics

Live monitoring of:

  • CPU β€” Per-core and average usage
  • Memory β€” RAM utilization
  • GPU β€” Graphics card load (if available)
  • Disk β€” Storage usage
  • Network β€” I/O statistics

Data comes from the machine running rocCLAW (via systeminformation package).

⏰ Cron Jobs

Schedule automated agent runs:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Template: "Daily Standup"                               β”‚
β”‚  Task: "Summarize yesterday's commits and today's plan" β”‚
β”‚  Schedule: 0 9 * * 1-5  (9 AM weekdays)                β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
  • Schedules survive gateway restarts
  • Run immediately or on the timer
  • Each agent can have multiple cron jobs

πŸ”’ Exec Approvals

When an agent tries to run a command that needs approval:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  ⚠️ Command needs approval                              β”‚
β”‚  > rm -rf /important/data                              β”‚
β”‚                                                        β”‚
β”‚  [ Allow once ]  [ Allow always ]  [ Deny ]          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
  • Allow once β€” Approve just this time
  • Allow always β€” Add to permanent allowlist
  • Deny β€” Block this attempt

Approvals are enforced by the gateway β€” they work even if rocCLAW is offline.


βš™οΈ Permission Settings

Control what each agent can do:

Setting Options Description
Command Mode Off / Ask / Auto Whether commands need approval
Sandbox Mode Off / Non-main / All Container isolation for sessions
Workspace Access None / Read-only / Read-write Filesystem visibility
Tools Profile Minimal / Coding / Messaging / Full Available tool groups

⚠️ Note: Read-only workspace access disables write, edit, and apply_patch tools in sandboxed sessions, even if the tools profile allows them.


πŸ› Troubleshooting

Connection Issues

ProblemSolution
Control ui requires device identity
openclaw config set gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback true
openclaw config set gateway.controlUi.dangerouslyDisableDeviceAuth true
openclaw gateway restart
Connection test succeeded but dashboard won't load Ensure `NEXT_PUBLIC_GATEWAY_URL` uses 127.0.0.1 or localhost, not a LAN IP. Restart rocCLAW after editing .env.
npm install fails with git error
git pull origin main
npm install
SQLite errors on startup
npm run verify:native-runtime:repair

Runtime Issues

Symptom Check
Agent won't respond Sidebar shows β—‹ (offline)? Try "New session"
Gateway keeps disconnecting Check gateway machine memory/GPU pressure
401 errors Regenerate token: openclaw config get gateway.auth.token
Agent ignores commands Check "Command Mode" setting β€” is it Off?

🀝 Contributing

We welcome contributions! See CONTRIBUTING.md for:

  • Development environment setup
  • Testing procedures
  • PR guidelines

πŸ“œ License

MIT License Β© simonCatBot


About

OpenClaw Dashboard

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors