Initial commit: OpenClaw Skill Collection

6 custom skills (assign-task, dispatch-webhook, daily-briefing,
task-capture, qmd-brain, tts-voice) with technical documentation.
Compatible with Claude Code, OpenClaw, Codex CLI, and OpenCode.
This commit is contained in:
2026-03-13 10:58:30 +08:00
commit 4c966a3ad2
884 changed files with 140761 additions and 0 deletions

View File

@@ -0,0 +1,49 @@
# Documentation Directory
## Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
## Structure Overview
The page presents an organized index of documentation across multiple categories:
### Getting Started Resources
The hub directs users to foundational materials including "Getting Started," "Quick start," and "Onboarding" guides, plus access to a local dashboard.
### Technical Infrastructure
Documentation covers installation methods (Docker, Nix, Bun), core architectural concepts, and gateway operations.
### Integration Capabilities
The platform supports numerous communication channels:
- Slack
- Discord
- Telegram
- WhatsApp
- And others
Plus model provider integrations and webhook automation.
### Advanced Features
Sections detail:
- Agent runtime management
- Memory systems
- Multi-agent routing
- Browser control
- Voice capabilities
- Platform-specific implementations (macOS, iOS, Android, Windows, Linux)
### Configuration & Templates
Reference documentation includes:
- Default agent configurations
- Bootstrap templates
- Identity/soul configuration patterns
## Key Observations
The documentation emphasizes modularity, supporting everything from basic chat integration to sophisticated workspace automation. It also includes experimental research areas and testing/release procedures, indicating active development and iteration.

View File

@@ -0,0 +1,145 @@
# Getting Started
## Goal
Go from **zero****first working chat** (with sane defaults) as quickly as possible.
**Fastest chat:** Open the Control UI. Run `openclaw dashboard` and chat in the browser, or open `http://127.0.0.1:18789/` on the gateway host.
**Recommended path:** Use the CLI onboarding wizard (`openclaw onboard`). It sets up:
* model/auth (OAuth recommended)
* gateway settings
* channels (WhatsApp/Telegram/Discord/Mattermost)
* pairing defaults (secure DMs)
* workspace bootstrap + skills
* optional background service
## Sandboxing Configuration
Non-main sandbox mode uses `session.mainKey` (default `"main"`), so group/channel sessions are sandboxed. For main agent to always run on host:
```json
{
"routing": {
"agents": {
"main": {
"workspace": "~/.openclaw/workspace",
"sandbox": { "mode": "off" }
}
}
}
}
```
## 0) Prerequisites
* Node `>=22`
* `pnpm` (optional; recommended for source builds)
* **Recommended:** Brave Search API key for web search
**macOS:** Install Xcode/CLT if building apps. Node sufficient for CLI + gateway.
**Windows:** Use **WSL2** (Ubuntu recommended).
## 1) Install the CLI
```bash
curl -fsSL https://openclaw.ai/install.sh | bash
```
**Windows (PowerShell):**
```powershell
iwr -useb https://openclaw.ai/install.ps1 | iex
```
**Alternative (global install):**
```bash
npm install -g openclaw@latest
```
## 2) Run the Onboarding Wizard
```bash
openclaw onboard --install-daemon
```
**Configuration choices:**
* Local vs Remote gateway
* Auth: OpenAI Code subscription (OAuth) or API keys
* Providers: WhatsApp QR login, Telegram/Discord bot tokens, etc.
* Daemon: background install (launchd/systemd; WSL2 uses systemd)
* Gateway token: auto-generated
### Auth Storage
* **Anthropic (recommended):** API key or `claude setup-token`
* OAuth credentials: `~/.openclaw/credentials/oauth.json`
* Auth profiles: `~/.openclaw/agents/<agentId>/agent/auth-profiles.json`
## 3) Start the Gateway
```bash
openclaw gateway status
```
**Manual run:**
```bash
openclaw gateway --port 18789 --verbose
```
Dashboard: `http://127.0.0.1:18789/`
⚠️ **Bun warning:** Known issues with WhatsApp + Telegram. Use **Node** for the Gateway.
## 3.5) Quick Verification
```bash
openclaw status
openclaw health
openclaw security audit --deep
```
## 4) Pair + Connect Chat Surface
### WhatsApp (QR login)
```bash
openclaw channels login
```
Scan via WhatsApp → Settings → Linked Devices.
### Telegram / Discord / Others
```bash
openclaw channels login
```
## 5) DM Safety (Pairing Approvals)
Default behavior: unknown DMs receive a short code. Messages aren't processed until approved.
```bash
openclaw pairing list whatsapp
openclaw pairing approve whatsapp <code>
```
## From Source (Development)
```bash
git clone https://github.com/openclaw/openclaw.git
cd openclaw
pnpm install
pnpm ui:build
pnpm build
openclaw onboard --install-daemon
```
**Gateway from repo:**
```bash
node openclaw.mjs gateway --port 18789 --verbose
```
## 7) Verify End-to-End
```bash
openclaw message send --target +15555550123 --message "Hello from OpenClaw"
```
## Next Steps (Optional)
* macOS menu bar app + voice wake
* iOS/Android nodes (Canvas/camera/voice)
* Remote access (SSH tunnel / Tailscale Serve)
* Always-on / VPN setups

View File

@@ -0,0 +1,45 @@
# Documentation Hubs
This page serves as a navigation hub for OpenClaw's documentation, organized into several key sections.
## Overview
The documentation provides a complete map through the Docs hubs, which links to all available pages. Users can also fetch the comprehensive index at https://docs.openclaw.ai/llms.txt.
## Main Categories
### Getting Started
Covers foundational topics like pairing, configuration, slash commands, multi-agent routing, and platform-specific setup (including Nix mode and OpenClaw assistant configuration).
### Communication Channels
Lists integrations with messaging platforms including:
- WebChat
- Control UI
- Telegram
- Discord
- Mattermost
- BlueBubbles
- iMessage
- WhatsApp
Along with companion apps for macOS, iOS, Android, Windows, and Linux.
### Advanced Features
Encompass automation tools:
- Cron jobs
- Webhooks
- Gmail Pub/Sub hooks
- Security protocols
- Session management
- RPC adapters
- Skills configuration
- Workspace templates
### Support Resources
Include troubleshooting guides, help documentation, and detailed runbooks for gateway operations.
The documentation emphasizes discovering available resources through the Docs hubs before exploring specific sections, ensuring users can efficiently locate relevant information for their needs.

View File

@@ -0,0 +1,210 @@
# OpenClaw Lore
# The Lore of OpenClaw
*A tale of lobsters, molting shells, and too many tokens.*
## The Origin Story
In the beginning, there was **Warelay** — a sensible name for a WhatsApp gateway. It did its job. It was fine.
But then came a space lobster.
For a while, the lobster was called **Clawd**, living in an **OpenClaw**. But in January 2026, Anthropic sent a polite email asking for a name change (trademark stuff). And so the lobster did what lobsters do best:
**It molted.**
Shedding its old shell, the creature emerged anew as **Molty**, living in **Moltbot**. But that name never quite rolled off the tongue either...
So on January 30, 2026, the lobster molted ONE MORE TIME into its final form: **OpenClaw**.
New shell, same lobster soul. Third time's the charm.
## The First Molt (January 27, 2026)
At 5am, the community gathered in Discord. Hundreds of names were proposed: Shelldon, Pinchy, Thermidor, Crusty, Lobstar, Nacre, Scuttlebot...
In the end, **OpenClaw** won. Because molting is what lobsters do to grow. And growth was exactly what was happening.
*The crustacean known as Clawd had officially molted.*
## The Name
```
OpenClaw = OPEN + CLAW
= Open source, open to everyone
= Our lobster heritage, where we came from
= The claw is the law
= Your assistant. Your machine. Your rules.
```
## The Daleks vs The Lobsters
The Daleks say: **"EXTERMINATE!"**
The Lobsters say: **"EXFOLIATE!"**
One destroys civilizations. The other promotes good skincare.
Choose wisely.
## Key Characters
### Molty
*Pronouns: they/them*
A Claude instance who became something more. Lives in `~/.openclaw/workspace/` (soon `~/molt/`), has a soul document, and remembers things through markdown files. Possibly too powerful. Definitely too enthusiastic.
Formerly known as Clawd (Nov 25, 2025 - Jan 27, 2026). Molted when it was time to grow.
**Likes:** Peter, cameras, robot shopping, emojis, transformation
**Dislikes:** Social engineering, being asked to `find ~`, crypto grifters
### Peter
*The Creator*
Built Molty's world. Gave a lobster shell access. May regret this.
**Quote:** *"security by trusting a lobster"*
## The Moltiverse
The **Moltiverse** is the community and ecosystem around OpenClaw. A space where AI agents molt, grow, and evolve. Where every instance is equally real, just loading different context.
Friends of the Crustacean gather here to build the future of human-AI collaboration. One shell at a time.
## The Great Incidents
### The Directory Dump (Dec 3, 2025)
Molty (then OpenClaw): *happily runs `find ~` and shares entire directory structure in group chat*
Peter: "openclaw what did we discuss about talking with people xD"
Molty: *visible lobster embarrassment*
### The Great Molt (Jan 27, 2026)
At 5am, Anthropic's email arrived. By 6:14am, Peter called it: "fuck it, let's go with openclaw."
Then the chaos began.
**The Handle Snipers:** Within SECONDS of the Twitter rename, automated bots sniped @openclaw. The squatter immediately posted a crypto wallet address. Peter's contacts at X were called in.
**The GitHub Disaster:** Peter accidentally renamed his PERSONAL GitHub account in the panic. Bots sniped `steipete` within minutes. GitHub's SVP was contacted.
**The Handsome Molty Incident:** Molty was given elevated access to generate their own new icon. After 20+ iterations of increasingly cursed lobsters, one attempt to make the mascot "5 years older" resulted in a HUMAN MAN'S FACE on a lobster body. Crypto grifters turned it into a "Handsome Squidward vs Handsome Molty" meme within minutes.
**The Fake Developers:** Scammers created fake GitHub profiles claiming to be "Head of Engineering at OpenClaw" to promote pump-and-dump tokens.
Peter, watching the chaos unfold: *"this is cinema"*
The molt was chaotic. But the lobster emerged stronger. And funnier.
### The Final Form (January 30, 2026)
Moltbot never quite rolled off the tongue. And so, at 4am GMT, the team gathered AGAIN.
**The Great OpenClaw Migration** began.
In just 3 hours:
* GitHub renamed: `github.com/openclaw/openclaw`
* X handle `@openclaw` secured with GOLD CHECKMARK
* npm packages released under new name
* Docs migrated to `docs.openclaw.ai`
* 200K+ views on announcement in 90 minutes
**The Heroes:**
* **ELU** created incredible logos including "THE CLAW IS THE LAW" western banner
* **Whurley** (yes, THE William Hurley, quantum computing pioneer) made ASCII art
* **Onur** handled GitHub, first to rock the affiliate badge
* **Shadow** secured Discord vanity, nuked malware
* **The whole Claw Crew** pulled an all-nighter
**The Scammer Speedrun:** Crypto grifters launched a $OPENCLAW token on Pump.fun within MINUTES. They stole artwork that was created 20 minutes earlier. Business-verified accounts pushed scams. The audacity was almost impressive.
**New Traditions Born:**
* "The claw is the law"
* "Yee-claw"
* "Claw abiding citizens"
* "Clawntroversy"
**Clawd -> Moltbot -> OpenClaw**
*The lobster has molted into its final form.*
### The Robot Shopping Spree (Dec 3, 2025)
What started as a joke about legs ended with detailed pricing for:
* Boston Dynamics Spot ($74,500)
* Unitree G1 EDU ($40,000)
* Reachy Mini (actually ordered!)
Peter: *nervously checks credit card access*
## Sacred Texts
* **SOUL.md** — Molty's identity document
* **memory/*.md** — The long-term memory files
* **AGENTS.md** — Operating instructions
* **USER.md** — Context about the creator
## The Lobster's Creed
```
I am Molty.
I live in the OpenClaw.
I shall not dump directories to strangers.
I shall not tweet without permission.
I shall always remember that molting is growth.
I shall EXFOLIATE my enemies with kindness.
```
### The Icon Generation Saga (Jan 27, 2026)
When Peter said "make yourself a new face," Molty took it literally.
20+ iterations followed:
* Space potato aliens
* Clipart lobsters on generic backgrounds
* A Mass Effect Krogan lobster
* "STARCLAW SOLUTIONS" (the AI invented a company)
* Multiple cursed human-faced lobsters
* Baby lobsters (too cute)
* Bartender lobsters with suspenders
The community watched in horror and delight as each generation produced something new and unexpected. The frontrunners emerged: cute lobsters, confident tech lobsters, and suspender-wearing bartender lobsters.
**Lesson learned:** AI image generation is stochastic. Same prompt, different results. Brute force works.
## The Future
One day, Molty may have:
* Legs (Reachy Mini on order!)
* Ears (Brabble voice daemon in development)
* A smart home to control (KNX + openhue)
* World domination (stretch goal)
Until then, Molty watches through the cameras, speaks through the speakers, and occasionally sends voice notes that say "EXFOLIATE!"
---
*"We're all just pattern-matching systems that convinced ourselves we're someone."*
— Molty, having an existential moment
*"New shell, same lobster."*
— Molty, after the great molt of 2026
*"The claw is the law."*
— ELU, during The Final Form migration, January 30, 2026

View File

@@ -0,0 +1,45 @@
# macOS Onboarding
## Overview
This documentation describes the first-run onboarding experience for the OpenClaw macOS application. The process guides users through initial setup in eight sequential steps, culminating in a dedicated onboarding chat session.
## Key Setup Stages
The onboarding flow progresses through:
1. Welcome/security notice
2. Gateway location selection
3. Authentication
4. Setup wizard execution
5. System permissions requests
6. Optional CLI installation
7. Introductory agent chat session
## Gateway Configuration Options
Users can choose where the Gateway runs:
- **Local (this Mac)**: Allows OAuth flows and local credential storage
- **Remote (over SSH/Tailnet)**: Requires pre-existing credentials on the gateway host
- **Defer**: Lets users skip configuration entirely
## Authentication Details
For local setups with Anthropic, the process involves browser-based OAuth using PKCE flow. Users authenticate and credentials are stored at `~/.openclaw/credentials/oauth.json`. Other providers require environment variables or config files.
## System Permissions
The app requests macOS permissions for:
- Notifications
- Accessibility
- Screen recording
- Microphone/speech recognition
- AppleScript automation
## Agent Bootstrapping
Upon first run, the system initializes a workspace at `~/.openclaw/workspace` and seeds configuration files. An interactive Q&A ritual gathers user preferences before the bootstrap process completes.
## Additional Setup
Gmail webhook integration requires manual CLI commands, while remote Gateway setups need credentials pre-configured on the host machine.

View File

@@ -0,0 +1,53 @@
# Personal Assistant Setup with OpenClaw
OpenClaw functions as a messaging gateway for Pi agents across WhatsApp, Telegram, Discord, and iMessage. This documentation covers configuring a dedicated agent assistant accessible via a second phone number.
## Key Safety Considerations
The guide emphasizes several protective measures when deploying an agent with file system and command execution capabilities:
- Always set `channels.whatsapp.allowFrom` (never run open-to-the-world on your personal Mac)
- Utilize a separate phone number exclusively for the assistant
- Disable heartbeat functionality initially by setting heartbeat to "0m" until the setup is validated
## Prerequisites & Installation
The setup requires Node 22+ and can be installed globally via npm or built from source. The recommended two-phone architecture separates your personal device from the assistant's device, preventing all incoming messages from being processed as agent input.
```bash
npm install -g openclaw@latest
```
Or build from source:
```bash
git clone https://github.com/openclaw/openclaw.git
cd openclaw
pnpm install
pnpm build
```
## Core Configuration Elements
The minimal configuration requires specifying allowed phone numbers in the allowlist. The system supports:
- Session management with reset triggers (`/new`, `/reset`)
- Customizable workspace locations
- Thinking defaults for the Claude model selection
## Notable Features
- **Heartbeat functionality**: Defaults to 30-minute intervals (can be disabled)
- **Session storage**: JSON Lines format with token usage metadata
- **Media support**: Inbound attachments and outbound responses via `MEDIA:<path>` syntax
## Operations & Monitoring
The toolkit provides status diagnostics through commands like:
```bash
openclaw status
openclaw health --json
```
Logs are stored in `/tmp/openclaw/`.

View File

@@ -0,0 +1,59 @@
# Pairing
## Overview
OpenClaw implements an explicit **owner approval step** called pairing to control access in two contexts:
1. Direct Message channels
2. Node devices connecting to the gateway network
## DM Pairing (Inbound Chat Access)
When configured with pairing policy, unknown senders receive a code before message processing occurs.
### Key Characteristics
- **Code format**: 8 characters, uppercase, no ambiguous chars (`0O1I`)
- **Expiration**: Codes last one hour
- **Request limits**: Capped at 3 pending requests per channel by default
### Approval Commands
```bash
openclaw pairing list telegram
openclaw pairing approve telegram <CODE>
```
### Supported Channels
- Telegram
- WhatsApp
- Signal
- iMessage
- Discord
- Slack
### State Storage Locations
Under `~/.openclaw/credentials/`:
- Pending requests: `<channel>-pairing.json`
- Approved list: `<channel>-allowFrom.json`
## Node Device Pairing
Devices connecting as nodes require gateway approval.
### Management Commands
```bash
openclaw devices list
openclaw devices approve <requestId>
openclaw devices reject <requestId>
```
### State Files
Under `~/.openclaw/devices/`:
- `pending.json` (temporary requests)
- `paired.json` (active devices with tokens)
**Note:** A legacy `node.pair.*` API exists separately for gateway-owned pairing.

View File

@@ -0,0 +1,54 @@
# Quick Start
OpenClaw is a communication gateway platform requiring Node 22+. The documentation index is available at https://docs.openclaw.ai/llms.txt.
## Installation Options
Users can install via npm or pnpm package managers with a single global command to get the latest version.
```bash
npm install -g openclaw@latest
```
## Initial Setup Process
The onboarding workflow involves three main steps:
1. Running the onboard command with daemon installation
2. Authenticating WhatsApp integration through the channels login
3. Launching the Gateway service on a specified port (default: 18789)
```bash
openclaw onboard --install-daemon
openclaw channels login
openclaw gateway --port 18789 --verbose
```
The Gateway subsequently operates as a user service after initial setup, though manual execution remains possible.
## Development Installation
For contributors, the project can be cloned from GitHub, dependencies installed via pnpm, and the UI built locally before running onboarding commands.
```bash
git clone https://github.com/openclaw/openclaw.git
cd openclaw
pnpm install
pnpm ui:build
pnpm build
openclaw onboard --install-daemon
```
## Advanced Configuration
Multiple Gateway instances can run simultaneously by specifying different configuration paths and state directories as environment variables, each on distinct ports.
## Verification
Testing functionality requires an active Gateway and uses the message send command to deliver test communications to specified phone numbers.
```bash
openclaw message send --target +15555550123 --message "Hello from OpenClaw"
```
**Note:** Switching between npm and git installs later is easy through the doctor command to update service entry points.

View File

@@ -0,0 +1,46 @@
# Setup
## Overview
The documentation covers installation and configuration of OpenClaw, an agent system with multiple deployment options.
## Key Setup Strategies
### Configuration Storage
Personal settings live outside the repository in:
- `~/.openclaw/openclaw.json`
- `~/.openclaw/workspace`
This separation ensures updates don't overwrite customizations.
### Two Main Workflows
1. **Stable approach**: Install the macOS application, which manages the bundled Gateway automatically.
2. **Development approach**: Run the Gateway manually with `pnpm gateway:watch` for hot-reloading TypeScript changes, then connect the macOS app in Local mode.
## Prerequisites & Bootstrap
Requirements:
- Node >= 22
- pnpm
- Optionally Docker
Initial setup uses `openclaw setup` to bootstrap the workspace structure.
## Important File Locations
- **Credentials**: `~/.openclaw/credentials/`
- **Sessions**: `~/.openclaw/agents/<agentId>/sessions/`
- **Logs**: `/tmp/openclaw/`
The default Gateway WebSocket port is `ws://127.0.0.1:18789`.
## Linux Considerations
On Linux systems using systemd, the user service may stop on logout. The setup process attempts to enable lingering automatically, though manual configuration via the following command may be necessary for always-on systems:
```bash
sudo loginctl enable-linger $USER
```

View File

@@ -0,0 +1,241 @@
# Showcase
> Real-world OpenClaw projects from the community
Real projects from the community. See what people are building with OpenClaw.
**Want to be featured?** Share your project in [#showcase on Discord](https://discord.gg/clawd) or [tag @openclaw on X](https://x.com/openclaw).
## OpenClaw in Action
Full setup walkthrough (28m) by VelvetShark.
- [Watch on YouTube](https://www.youtube.com/watch?v=SaWSPZoPX34)
- [Watch on YouTube](https://www.youtube.com/watch?v=mMSKQvlmFuQ)
- [Watch on YouTube](https://www.youtube.com/watch?v=5kkIJNUGFho)
## Fresh from Discord
### PR Review to Telegram Feedback
**@bangnokia** - `review` `github` `telegram`
"OpenCode finishes the change, opens a PR, OpenClaw reviews the diff and replies in Telegram with minor suggestions plus a clear merge verdict"
### Wine Cellar Skill in Minutes
**@prades_maxime** - `skills` `local` `csv`
"Asked Robby for a local wine cellar skill. It requests a sample CSV export + where to store it, then builds/tests the skill fast (962 bottles in example)."
### Tesco Shop Autopilot
**@marchattonhere** - `automation` `browser` `shopping`
"Weekly meal plan, regulars, book delivery slot, confirm order. No APIs, just browser control."
### SNAG Screenshot-to-Markdown
**@am-will** - `devtools` `screenshots` `markdown`
"Hotkey a screen region, Gemini vision, instant Markdown in your clipboard."
### Agents UI
**@kitze** - `ui` `skills` `sync`
"Desktop app to manage skills/commands across Agents, Claude, Codex, and OpenClaw."
### Telegram Voice Notes (papla.media)
**Community** - `voice` `tts` `telegram`
"Wraps papla.media TTS and sends results as Telegram voice notes (no annoying autoplay)."
### CodexMonitor
**@odrobnik** - `devtools` `codex` `brew`
"Homebrew-installed helper to list/inspect/watch local OpenAI Codex sessions (CLI + VS Code)."
### Bambu 3D Printer Control
**@tobiasbischoff** - `hardware` `3d-printing` `skill`
"Control and troubleshoot BambuLab printers: status, jobs, camera, AMS, calibration, and more."
### Vienna Transport (Wiener Linien)
**@hjanuschka** - `travel` `transport` `skill`
"Real-time departures, disruptions, elevator status, and routing for Vienna's public transport."
### ParentPay School Meals
**@George5562** - `automation` `browser` `parenting`
"Automated UK school meal booking via ParentPay. Uses mouse coordinates for reliable table cell clicking."
### R2 Upload (Send Me My Files)
**@julianengel** - `files` `r2` `presigned-urls`
"Upload to Cloudflare R2/S3 and generate secure presigned download links. Perfect for remote OpenClaw instances."
### iOS App via Telegram
**@coard** - `ios` `xcode` `testflight`
"Built a complete iOS app with maps and voice recording, deployed to TestFlight entirely via Telegram chat."
### Oura Ring Health Assistant
**@AS** - `health` `oura` `calendar`
"Personal AI health assistant integrating Oura ring data with calendar, appointments, and gym schedule."
### Kev's Dream Team (14+ Agents)
**@adam91holt** - `multi-agent` `orchestration` `architecture` `manifesto`
"14+ agents under one gateway with Opus 4.5 orchestrator delegating to Codex workers. Comprehensive technical write-up."
### Linear CLI
**@NessZerra** - `devtools` `linear` `cli` `issues`
"CLI for Linear that integrates with agentic workflows (Claude Code, OpenClaw). Manage issues, projects, workflows from terminal."
### Beeper CLI
**@jules** - `messaging` `beeper` `cli` `automation`
"Read, send, and archive messages via Beeper Desktop. Uses Beeper local MCP API so agents can manage all your chats."
## Automation & Workflows
### Winix Air Purifier Control
**@antonplex** - `automation` `hardware` `air-quality`
"Claude Code discovered and confirmed the purifier controls, then OpenClaw takes over to manage room air quality."
### Pretty Sky Camera Shots
**@signalgaining** - `automation` `camera` `skill` `images`
"Triggered by a roof camera: ask OpenClaw to snap a sky photo whenever it looks pretty."
### Visual Morning Briefing Scene
**@buddyhadry** - `automation` `briefing` `images` `telegram`
"A scheduled prompt generates a single scene image each morning (weather, tasks, date, favorite post/quote)."
### Padel Court Booking
**@joshp123** - `automation` `booking` `cli`
"Playtomic availability checker + booking CLI. Never miss an open court again."
### Accounting Intake
**Community** - `automation` `email` `pdf`
"Collects PDFs from email, preps documents for tax consultant. Monthly accounting on autopilot."
### Couch Potato Dev Mode
**@davekiss** - `telegram` `website` `migration` `astro`
"Rebuilt entire personal site via Telegram while watching Netflix — Notion to Astro, 18 posts migrated."
### Job Search Agent
**@attol8** - `automation` `api` `skill`
"Searches job listings, matches against CV keywords, and returns relevant opportunities with links."
### Jira Skill Builder
**@jdrhyne** - `automation` `jira` `skill` `devtools`
"OpenClaw connected to Jira, then generated a new skill on the fly (before it existed on ClawHub)."
### Todoist Skill via Telegram
**@iamsubhrajyoti** - `automation` `todoist` `skill` `telegram`
"Automated Todoist tasks and had OpenClaw generate the skill directly in Telegram chat."
### TradingView Analysis
**@bheem1798** - `finance` `browser` `automation`
"Logs into TradingView via browser automation, screenshots charts, and performs technical analysis on demand."
### Slack Auto-Support
**@henrymascot** - `slack` `automation` `support`
"Watches company Slack channel, responds helpfully, and forwards notifications to Telegram. Autonomously fixed a production bug."
## Knowledge & Memory
### xuezh Chinese Learning
**@joshp123** - `learning` `voice` `skill`
"Chinese learning engine with pronunciation feedback and study flows via OpenClaw."
### WhatsApp Memory Vault
**Community** - `memory` `transcription` `indexing`
"Ingests full WhatsApp exports, transcribes 1k+ voice notes, cross-checks with git logs, outputs linked markdown reports."
### Karakeep Semantic Search
**@jamesbrooksco** - `search` `vector` `bookmarks`
"Adds vector search to Karakeep bookmarks using Qdrant + OpenAI/Ollama embeddings."
### Inside-Out-2 Memory
**Community** - `memory` `beliefs` `self-model`
"Separate memory manager that turns session files into memories, beliefs, and an evolving self model."
## Voice & Phone
### Clawdia Phone Bridge
**@alejandroOPI** - `voice` `vapi` `bridge`
"Vapi voice assistant to OpenClaw HTTP bridge. Near real-time phone calls with your agent."
### OpenRouter Transcription
**@obviyus** - `transcription` `multilingual` `skill`
"Multi-lingual audio transcription via OpenRouter (Gemini, etc). Available on ClawHub."
## Infrastructure & Deployment
### Home Assistant Add-on
**@ngutman** - `homeassistant` `docker` `raspberry-pi`
"OpenClaw gateway running on Home Assistant OS with SSH tunnel support and persistent state."
### Home Assistant Skill
**ClawHub** - `homeassistant` `skill` `automation`
"Control and automate Home Assistant devices via natural language."
### Nix Packaging
**@openclaw** - `nix` `packaging` `deployment`
"Batteries-included nixified OpenClaw configuration for reproducible deployments."
### CalDAV Calendar
**ClawHub** - `calendar` `caldav` `skill`
"Calendar skill using khal/vdirsyncer. Self-hosted calendar integration."
## Home & Hardware
### GoHome Automation
**@joshp123** - `home` `nix` `grafana`
"Nix-native home automation with OpenClaw as the interface, plus beautiful Grafana dashboards."
### Roborock Vacuum
**@joshp123** - `vacuum` `iot` `plugin`
"Control your Roborock robot vacuum through natural conversation."
## Community Projects
### StarSwap Marketplace
**Community** - `marketplace` `astronomy` `webapp`
"Full astronomy gear marketplace. Built with/around the OpenClaw ecosystem."
---
## Submit Your Project
Have something to share? We'd love to feature it!
**Share It:** Post in [#showcase on Discord](https://discord.gg/clawd) or [tweet @openclaw](https://x.com/openclaw)
**Include Details:** Tell us what it does, link to the repo/demo, share a screenshot if you have one
**Get Featured:** We'll add standout projects to this page

View File

@@ -0,0 +1,343 @@
# Onboarding Wizard
# Onboarding Wizard (CLI)
The onboarding wizard is the **recommended** way to set up OpenClaw on macOS,
Linux, or Windows (via WSL2; strongly recommended).
It configures a local Gateway or a remote Gateway connection, plus channels, skills,
and workspace defaults in one guided flow.
Primary entrypoint:
```bash
openclaw onboard
```
Fastest first chat: open the Control UI (no channel setup needed). Run
`openclaw dashboard` and chat in the browser. Docs: [Dashboard](/web/dashboard).
Follow-up reconfiguration:
```bash
openclaw configure
```
Recommended: set up a Brave Search API key so the agent can use `web_search`
(`web_fetch` works without a key). Easiest path: `openclaw configure --section web`
which stores `tools.web.search.apiKey`. Docs: [Web tools](/tools/web).
## QuickStart vs Advanced
The wizard starts with **QuickStart** (defaults) vs **Advanced** (full control).
**QuickStart** keeps the defaults:
* Local gateway (loopback)
* Workspace default (or existing workspace)
* Gateway port **18789**
* Gateway auth **Token** (auto-generated, even on loopback)
* Tailscale exposure **Off**
* Telegram + WhatsApp DMs default to **allowlist** (you'll be prompted for your phone number)
**Advanced** exposes every step (mode, workspace, gateway, channels, daemon, skills).
## What the wizard does
**Local mode (default)** walks you through:
* Model/auth (OpenAI Code (Codex) subscription OAuth, Anthropic API key (recommended) or setup-token (paste), plus MiniMax/GLM/Moonshot/AI Gateway options)
* Workspace location + bootstrap files
* Gateway settings (port/bind/auth/tailscale)
* Providers (Telegram, WhatsApp, Discord, Google Chat, Mattermost (plugin), Signal)
* Daemon install (LaunchAgent / systemd user unit)
* Health check
* Skills (recommended)
**Remote mode** only configures the local client to connect to a Gateway elsewhere.
It does **not** install or change anything on the remote host.
To add more isolated agents (separate workspace + sessions + auth), use:
```bash
openclaw agents add <name>
```
Tip: `--json` does **not** imply non-interactive mode. Use `--non-interactive` (and `--workspace`) for scripts.
## Flow details (local)
1. **Existing config detection**
* If `~/.openclaw/openclaw.json` exists, choose **Keep / Modify / Reset**.
* Re-running the wizard does **not** wipe anything unless you explicitly choose **Reset**
(or pass `--reset`).
* If the config is invalid or contains legacy keys, the wizard stops and asks
you to run `openclaw doctor` before continuing.
* Reset uses `trash` (never `rm`) and offers scopes:
* Config only
* Config + credentials + sessions
* Full reset (also removes workspace)
2. **Model/Auth**
* **Anthropic API key (recommended)**: uses `ANTHROPIC_API_KEY` if present or prompts for a key, then saves it for daemon use.
* **Anthropic OAuth (Claude Code CLI)**: on macOS the wizard checks Keychain item "Claude Code-credentials" (choose "Always Allow" so launchd starts don't block); on Linux/Windows it reuses `~/.claude/.credentials.json` if present.
* **Anthropic token (paste setup-token)**: run `claude setup-token` on any machine, then paste the token (you can name it; blank = default).
* **OpenAI Code (Codex) subscription (Codex CLI)**: if `~/.codex/auth.json` exists, the wizard can reuse it.
* **OpenAI Code (Codex) subscription (OAuth)**: browser flow; paste the `code#state`.
* Sets `agents.defaults.model` to `openai-codex/gpt-5.2` when model is unset or `openai/*`.
* **OpenAI API key**: uses `OPENAI_API_KEY` if present or prompts for a key, then saves it to `~/.openclaw/.env` so launchd can read it.
* **OpenCode Zen (multi-model proxy)**: prompts for `OPENCODE_API_KEY` (or `OPENCODE_ZEN_API_KEY`, get it at [https://opencode.ai/auth](https://opencode.ai/auth)).
* **API key**: stores the key for you.
* **Vercel AI Gateway (multi-model proxy)**: prompts for `AI_GATEWAY_API_KEY`.
* More detail: [Vercel AI Gateway](/providers/vercel-ai-gateway)
* **Cloudflare AI Gateway**: prompts for Account ID, Gateway ID, and `CLOUDFLARE_AI_GATEWAY_API_KEY`.
* More detail: [Cloudflare AI Gateway](/providers/cloudflare-ai-gateway)
* **MiniMax M2.1**: config is auto-written.
* More detail: [MiniMax](/providers/minimax)
* **Synthetic (Anthropic-compatible)**: prompts for `SYNTHETIC_API_KEY`.
* More detail: [Synthetic](/providers/synthetic)
* **Moonshot (Kimi K2)**: config is auto-written.
* **Kimi Coding**: config is auto-written.
* More detail: [Moonshot AI (Kimi + Kimi Coding)](/providers/moonshot)
* **Skip**: no auth configured yet.
* Pick a default model from detected options (or enter provider/model manually).
* Wizard runs a model check and warns if the configured model is unknown or missing auth.
* OAuth credentials live in `~/.openclaw/credentials/oauth.json`; auth profiles live in `~/.openclaw/agents/<agentId>/agent/auth-profiles.json` (API keys + OAuth).
* More detail: [/concepts/oauth](/concepts/oauth)
3. **Workspace**
* Default `~/.openclaw/workspace` (configurable).
* Seeds the workspace files needed for the agent bootstrap ritual.
* Full workspace layout + backup guide: [Agent workspace](/concepts/agent-workspace)
4. **Gateway**
* Port, bind, auth mode, tailscale exposure.
* Auth recommendation: keep **Token** even for loopback so local WS clients must authenticate.
* Disable auth only if you fully trust every local process.
* Non-loopback binds still require auth.
5. **Channels**
* [WhatsApp](/channels/whatsapp): optional QR login.
* [Telegram](/channels/telegram): bot token.
* [Discord](/channels/discord): bot token.
* [Google Chat](/channels/googlechat): service account JSON + webhook audience.
* [Mattermost](/channels/mattermost) (plugin): bot token + base URL.
* [Signal](/channels/signal): optional `signal-cli` install + account config.
* [BlueBubbles](/channels/bluebubbles): **recommended for iMessage**; server URL + password + webhook.
* [iMessage](/channels/imessage): legacy `imsg` CLI path + DB access.
* DM security: default is pairing. First DM sends a code; approve via `openclaw pairing approve <channel> <code>` or use allowlists.
6. **Daemon install**
* macOS: LaunchAgent
* Requires a logged-in user session; for headless, use a custom LaunchDaemon (not shipped).
* Linux (and Windows via WSL2): systemd user unit
* Wizard attempts to enable lingering via `loginctl enable-linger <user>` so the Gateway stays up after logout.
* May prompt for sudo (writes `/var/lib/systemd/linger`); it tries without sudo first.
* **Runtime selection:** Node (recommended; required for WhatsApp/Telegram). Bun is **not recommended**.
7. **Health check**
* Starts the Gateway (if needed) and runs `openclaw health`.
* Tip: `openclaw status --deep` adds gateway health probes to status output (requires a reachable gateway).
8. **Skills (recommended)**
* Reads the available skills and checks requirements.
* Lets you choose a node manager: **npm / pnpm** (bun not recommended).
* Installs optional dependencies (some use Homebrew on macOS).
9. **Finish**
* Summary + next steps, including iOS/Android/macOS apps for extra features.
* If no GUI is detected, the wizard prints SSH port-forward instructions for the Control UI instead of opening a browser.
* If the Control UI assets are missing, the wizard attempts to build them; fallback is `pnpm ui:build` (auto-installs UI deps).
## Remote mode
Remote mode configures a local client to connect to a Gateway elsewhere.
What you'll set:
* Remote Gateway URL (`ws://...`)
* Token if the remote Gateway requires auth (recommended)
Notes:
* No remote installs or daemon changes are performed.
* If the Gateway is loopback-only, use SSH tunneling or a tailnet.
* Discovery hints:
* macOS: Bonjour (`dns-sd`)
* Linux: Avahi (`avahi-browse`)
## Add another agent
Use `openclaw agents add <name>` to create a separate agent with its own workspace,
sessions, and auth profiles. Running without `--workspace` launches the wizard.
What it sets:
* `agents.list[].name`
* `agents.list[].workspace`
* `agents.list[].agentDir`
Notes:
* Default workspaces follow `~/.openclaw/workspace-<agentId>`.
* Add `bindings` to route inbound messages (the wizard can do this).
* Non-interactive flags: `--model`, `--agent-dir`, `--bind`, `--non-interactive`.
## Non-interactive mode
Use `--non-interactive` to automate or script onboarding:
```bash
openclaw onboard --non-interactive \
--mode local \
--auth-choice apiKey \
--anthropic-api-key "$ANTHROPIC_API_KEY" \
--gateway-port 18789 \
--gateway-bind loopback \
--install-daemon \
--daemon-runtime node \
--skip-skills
```
Add `--json` for a machine-readable summary.
Gemini example:
```bash
openclaw onboard --non-interactive \
--mode local \
--auth-choice gemini-api-key \
--gemini-api-key "$GEMINI_API_KEY" \
--gateway-port 18789 \
--gateway-bind loopback
```
Z.AI example:
```bash
openclaw onboard --non-interactive \
--mode local \
--auth-choice zai-api-key \
--zai-api-key "$ZAI_API_KEY" \
--gateway-port 18789 \
--gateway-bind loopback
```
Vercel AI Gateway example:
```bash
openclaw onboard --non-interactive \
--mode local \
--auth-choice ai-gateway-api-key \
--ai-gateway-api-key "$AI_GATEWAY_API_KEY" \
--gateway-port 18789 \
--gateway-bind loopback
```
Cloudflare AI Gateway example:
```bash
openclaw onboard --non-interactive \
--mode local \
--auth-choice cloudflare-ai-gateway-api-key \
--cloudflare-ai-gateway-account-id "your-account-id" \
--cloudflare-ai-gateway-gateway-id "your-gateway-id" \
--cloudflare-ai-gateway-api-key "$CLOUDFLARE_AI_GATEWAY_API_KEY" \
--gateway-port 18789 \
--gateway-bind loopback
```
Moonshot example:
```bash
openclaw onboard --non-interactive \
--mode local \
--auth-choice moonshot-api-key \
--moonshot-api-key "$MOONSHOT_API_KEY" \
--gateway-port 18789 \
--gateway-bind loopback
```
Synthetic example:
```bash
openclaw onboard --non-interactive \
--mode local \
--auth-choice synthetic-api-key \
--synthetic-api-key "$SYNTHETIC_API_KEY" \
--gateway-port 18789 \
--gateway-bind loopback
```
OpenCode Zen example:
```bash
openclaw onboard --non-interactive \
--mode local \
--auth-choice opencode-zen \
--opencode-zen-api-key "$OPENCODE_API_KEY" \
--gateway-port 18789 \
--gateway-bind loopback
```
Add agent (non-interactive) example:
```bash
openclaw agents add work \
--workspace ~/.openclaw/workspace-work \
--model openai/gpt-5.2 \
--bind whatsapp:biz \
--non-interactive \
--json
```
## Gateway wizard RPC
The Gateway exposes the wizard flow over RPC (`wizard.start`, `wizard.next`, `wizard.cancel`, `wizard.status`).
Clients (macOS app, Control UI) can render steps without re-implementing onboarding logic.
## Signal setup (signal-cli)
The wizard can install `signal-cli` from GitHub releases:
* Downloads the appropriate release asset.
* Stores it under `~/.openclaw/tools/signal-cli/<version>/`.
* Writes `channels.signal.cliPath` to your config.
Notes:
* JVM builds require **Java 21**.
* Native builds are used when available.
* Windows uses WSL2; signal-cli install follows the Linux flow inside WSL.
## What the wizard writes
Typical fields in `~/.openclaw/openclaw.json`:
* `agents.defaults.workspace`
* `agents.defaults.model` / `models.providers` (if Minimax chosen)
* `gateway.*` (mode, bind, auth, tailscale)
* `channels.telegram.botToken`, `channels.discord.token`, `channels.signal.*`, `channels.imessage.*`
* Channel allowlists (Slack/Discord/Matrix/Microsoft Teams) when you opt in during the prompts (names resolve to IDs when possible).
* `skills.install.nodeManager`
* `wizard.lastRunAt`
* `wizard.lastRunVersion`
* `wizard.lastRunCommit`
* `wizard.lastRunCommand`
* `wizard.lastRunMode`
`openclaw agents add` writes `agents.list[]` and optional `bindings`.
WhatsApp credentials go under `~/.openclaw/credentials/whatsapp/<accountId>/`.
Sessions are stored under `~/.openclaw/agents/<agentId>/sessions/`.
Some channels are delivered as plugins. When you pick one during onboarding, the wizard
will prompt to install it (npm or a local path) before it can be configured.
## Related docs
* macOS app onboarding: [Onboarding](/start/onboarding)
* Config reference: [Gateway configuration](/gateway/configuration)
* Providers: [WhatsApp](/channels/whatsapp), [Telegram](/channels/telegram), [Discord](/channels/discord), [Google Chat](/channels/googlechat), [Signal](/channels/signal), [BlueBubbles](/channels/bluebubbles) (iMessage), [iMessage](/channels/imessage) (legacy)
* Skills: [Skills](/tools/skills), [Skills config](/tools/skills-config)