Skip to content

arpit0515/claw-setup-wizard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

78 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🦞 claw-setup-wizard

A browser-based setup wizard for PicoClaw β€” runs on your Raspberry Pi or any Linux/macOS machine.

No JSON editing. No terminal juggling. Just open a browser and follow the steps.


What it does

Walks you through the full setup in 6 steps:

  1. System Check β€” detects your installation, shows disk/RAM/config status, installs PicoClaw if missing, checks for updates
  2. LLM Provider β€” pick OpenRouter, Anthropic, Gemini or Groq, paste your key, validates it live, fetches available models
  3. Telegram β€” step-by-step bot creation, token validation, real ping test end-to-end
  4. Your Twin's Soul β€” 8 questions that generate your SOUL.md personality file, saved directly to the Pi
  5. Launch β€” installs a systemd service (Linux) or launchd agent (macOS) so your agent starts on boot automatically
  6. Connected Tools β€” connect Gmail and Google Calendar via OAuth2, install and activate the Weather tool

If you already have things configured, the wizard reads your existing config and shows what's already set.


Quick start

One-line install (recommended)

curl -fsSL https://claw-tools.dev/wizard/install.sh | bash

Then open http://YOUR_PI_IP:3000 in any browser on your network.

This will:

  1. Clone the repo to ~/.picoclaw/wizard/
  2. Install Go automatically if not present (detects arm64, armv6l, amd64)
  3. Build the claw-setup binary from source
  4. Optionally register autorun on boot
  5. Start the wizard

From source

git clone https://github.com/arpit0515/claw-setup-wizard.git
cd claw-setup-wizard
bash install.sh

Running install.sh from inside the repo directory will pull the latest changes, rebuild if needed, and start the wizard. Re-run it anytime to update.


Manual install

Requires Go 1.21+:

git clone https://github.com/arpit0515/claw-setup-wizard.git
cd claw-setup-wizard
go build -o claw-setup .
./claw-setup

The binary is fully self-contained β€” the entire UI (HTML, CSS, JS) is embedded inside it via Go's embed. No separate files needed to run it.


Project structure

claw-setup-wizard/
β”œβ”€β”€ main.go                 # HTTP server, route registration, static file serving
β”œβ”€β”€ handlers.go             # Core API handlers (LLM, Telegram, Soul, service install)
β”œβ”€β”€ weather_handlers.go     # Weather tool handlers (/api/weather/*)
β”œβ”€β”€ oauth.go                # Google OAuth2 flow for Gmail + GCal
β”œβ”€β”€ system.go               # System check, config read/write, PicoConfig struct
β”œβ”€β”€ workspace.go            # Workspace file generation (SOUL.md, AGENTS.md, TOOLS.md, etc.)
β”œβ”€β”€ soul.go                 # SOUL.md generation logic
β”œβ”€β”€ validate.go             # LLM key + Telegram token validation
β”œβ”€β”€ uninstall.go            # Full uninstall logic
β”œβ”€β”€ picoclaw_update.go      # Version check + auto-update for PicoClaw
β”œβ”€β”€ templates/
β”‚   └── index.html          # Wizard UI (clean HTML, no inline JS/CSS)
└── static/
    β”œβ”€β”€ css/
    β”‚   └── wizard.css      # All styles
    └── js/
        β”œβ”€β”€ core.js         # Shared state, navigation, alerts, QR modal, network bar
        β”œβ”€β”€ steps.js        # Steps 0–4 logic + uninstall modal
        β”œβ”€β”€ weather.js      # Weather tool UI logic (Step 6)
        β”œβ”€β”€ tools.js        # OAuth/Gmail/GCal UI logic (Step 6)
        β”œβ”€β”€ settings.js     # Settings page logic
        └── init.js         # Bootstrap (runs on page load)

Requirements

  • Raspberry Pi or any Linux/macOS machine
  • PicoClaw installed (the wizard can install it for you if missing)
  • Internet connection
  • Go 1.21+ (only needed to build β€” the binary runs standalone)

Connected Tools (Step 6)

Gmail & Google Calendar

Connects to your Google account via OAuth2. Tokens are stored locally at ~/.picoclaw/tokens/ β€” nothing is sent to the cloud. Multi-account supported.

Once connected, your agent can:

  • Summarise unread emails
  • Fetch today's calendar events
  • Deliver morning briefings via Telegram

Powered by ClawTools β€” a separate repo of MCP tool connectors.

Weather Tool

No API key required β€” powered by Open-Meteo (free, open-source).

The wizard:

  1. Geocodes your city name to lat/lon via Open-Meteo's geocoding API
  2. Builds and installs weather-mcp β€” a local HTTP service on port 3104
  3. Creates shell scripts at ~/.picoclaw/workspace/bin/ for the agent to call
  4. Writes ~/.picoclaw/workspace/skills/claw-weather/SKILL.md so PicoClaw knows to use your local service
  5. Installs claw-weather.service (systemd) so it starts on boot
  6. Restarts PicoClaw so it picks up the new skill immediately

After setup, ask your agent "what's the weather today?" β€” it will use your stored location and return a structured morning/afternoon/evening forecast with rain chance.


Supported LLM providers

Provider Free tier Notes
OpenRouter βœ… Recommended β€” one key, hundreds of models including free ones
Groq βœ… Very fast inference
Gemini βœ… Google models
Anthropic ❌ Claude models direct

Free models on OpenRouter

OpenRouter gives access to hundreds of free models with no credits required. The wizard fetches the live model list and lets you filter to free-only β€” no hardcoded list, always up to date.


Config files

Everything lives under ~/.picoclaw/:

Path What it is
config.json LLM provider, Telegram token, model config
config/weather.json Stored weather location (lat, lon, label)
tokens/<email>.enc OAuth tokens (AES-256 encrypted)
workspace/SOUL.md Agent personality
workspace/AGENTS.md Agent behaviour rules (auto-generated)
workspace/TOOLS.md Tool reference (auto-generated)
workspace/IDENTITY.md Who the agent is
workspace/USER.md Owner preferences
workspace/HEARTBEAT.md Scheduled task definitions
workspace/MEMORY.md Accumulated agent memory
workspace/bin/ Tool binaries and shell scripts
workspace/skills/ PicoClaw skill definitions

How skills work

PicoClaw discovers capabilities via SKILL.md files in ~/.picoclaw/workspace/skills/. Each skill is a markdown file with a YAML frontmatter block and plain-English instructions that tell the agent what the skill does and how to invoke it.

The wizard writes skills automatically when you install tools. You can also edit them directly to customise agent behaviour.

Example β€” skills/claw-weather/SKILL.md:

---
name: claw-weather
description: "Get current weather and full day forecast..."
user-invocable: true
---

## Get full day forecast
exec: /home/pi/.picoclaw/workspace/bin/get_weather_forecast.sh

Network bar

The wizard shows a network bar at the top with your Pi's local IP and a QR code. Scan it with your phone to open the wizard on mobile β€” useful when setting up a headless Pi.


OS support

OS Service manager Status
Raspberry Pi OS / Ubuntu systemd βœ… Full support
macOS launchd βœ… Full support
Other Linux systemd βœ… Should work
Windows β€” ❌ Not supported

Why this exists

Setting up PicoClaw requires editing raw JSON, creating Telegram bots manually, understanding provider APIs, and configuring systemd β€” all before you can say a single word to your agent.

This wizard removes all of that friction. It's developer infrastructure β€” self-hosted, privacy-first, and designed for the kind of person who wants to run their own AI agent without handing data to a hosted SaaS.


Roadmap

  • OpenClaw full support (compatible config, same SOUL.md structure)
  • Morning briefing microservice setup (Gmail + GCal + Weather β†’ Telegram)
  • More ClawTools: Outlook/Exchange, SMS via Twilio
  • WhatsApp channel setup
  • Voice configuration (Whisper + ElevenLabs)
  • Model health check and auto-suggest

Related projects

  • PicoClaw β€” the AI agent runtime this wizard configures
  • ClawTools β€” MCP tool connectors (Gmail, GCal, Weather)

License

MIT

About

A small application wizard built in GO that will give every user ability to install the picoclaw using simple UI checkpoint

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors