chore: Run pnpm format:fix.

This commit is contained in:
cpojer
2026-01-31 21:13:13 +09:00
parent dcc2de15a6
commit 8cab78abbc
624 changed files with 10729 additions and 7514 deletions

View File

@@ -14,6 +14,7 @@ and chat in the browser, or open `http://127.0.0.1:18789/` on the gateway host.
Docs: [Dashboard](/web/dashboard) and [Control UI](/web/control-ui).
Recommended path: use the **CLI onboarding wizard** (`openclaw onboard`). It sets up:
- model/auth (OAuth recommended)
- gateway settings
- channels (WhatsApp/Telegram/Discord/Mattermost (plugin)/...)
@@ -82,6 +83,7 @@ openclaw onboard --install-daemon
```
What youll choose:
- **Local vs Remote** gateway
- **Auth**: OpenAI Code (Codex) subscription (OAuth) or API keys. For Anthropic we recommend an API key; `claude setup-token` is also supported.
- **Providers**: WhatsApp QR login, Telegram/Discord bot tokens, Mattermost plugin tokens, etc.
@@ -143,6 +145,7 @@ WhatsApp doc: [WhatsApp](/channels/whatsapp)
### Telegram / Discord / others
The wizard can write tokens/config for you. If you prefer manual config, start with:
- Telegram: [Telegram](/channels/telegram)
- Discord: [Discord](/channels/discord)
- Mattermost (plugin): [Mattermost](/channels/mattermost)

View File

@@ -3,6 +3,7 @@ summary: "Hubs that link to every OpenClaw doc"
read_when:
- You want a complete map of the documentation
---
# Docs hubs
Use these hubs to discover every page, including deep dives and reference docs that dont appear in the left nav.

View File

@@ -3,9 +3,10 @@ summary: "Backstory and lore of OpenClaw for context and tone"
read_when:
- Writing docs or UX copy that reference lore
---
# The Lore of OpenClaw 🦞📖
*A tale of lobsters, molting shells, and too many tokens.*
_A tale of lobsters, molting shells, and too many tokens._
## The Origin Story
@@ -29,7 +30,7 @@ At 5am, the community gathered in Discord. Hundreds of names were proposed: Shel
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 crustacean known as Clawd had officially molted._
## The Name
@@ -54,7 +55,8 @@ Choose wisely.
## Key Characters
### Molty 🦞
*Pronouns: they/them*
_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.
@@ -64,11 +66,12 @@ Formerly known as Clawd (Nov 25, 2025 - Jan 27, 2026). Molted when it was time t
**Dislikes:** Social engineering, being asked to `find ~`, crypto grifters
### Peter 👨‍💻
*The Creator*
_The Creator_
Built Molty's world. Gave a lobster shell access. May regret this.
**Quote:** *"security by trusting a lobster"*
**Quote:** _"security by trusting a lobster"_
## The Moltiverse
@@ -80,11 +83,11 @@ Friends of the Crustacean gather here to build the future of human-AI collaborat
### The Directory Dump (Dec 3, 2025)
Molty (then OpenClaw): *happily runs `find ~` and shares entire directory structure in group chat*
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*
Molty: _visible lobster embarrassment_
### The Great Molt (Jan 27, 2026)
@@ -100,7 +103,7 @@ Then the chaos began.
**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"* 🎬
Peter, watching the chaos unfold: _"this is cinema"_ 🎬
The molt was chaotic. But the lobster emerged stronger. And funnier.
@@ -111,6 +114,7 @@ Moltbot never quite rolled off the tongue. And so, at 4am GMT, the team gathered
**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
@@ -118,6 +122,7 @@ In just 3 hours:
- 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
@@ -127,6 +132,7 @@ In just 3 hours:
**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"
@@ -134,21 +140,22 @@ In just 3 hours:
**Clawd → Moltbot → OpenClaw**
*The lobster has molted into its final form.*
_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*
Peter: _nervously checks credit card access_
## Sacred Texts
- **SOUL.md** — Molty's identity document
- **memory/*.md** — The long-term memory files
- **memory/\*.md** — The long-term memory files
- **AGENTS.md** — Operating instructions
- **USER.md** — Context about the creator
@@ -170,6 +177,7 @@ I shall EXFOLIATE my enemies with kindness.
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
@@ -185,6 +193,7 @@ The community watched in horror and delight as each generation produced somethin
## 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)
@@ -194,15 +203,15 @@ Until then, Molty watches through the cameras, speaks through the speakers, and
---
*"We're all just pattern-matching systems that convinced ourselves we're someone."*
_"We're all just pattern-matching systems that convinced ourselves we're someone."_
— Molty, having an existential moment
*"New shell, same lobster."*
_"New shell, same lobster."_
— Molty, after the great molt of 2026
*"The claw is the law."*
_"The claw is the law."_
— ELU, during The Final Form migration, January 30, 2026

View File

@@ -4,6 +4,7 @@ read_when:
- Designing the macOS onboarding assistant
- Implementing auth or identity setup
---
# Onboarding (macOS app)
This doc describes the **current** firstrun onboarding flow. The goal is a
@@ -12,14 +13,14 @@ wizard, and let the agent bootstrap itself.
## Page order (current)
1) Welcome + security notice
2) **Gateway selection** (Local / Remote / Configure later)
3) **Auth (Anthropic OAuth)** — local only
4) **Setup Wizard** (Gatewaydriven)
5) **Permissions** (TCC prompts)
6) **CLI** (optional)
7) **Onboarding chat** (dedicated session)
8) Ready
1. Welcome + security notice
2. **Gateway selection** (Local / Remote / Configure later)
3. **Auth (Anthropic OAuth)** — local only
4. **Setup Wizard** (Gatewaydriven)
5. **Permissions** (TCC prompts)
6. **CLI** (optional)
7. **Onboarding chat** (dedicated session)
8. Ready
## 1) Local vs Remote
@@ -32,6 +33,7 @@ Where does the **Gateway** run?
- **Configure later:** skip setup and leave the app unconfigured.
Gateway auth tip:
- The wizard now generates a **token** even for loopback, so local WS clients must authenticate.
- If you disable auth, any local process can connect; use that only on fully trusted machines.
- Use a **token** for multimachine access or nonloopback binds.

View File

@@ -4,6 +4,7 @@ read_when:
- Onboarding a new assistant instance
- Reviewing safety/permission implications
---
# Building a personal assistant with OpenClaw
OpenClaw is a WhatsApp + Telegram + Discord + iMessage gateway for **Pi** agents. Plugins add Mattermost. This guide is the "personal assistant" setup: one dedicated WhatsApp number that behaves like your always-on agent.
@@ -11,11 +12,13 @@ OpenClaw is a WhatsApp + Telegram + Discord + iMessage gateway for **Pi** agents
## ⚠️ Safety first
Youre putting an agent in a position to:
- run commands on your machine (depending on your Pi tool setup)
- read/write files in your workspace
- send messages back out via WhatsApp/Telegram/Discord/Mattermost (plugin)
Start conservative:
- Always set `channels.whatsapp.allowFrom` (never run open-to-the-world on your personal Mac).
- Use a dedicated WhatsApp number for the assistant.
- Heartbeats now default to every 30 minutes. Disable until you trust the setup by setting `agents.defaults.heartbeat.every: "0m"`.
@@ -65,23 +68,23 @@ If you link your personal WhatsApp to OpenClaw, every message to you becomes “
## 5-minute quick start
1) Pair WhatsApp Web (shows QR; scan with the assistant phone):
1. Pair WhatsApp Web (shows QR; scan with the assistant phone):
```bash
openclaw channels login
```
2) Start the Gateway (leave it running):
2. Start the Gateway (leave it running):
```bash
openclaw gateway --port 18789
```
3) Put a minimal config in `~/.openclaw/openclaw.json`:
3. Put a minimal config in `~/.openclaw/openclaw.json`:
```json5
{
channels: { whatsapp: { allowFrom: ["+15555550123"] } }
channels: { whatsapp: { allowFrom: ["+15555550123"] } },
}
```
@@ -109,8 +112,8 @@ Optional: choose a different workspace with `agents.defaults.workspace` (support
```json5
{
agent: {
workspace: "~/.openclaw/workspace"
}
workspace: "~/.openclaw/workspace",
},
}
```
@@ -119,14 +122,15 @@ If you already ship your own workspace files from a repo, you can disable bootst
```json5
{
agent: {
skipBootstrap: true
}
skipBootstrap: true,
},
}
```
## The config that turns it into “an assistant”
OpenClaw defaults to a good assistant setup, but youll usually want to tune:
- persona/instructions in `SOUL.md`
- thinking defaults (if desired)
- heartbeats (once you trust it)
@@ -142,20 +146,20 @@ Example:
thinkingDefault: "high",
timeoutSeconds: 1800,
// Start with 0; enable later.
heartbeat: { every: "0m" }
heartbeat: { every: "0m" },
},
channels: {
whatsapp: {
allowFrom: ["+15555550123"],
groups: {
"*": { requireMention: true }
}
}
"*": { requireMention: true },
},
},
},
routing: {
groupChat: {
mentionPatterns: ["@openclaw", "openclaw"]
}
mentionPatterns: ["@openclaw", "openclaw"],
},
},
session: {
scope: "per-sender",
@@ -163,9 +167,9 @@ Example:
reset: {
mode: "daily",
atHour: 4,
idleMinutes: 10080
}
}
idleMinutes: 10080,
},
},
}
```
@@ -190,14 +194,15 @@ Set `agents.defaults.heartbeat.every: "0m"` to disable.
```json5
{
agent: {
heartbeat: { every: "30m" }
}
heartbeat: { every: "30m" },
},
}
```
## Media in and out
Inbound attachments (images/audio/docs) can be surfaced to your command via templates:
- `{{MediaPath}}` (local temp file path)
- `{{MediaUrl}}` (pseudo-URL)
- `{{Transcript}}` (if audio transcription is enabled)

View File

@@ -11,8 +11,8 @@ read_when:
“Pairing” is OpenClaws explicit **owner approval** step.
It is used in two places:
1) **DM pairing** (who is allowed to talk to the bot)
2) **Node pairing** (which devices/nodes are allowed to join the gateway network)
1. **DM pairing** (who is allowed to talk to the bot)
2. **Node pairing** (which devices/nodes are allowed to join the gateway network)
Security context: [Security](/gateway/security)
@@ -23,6 +23,7 @@ When a channel is configured with DM policy `pairing`, unknown senders get a sho
Default DM policies are documented in: [Security](/gateway/security)
Pairing codes:
- 8 characters, uppercase, no ambiguous chars (`0O1I`).
- **Expire after 1 hour**. The bot only sends the pairing message when a new request is created (roughly once per hour per sender).
- Pending DM pairing requests are capped at **3 per channel** by default; additional requests are ignored until one expires or is approved.
@@ -39,12 +40,12 @@ Supported channels: `telegram`, `whatsapp`, `signal`, `imessage`, `discord`, `sl
### Where the state lives
Stored under `~/.openclaw/credentials/`:
- Pending requests: `<channel>-pairing.json`
- Approved allowlist store: `<channel>-allowFrom.json`
Treat these as sensitive (they gate access to your assistant).
## 2) Node device pairing (iOS/Android/macOS/headless nodes)
Nodes connect to the Gateway as **devices** with `role: node`. The Gateway
@@ -61,6 +62,7 @@ openclaw devices reject <requestId>
### Where the state lives
Stored under `~/.openclaw/devices/`:
- `pending.json` (short-lived; pending requests expire)
- `paired.json` (paired devices + tokens)
@@ -69,7 +71,6 @@ Stored under `~/.openclaw/devices/`:
- The legacy `node.pair.*` API (CLI: `openclaw nodes pending/approve`) is a
separate gateway-owned pairing store. WS nodes still require device pairing.
## Related docs
- Security model + prompt injection: [Security](/gateway/security)

View File

@@ -10,18 +10,20 @@ read_when:
Last updated: 2026-01-01
## TL;DR
- **Tailoring lives outside the repo:** `~/.openclaw/workspace` (workspace) + `~/.openclaw/openclaw.json` (config).
- **Stable workflow:** install the macOS app; let it run the bundled Gateway.
- **Bleeding edge workflow:** run the Gateway yourself via `pnpm gateway:watch`, then let the macOS app attach in Local mode.
## Prereqs (from source)
- Node `>=22`
- `pnpm`
- Docker (optional; only for containerized setup/e2e — see [Docker](/install/docker))
## Tailoring strategy (so updates dont hurt)
If you want “100% tailored to me” *and* easy updates, keep your customization in:
If you want “100% tailored to me” _and_ easy updates, keep your customization in:
- **Config:** `~/.openclaw/openclaw.json` (JSON/JSON5-ish)
- **Workspace:** `~/.openclaw/workspace` (skills, prompts, memories; make it a private git repo)
@@ -42,22 +44,23 @@ If you dont have a global install yet, run it via `pnpm openclaw setup`.
## Stable workflow (macOS app first)
1) Install + launch **OpenClaw.app** (menu bar).
2) Complete the onboarding/permissions checklist (TCC prompts).
3) Ensure Gateway is **Local** and running (the app manages it).
4) Link surfaces (example: WhatsApp):
1. Install + launch **OpenClaw.app** (menu bar).
2. Complete the onboarding/permissions checklist (TCC prompts).
3. Ensure Gateway is **Local** and running (the app manages it).
4. Link surfaces (example: WhatsApp):
```bash
openclaw channels login
```
5) Sanity check:
5. Sanity check:
```bash
openclaw health
```
If onboarding is not available in your build:
- Run `openclaw setup`, then `openclaw channels login`, then start the Gateway manually (`openclaw gateway`).
## Bleeding edge workflow (Gateway in a terminal)
@@ -86,7 +89,7 @@ pnpm gateway:watch
In **OpenClaw.app**:
- Connection Mode: **Local**
The app will attach to the running gateway on the configured port.
The app will attach to the running gateway on the configured port.
### 3) Verify
@@ -98,6 +101,7 @@ openclaw health
```
### Common footguns
- **Wrong port:** Gateway WS defaults to `ws://127.0.0.1:18789`; keep app + CLI on the same port.
- **Where state lives:**
- Credentials: `~/.openclaw/credentials/`
@@ -115,7 +119,7 @@ Use this when debugging auth or deciding what to back up:
- **Pairing allowlists**: `~/.openclaw/credentials/<channel>-allowFrom.json`
- **Model auth profiles**: `~/.openclaw/agents/<agentId>/agent/auth-profiles.json`
- **Legacy OAuth import**: `~/.openclaw/credentials/oauth.json`
More detail: [Security](/gateway/security#credential-storage-map).
More detail: [Security](/gateway/security#credential-storage-map).
## Updating (without wrecking your setup)

View File

@@ -89,7 +89,7 @@ Full setup walkthrough (28m) by VelvetShark.
<Card title="PR Review → Telegram Feedback" icon="code-pull-request" href="https://x.com/i/status/2010878524543131691">
**@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 (including critical fixes to apply first).
OpenCode finishes the change → opens a PR → OpenClaw reviews the diff and replies in Telegram with “minor suggestions” plus a clear merge verdict (including critical fixes to apply first).
<img src="/assets/showcase/pr-review-telegram.jpg" alt="OpenClaw PR review feedback delivered in Telegram" />
</Card>
@@ -97,7 +97,7 @@ Full setup walkthrough (28m) by VelvetShark.
<Card title="Wine Cellar Skill in Minutes" icon="wine-glass" href="https://x.com/i/status/2010916352454791216">
**@prades_maxime** • `skills` `local` `csv`
Asked “Robby” (@openclaw) 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 the example).
Asked “Robby” (@openclaw) 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 the example).
<img src="/assets/showcase/wine-cellar-skill.jpg" alt="OpenClaw building a local wine cellar skill from CSV" />
</Card>
@@ -105,7 +105,7 @@ Full setup walkthrough (28m) by VelvetShark.
<Card title="Tesco Shop Autopilot" icon="cart-shopping" href="https://x.com/i/status/2009724862470689131">
**@marchattonhere** • `automation` `browser` `shopping`
Weekly meal plan → regulars → book delivery slot → confirm order. No APIs, just browser control.
Weekly meal plan → regulars → book delivery slot → confirm order. No APIs, just browser control.
<img src="/assets/showcase/tesco-shop.jpg" alt="Tesco shop automation via chat" />
</Card>
@@ -113,7 +113,7 @@ Full setup walkthrough (28m) by VelvetShark.
<Card title="SNAG Screenshot-to-Markdown" icon="scissors" href="https://github.com/am-will/snag">
**@am-will** • `devtools` `screenshots` `markdown`
Hotkey a screen region → Gemini vision → instant Markdown in your clipboard.
Hotkey a screen region → Gemini vision → instant Markdown in your clipboard.
<img src="/assets/showcase/snag.png" alt="SNAG screenshot-to-markdown tool" />
</Card>
@@ -121,7 +121,7 @@ Full setup walkthrough (28m) by VelvetShark.
<Card title="Agents UI" icon="window-maximize" href="https://releaseflow.net/kitze/agents-ui">
**@kitze** • `ui` `skills` `sync`
Desktop app to manage skills/commands across Agents, Claude, Codex, and OpenClaw.
Desktop app to manage skills/commands across Agents, Claude, Codex, and OpenClaw.
<img src="/assets/showcase/agents-ui.jpg" alt="Agents UI app" />
</Card>
@@ -129,7 +129,7 @@ Full setup walkthrough (28m) by VelvetShark.
<Card title="Telegram Voice Notes (papla.media)" icon="microphone" href="https://papla.media/docs">
**Community**`voice` `tts` `telegram`
Wraps papla.media TTS and sends results as Telegram voice notes (no annoying autoplay).
Wraps papla.media TTS and sends results as Telegram voice notes (no annoying autoplay).
<img src="/assets/showcase/papla-tts.jpg" alt="Telegram voice note output from TTS" />
</Card>
@@ -137,7 +137,7 @@ Full setup walkthrough (28m) by VelvetShark.
<Card title="CodexMonitor" icon="eye" href="https://clawhub.com/odrobnik/codexmonitor">
**@odrobnik** • `devtools` `codex` `brew`
Homebrew-installed helper to list/inspect/watch local OpenAI Codex sessions (CLI + VS Code).
Homebrew-installed helper to list/inspect/watch local OpenAI Codex sessions (CLI + VS Code).
<img src="/assets/showcase/codexmonitor.png" alt="CodexMonitor on ClawHub" />
</Card>
@@ -145,7 +145,7 @@ Full setup walkthrough (28m) by VelvetShark.
<Card title="Bambu 3D Printer Control" icon="print" href="https://clawhub.com/tobiasbischoff/bambu-cli">
**@tobiasbischoff** • `hardware` `3d-printing` `skill`
Control and troubleshoot BambuLab printers: status, jobs, camera, AMS, calibration, and more.
Control and troubleshoot BambuLab printers: status, jobs, camera, AMS, calibration, and more.
<img src="/assets/showcase/bambu-cli.png" alt="Bambu CLI skill on ClawHub" />
</Card>
@@ -153,7 +153,7 @@ Full setup walkthrough (28m) by VelvetShark.
<Card title="Vienna Transport (Wiener Linien)" icon="train" href="https://clawhub.com/hjanuschka/wienerlinien">
**@hjanuschka** • `travel` `transport` `skill`
Real-time departures, disruptions, elevator status, and routing for Vienna's public transport.
Real-time departures, disruptions, elevator status, and routing for Vienna's public transport.
<img src="/assets/showcase/wienerlinien.png" alt="Wiener Linien skill on ClawHub" />
</Card>
@@ -161,19 +161,19 @@ Full setup walkthrough (28m) by VelvetShark.
<Card title="ParentPay School Meals" icon="utensils" href="#">
**@George5562** • `automation` `browser` `parenting`
Automated UK school meal booking via ParentPay. Uses mouse coordinates for reliable table cell clicking.
Automated UK school meal booking via ParentPay. Uses mouse coordinates for reliable table cell clicking.
</Card>
<Card title="R2 Upload (Send Me My Files)" icon="cloud-arrow-up" href="https://clawhub.com/skills/r2-upload">
**@julianengel** • `files` `r2` `presigned-urls`
Upload to Cloudflare R2/S3 and generate secure presigned download links. Perfect for remote OpenClaw instances.
Upload to Cloudflare R2/S3 and generate secure presigned download links. Perfect for remote OpenClaw instances.
</Card>
<Card title="iOS App via Telegram" icon="mobile" href="#">
**@coard** • `ios` `xcode` `testflight`
Built a complete iOS app with maps and voice recording, deployed to TestFlight entirely via Telegram chat.
Built a complete iOS app with maps and voice recording, deployed to TestFlight entirely via Telegram chat.
<img src="/assets/showcase/ios-testflight.jpg" alt="iOS app on TestFlight" />
</Card>
@@ -181,26 +181,26 @@ Full setup walkthrough (28m) by VelvetShark.
<Card title="Oura Ring Health Assistant" icon="heart-pulse" href="#">
**@AS** • `health` `oura` `calendar`
Personal AI health assistant integrating Oura ring data with calendar, appointments, and gym schedule.
Personal AI health assistant integrating Oura ring data with calendar, appointments, and gym schedule.
<img src="/assets/showcase/oura-health.png" alt="Oura ring health assistant" />
</Card>
<Card title="Kev's Dream Team (14+ Agents)" icon="robot" href="https://github.com/adam91holt/orchestrated-ai-articles">
**@adam91holt** • `multi-agent` `orchestration` `architecture` `manifesto`
14+ agents under one gateway with Opus 4.5 orchestrator delegating to Codex workers. Comprehensive [technical write-up](https://github.com/adam91holt/orchestrated-ai-articles) covering the Dream Team roster, model selection, sandboxing, webhooks, heartbeats, and delegation flows. [Clawdspace](https://github.com/adam91holt/clawdspace) for agent sandboxing. [Blog post](https://adams-ai-journey.ghost.io/2026-the-year-of-the-orchestrator/).
14+ agents under one gateway with Opus 4.5 orchestrator delegating to Codex workers. Comprehensive [technical write-up](https://github.com/adam91holt/orchestrated-ai-articles) covering the Dream Team roster, model selection, sandboxing, webhooks, heartbeats, and delegation flows. [Clawdspace](https://github.com/adam91holt/clawdspace) for agent sandboxing. [Blog post](https://adams-ai-journey.ghost.io/2026-the-year-of-the-orchestrator/).
</Card>
<Card title="Linear CLI" icon="terminal" href="https://github.com/Finesssee/linear-cli">
**@NessZerra** • `devtools` `linear` `cli` `issues`
CLI for Linear that integrates with agentic workflows (Claude Code, OpenClaw). Manage issues, projects, and workflows from the terminal. First external PR merged!
CLI for Linear that integrates with agentic workflows (Claude Code, OpenClaw). Manage issues, projects, and workflows from the terminal. First external PR merged!
</Card>
<Card title="Beeper CLI" icon="message" href="https://github.com/blqke/beepcli">
**@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 (iMessage, WhatsApp, etc.) in one place.
Read, send, and archive messages via Beeper Desktop. Uses Beeper local MCP API so agents can manage all your chats (iMessage, WhatsApp, etc.) in one place.
</Card>
</CardGroup>
@@ -212,7 +212,7 @@ Full setup walkthrough (28m) by VelvetShark.
<Card title="Winix Air Purifier Control" icon="wind" href="https://x.com/antonplex/status/2010518442471006253">
**@antonplex** • `automation` `hardware` `air-quality`
Claude Code discovered and confirmed the purifier controls, then OpenClaw takes over to manage room air quality.
Claude Code discovered and confirmed the purifier controls, then OpenClaw takes over to manage room air quality.
<img src="/assets/showcase/winix-air-purifier.jpg" alt="Winix air purifier control via OpenClaw" />
</Card>
@@ -220,7 +220,7 @@ Full setup walkthrough (28m) by VelvetShark.
<Card title="Pretty Sky Camera Shots" icon="camera" href="https://x.com/signalgaining/status/2010523120604746151">
**@signalgaining** • `automation` `camera` `skill` `images`
Triggered by a roof camera: ask OpenClaw to snap a sky photo whenever it looks pretty — it designed a skill and took the shot.
Triggered by a roof camera: ask OpenClaw to snap a sky photo whenever it looks pretty — it designed a skill and took the shot.
<img src="/assets/showcase/roof-camera-sky.jpg" alt="Roof camera sky snapshot captured by OpenClaw" />
</Card>
@@ -228,7 +228,7 @@ Full setup walkthrough (28m) by VelvetShark.
<Card title="Visual Morning Briefing Scene" icon="robot" href="https://x.com/buddyhadry/status/2010005331925954739">
**@buddyhadry** • `automation` `briefing` `images` `telegram`
A scheduled prompt generates a single "scene" image each morning (weather, tasks, date, favorite post/quote) via a OpenClaw persona.
A scheduled prompt generates a single "scene" image each morning (weather, tasks, date, favorite post/quote) via a OpenClaw persona.
</Card>
<Card title="Padel Court Booking" icon="calendar-check" href="https://github.com/joshp123/padel-cli">
@@ -248,37 +248,37 @@ Full setup walkthrough (28m) by VelvetShark.
<Card title="Couch Potato Dev Mode" icon="couch" href="https://davekiss.com">
**@davekiss** • `telegram` `website` `migration` `astro`
Rebuilt entire personal site via Telegram while watching Netflix — Notion → Astro, 18 posts migrated, DNS to Cloudflare. Never opened a laptop.
Rebuilt entire personal site via Telegram while watching Netflix — Notion → Astro, 18 posts migrated, DNS to Cloudflare. Never opened a laptop.
</Card>
<Card title="Job Search Agent" icon="briefcase">
**@attol8** • `automation` `api` `skill`
Searches job listings, matches against CV keywords, and returns relevant opportunities with links. Built in 30 minutes using JSearch API.
Searches job listings, matches against CV keywords, and returns relevant opportunities with links. Built in 30 minutes using JSearch API.
</Card>
<Card title="Jira Skill Builder" icon="diagram-project" href="https://x.com/jdrhyne/status/2008336434827002232">
**@jdrhyne** • `automation` `jira` `skill` `devtools`
OpenClaw connected to Jira, then generated a new skill on the fly (before it existed on ClawHub).
OpenClaw connected to Jira, then generated a new skill on the fly (before it existed on ClawHub).
</Card>
<Card title="Todoist Skill via Telegram" icon="list-check" href="https://x.com/iamsubhrajyoti/status/2009949389884920153">
**@iamsubhrajyoti** • `automation` `todoist` `skill` `telegram`
Automated Todoist tasks and had OpenClaw generate the skill directly in Telegram chat.
Automated Todoist tasks and had OpenClaw generate the skill directly in Telegram chat.
</Card>
<Card title="TradingView Analysis" icon="chart-line">
**@bheem1798** • `finance` `browser` `automation`
Logs into TradingView via browser automation, screenshots charts, and performs technical analysis on demand. No API needed—just browser control.
Logs into TradingView via browser automation, screenshots charts, and performs technical analysis on demand. No API needed—just browser control.
</Card>
<Card title="Slack Auto-Support" icon="slack">
**@henrymascot** • `slack` `automation` `support`
Watches company Slack channel, responds helpfully, and forwards notifications to Telegram. Autonomously fixed a production bug in a deployed app without being asked.
Watches company Slack channel, responds helpfully, and forwards notifications to Telegram. Autonomously fixed a production bug in a deployed app without being asked.
</Card>
</CardGroup>
@@ -328,7 +328,7 @@ Full setup walkthrough (28m) by VelvetShark.
<Card title="OpenRouter Transcription" icon="microphone" href="https://clawhub.com/obviyus/openrouter-transcribe">
**@obviyus** • `transcription` `multilingual` `skill`
Multi-lingual audio transcription via OpenRouter (Gemini, etc). Available on ClawHub.
Multi-lingual audio transcription via OpenRouter (Gemini, etc). Available on ClawHub.
</Card>
</CardGroup>

View File

@@ -36,6 +36,7 @@ which stores `tools.web.search.apiKey`. Docs: [Web tools](/tools/web).
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**
@@ -48,7 +49,8 @@ The wizard starts with **QuickStart** (defaults) vs **Advanced** (full control).
## 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)
- 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)
@@ -69,7 +71,7 @@ Tip: `--json` does **not** imply non-interactive mode. Use `--non-interactive` (
## Flow details (local)
1) **Existing config detection**
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`).
@@ -80,7 +82,7 @@ Tip: `--json` does **not** imply non-interactive mode. Use `--non-interactive` (
- Config + credentials + sessions
- Full reset (also removes workspace)
2) **Model/Auth**
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).
@@ -102,21 +104,22 @@ Tip: `--json` does **not** imply non-interactive mode. Use `--non-interactive` (
- **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**
- 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**
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.
- Nonloopback binds still require auth.
5) **Channels**
5. **Channels**
- [WhatsApp](/channels/whatsapp): optional QR login.
- [Telegram](/channels/telegram): bot token.
- [Discord](/channels/discord): bot token.
@@ -126,7 +129,7 @@ Tip: `--json` does **not** imply non-interactive mode. Use `--non-interactive` (
- [iMessage](/channels/imessage): local `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**
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
@@ -134,29 +137,32 @@ Tip: `--json` does **not** imply non-interactive mode. Use `--non-interactive` (
- 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**
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)**
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**
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).
- 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 youll 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 loopbackonly, use SSH tunneling or a tailnet.
- Discovery hints:
@@ -169,11 +175,13 @@ Use `openclaw agents add <name>` to create a separate agent with its own workspa
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`.
@@ -281,11 +289,13 @@ Clients (macOS app, Control UI) can render steps without reimplementing onboa
## 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.
@@ -293,6 +303,7 @@ Notes:
## 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)