mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-19 00:47:27 +00:00
chore: Run pnpm format:fix.
This commit is contained in:
@@ -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 you’ll 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)
|
||||
|
||||
@@ -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 don’t appear in the left nav.
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ read_when:
|
||||
- Designing the macOS onboarding assistant
|
||||
- Implementing auth or identity setup
|
||||
---
|
||||
|
||||
# Onboarding (macOS app)
|
||||
|
||||
This doc describes the **current** first‑run 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** (Gateway‑driven)
|
||||
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** (Gateway‑driven)
|
||||
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 multi‑machine access or non‑loopback binds.
|
||||
|
||||
@@ -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
|
||||
|
||||
You’re 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 you’ll 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)
|
||||
|
||||
@@ -11,8 +11,8 @@ read_when:
|
||||
“Pairing” is OpenClaw’s 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)
|
||||
|
||||
@@ -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 don’t 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 don’t 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)
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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.
|
||||
- Non‑loopback 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 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:
|
||||
@@ -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 re‑implementing 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)
|
||||
|
||||
Reference in New Issue
Block a user