docs: restructure Get Started tab and improve onboarding flow (#9950)

* docs: restructure Get Started tab and improve onboarding flow

- Flatten nested Onboarding group into linear First Steps flow
- Add 'What is OpenClaw?' narrative section to landing page
- Split wizard.md into streamlined overview + full reference (reference/wizard.md)
- Move Pairing to Channels > Configuration
- Move Bootstrapping to Agents > Fundamentals
- Move macOS app onboarding to Platforms > macOS companion app
- Move Lore to Help > Community
- Remove duplicate install instructions from openclaw.md
- Mirror navigation changes in zh-CN tabs
- No content deleted — all detail preserved or relocated

* docs: move deployment pages to install/, fix Platforms tab routing, clarify onboarding paths

- Move deployment guides (fly, hetzner, gcp, macos-vm, exe-dev, railway, render,
  northflank) from platforms/ and root to install/
- Add 'Hosting and deployment' group to Install tab
- Slim Gateway & Ops 'Remote access and deployment' down to 'Remote access'
- Swap Platforms tab before Gateway & Ops to fix path-prefix routing
- Move macOS app onboarding into First steps (parallel to CLI wizard)
- Rename sidebar titles to 'Onboarding: CLI' / 'Onboarding: macOS App'
- Add redirects for all moved paths
- Update all internal links (en + zh-CN)
- Fix img tag syntax in onboarding.md
main
Seb Slight 2026-02-05 17:45:01 -05:00 committed by GitHub
parent 3299aeb904
commit c18452598a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
43 changed files with 567 additions and 249 deletions

BIN
docs/.DS_Store vendored Normal file

Binary file not shown.

View File

@ -723,20 +723,52 @@
"destination": "/plugin"
},
{
"source": "/install/railway",
"destination": "/railway"
"source": "/railway",
"destination": "/install/railway"
},
{
"source": "/install/northflank",
"destination": "/northflank"
"source": "/northflank",
"destination": "/install/northflank"
},
{
"source": "/install/northflank/",
"destination": "/northflank"
"source": "/render",
"destination": "/install/render"
},
{
"source": "/gcp",
"destination": "/platforms/gcp"
"destination": "/install/gcp"
},
{
"source": "/platforms/fly",
"destination": "/install/fly"
},
{
"source": "/platforms/hetzner",
"destination": "/install/hetzner"
},
{
"source": "/platforms/gcp",
"destination": "/install/gcp"
},
{
"source": "/platforms/macos-vm",
"destination": "/install/macos-vm"
},
{
"source": "/platforms/exe-dev",
"destination": "/install/exe-dev"
},
{
"source": "/platforms/railway",
"destination": "/install/railway"
},
{
"source": "/platforms/render",
"destination": "/install/render"
},
{
"source": "/platforms/northflank",
"destination": "/install/northflank"
}
],
"navigation": {
@ -749,35 +781,14 @@
"groups": [
{
"group": "Overview",
"pages": ["index", "concepts/features", "start/showcase", "start/lore"]
"pages": ["index", "concepts/features", "start/showcase"]
},
{
"group": "First run",
"pages": [
"start/getting-started",
{
"group": "Onboarding",
"pages": [
{
"group": "CLI onboarding",
"pages": [
"start/wizard",
"start/wizard-cli-reference",
"start/wizard-cli-automation"
]
},
{
"group": "macOS onboarding",
"pages": ["start/onboarding"]
}
]
},
"start/bootstrapping",
"start/pairing"
]
"group": "First steps",
"pages": ["start/getting-started", "start/wizard", "start/onboarding"]
},
{
"group": "Use cases",
"group": "Guides",
"pages": ["start/openclaw"]
}
]
@ -803,6 +814,19 @@
"group": "Maintenance",
"pages": ["install/updating", "install/migrating", "install/uninstall"]
},
{
"group": "Hosting and deployment",
"pages": [
"install/fly",
"install/hetzner",
"install/gcp",
"install/macos-vm",
"install/exe-dev",
"install/railway",
"install/render",
"install/northflank"
]
},
{
"group": "Advanced",
"pages": ["install/development-channels"]
@ -839,6 +863,7 @@
{
"group": "Configuration",
"pages": [
"start/pairing",
"concepts/group-messages",
"concepts/groups",
"broadcast-groups",
@ -861,6 +886,7 @@
"concepts/system-prompt",
"concepts/context",
"concepts/agent-workspace",
"start/bootstrapping",
"concepts/oauth"
]
},
@ -991,6 +1017,45 @@
}
]
},
{
"tab": "Platforms",
"groups": [
{
"group": "Platforms overview",
"pages": [
"platforms/index",
"platforms/macos",
"platforms/linux",
"platforms/windows",
"platforms/android",
"platforms/ios"
]
},
{
"group": "macOS companion app",
"pages": [
"platforms/mac/dev-setup",
"platforms/mac/menu-bar",
"platforms/mac/voicewake",
"platforms/mac/voice-overlay",
"platforms/mac/webchat",
"platforms/mac/canvas",
"platforms/mac/child-process",
"platforms/mac/health",
"platforms/mac/icon",
"platforms/mac/logging",
"platforms/mac/permissions",
"platforms/mac/remote",
"platforms/mac/signing",
"platforms/mac/release",
"platforms/mac/bundled-gateway",
"platforms/mac/xpc",
"platforms/mac/skills",
"platforms/mac/peekaboo"
]
}
]
},
{
"tab": "Gateway & Ops",
"groups": [
@ -1045,20 +1110,8 @@
]
},
{
"group": "Remote access and deployment",
"pages": [
"gateway/remote",
"gateway/remote-gateway-readme",
"gateway/tailscale",
"platforms/fly",
"platforms/hetzner",
"platforms/gcp",
"platforms/macos-vm",
"platforms/exe-dev",
"railway",
"render",
"northflank"
]
"group": "Remote access",
"pages": ["gateway/remote", "gateway/remote-gateway-readme", "gateway/tailscale"]
},
{
"group": "Security",
@ -1070,45 +1123,6 @@
}
]
},
{
"tab": "Platforms",
"groups": [
{
"group": "Platforms overview",
"pages": [
"platforms/index",
"platforms/macos",
"platforms/linux",
"platforms/windows",
"platforms/android",
"platforms/ios"
]
},
{
"group": "macOS companion app",
"pages": [
"platforms/mac/dev-setup",
"platforms/mac/menu-bar",
"platforms/mac/voicewake",
"platforms/mac/voice-overlay",
"platforms/mac/webchat",
"platforms/mac/canvas",
"platforms/mac/child-process",
"platforms/mac/health",
"platforms/mac/icon",
"platforms/mac/logging",
"platforms/mac/permissions",
"platforms/mac/remote",
"platforms/mac/signing",
"platforms/mac/release",
"platforms/mac/bundled-gateway",
"platforms/mac/xpc",
"platforms/mac/skills",
"platforms/mac/peekaboo"
]
}
]
},
{
"tab": "Reference",
"groups": [
@ -1174,6 +1188,7 @@
{
"group": "Technical reference",
"pages": [
"reference/wizard",
"concepts/typebox",
"concepts/markdown-formatting",
"concepts/typing-indicators",
@ -1199,6 +1214,10 @@
"group": "Help",
"pages": ["help/index", "help/troubleshooting", "help/faq"]
},
{
"group": "Community",
"pages": ["start/lore"]
},
{
"group": "Environment and debugging",
"pages": [
@ -1229,26 +1248,18 @@
"groups": [
{
"group": "概览",
"pages": [
"zh-CN/index",
"zh-CN/concepts/features",
"zh-CN/start/showcase",
"zh-CN/start/lore"
]
"pages": ["zh-CN/index", "zh-CN/concepts/features", "zh-CN/start/showcase"]
},
{
"group": "首次运行",
"group": "第一步",
"pages": [
"zh-CN/start/getting-started",
{
"group": "新手引导",
"pages": ["zh-CN/start/wizard", "zh-CN/start/onboarding"]
},
"zh-CN/start/pairing"
"zh-CN/start/wizard",
"zh-CN/start/onboarding"
]
},
{
"group": "使用场景",
"group": "指南",
"pages": ["zh-CN/start/openclaw"]
}
]
@ -1278,6 +1289,19 @@
"zh-CN/install/uninstall"
]
},
{
"group": "托管与部署",
"pages": [
"zh-CN/install/fly",
"zh-CN/install/hetzner",
"zh-CN/install/gcp",
"zh-CN/install/macos-vm",
"zh-CN/install/exe-dev",
"zh-CN/install/railway",
"zh-CN/install/render",
"zh-CN/install/northflank"
]
},
{
"group": "高级",
"pages": ["zh-CN/install/development-channels"]
@ -1314,6 +1338,7 @@
{
"group": "配置",
"pages": [
"zh-CN/start/pairing",
"zh-CN/concepts/group-messages",
"zh-CN/concepts/groups",
"zh-CN/broadcast-groups",
@ -1474,6 +1499,45 @@
}
]
},
{
"tab": "平台",
"groups": [
{
"group": "平台概览",
"pages": [
"zh-CN/platforms/index",
"zh-CN/platforms/macos",
"zh-CN/platforms/linux",
"zh-CN/platforms/windows",
"zh-CN/platforms/android",
"zh-CN/platforms/ios"
]
},
{
"group": "macOS 配套应用",
"pages": [
"zh-CN/platforms/mac/dev-setup",
"zh-CN/platforms/mac/menu-bar",
"zh-CN/platforms/mac/voicewake",
"zh-CN/platforms/mac/voice-overlay",
"zh-CN/platforms/mac/webchat",
"zh-CN/platforms/mac/canvas",
"zh-CN/platforms/mac/child-process",
"zh-CN/platforms/mac/health",
"zh-CN/platforms/mac/icon",
"zh-CN/platforms/mac/logging",
"zh-CN/platforms/mac/permissions",
"zh-CN/platforms/mac/remote",
"zh-CN/platforms/mac/signing",
"zh-CN/platforms/mac/release",
"zh-CN/platforms/mac/bundled-gateway",
"zh-CN/platforms/mac/xpc",
"zh-CN/platforms/mac/skills",
"zh-CN/platforms/mac/peekaboo"
]
}
]
},
{
"tab": "网关与运维",
"groups": [
@ -1528,19 +1592,11 @@
]
},
{
"group": "远程访问与部署",
"group": "远程访问",
"pages": [
"zh-CN/gateway/remote",
"zh-CN/gateway/remote-gateway-readme",
"zh-CN/gateway/tailscale",
"zh-CN/platforms/fly",
"zh-CN/platforms/hetzner",
"zh-CN/platforms/gcp",
"zh-CN/platforms/macos-vm",
"zh-CN/platforms/exe-dev",
"zh-CN/railway",
"zh-CN/render",
"zh-CN/northflank"
"zh-CN/gateway/tailscale"
]
},
{
@ -1559,45 +1615,6 @@
}
]
},
{
"tab": "平台",
"groups": [
{
"group": "平台概览",
"pages": [
"zh-CN/platforms/index",
"zh-CN/platforms/macos",
"zh-CN/platforms/linux",
"zh-CN/platforms/windows",
"zh-CN/platforms/android",
"zh-CN/platforms/ios"
]
},
{
"group": "macOS 配套应用",
"pages": [
"zh-CN/platforms/mac/dev-setup",
"zh-CN/platforms/mac/menu-bar",
"zh-CN/platforms/mac/voicewake",
"zh-CN/platforms/mac/voice-overlay",
"zh-CN/platforms/mac/webchat",
"zh-CN/platforms/mac/canvas",
"zh-CN/platforms/mac/child-process",
"zh-CN/platforms/mac/health",
"zh-CN/platforms/mac/icon",
"zh-CN/platforms/mac/logging",
"zh-CN/platforms/mac/permissions",
"zh-CN/platforms/mac/remote",
"zh-CN/platforms/mac/signing",
"zh-CN/platforms/mac/release",
"zh-CN/platforms/mac/bundled-gateway",
"zh-CN/platforms/mac/xpc",
"zh-CN/platforms/mac/skills",
"zh-CN/platforms/mac/peekaboo"
]
}
]
},
{
"tab": "参考",
"groups": [
@ -1688,6 +1705,10 @@
"group": "帮助",
"pages": ["zh-CN/help/index", "zh-CN/help/troubleshooting", "zh-CN/help/faq"]
},
{
"group": "社区",
"pages": ["zh-CN/start/lore"]
},
{
"group": "环境与调试",
"pages": [

View File

@ -28,7 +28,7 @@ Run the Gateway on a persistent host and reach it via **Tailscale** or SSH.
- **Best UX:** keep `gateway.bind: "loopback"` and use **Tailscale Serve** for the Control UI.
- **Fallback:** keep loopback + SSH tunnel from any machine that needs access.
- **Examples:** [exe.dev](/platforms/exe-dev) (easy VM) or [Hetzner](/platforms/hetzner) (production VPS).
- **Examples:** [exe.dev](/install/exe-dev) (easy VM) or [Hetzner](/install/hetzner) (production VPS).
This is ideal when your laptop sleeps often but you want the agent always-on.

View File

@ -591,7 +591,7 @@ Short answer: follow the Linux guide, then run the onboarding wizard.
Any Linux VPS works. Install on the server, then use SSH/Tailscale to reach the Gateway.
Guides: [exe.dev](/platforms/exe-dev), [Hetzner](/platforms/hetzner), [Fly.io](/platforms/fly).
Guides: [exe.dev](/install/exe-dev), [Hetzner](/install/hetzner), [Fly.io](/install/fly).
Remote access: [Gateway remote](/gateway/remote).
### Where are the cloudVPS install guides
@ -599,9 +599,9 @@ Remote access: [Gateway remote](/gateway/remote).
We keep a **hosting hub** with the common providers. Pick one and follow the guide:
- [VPS hosting](/vps) (all providers in one place)
- [Fly.io](/platforms/fly)
- [Hetzner](/platforms/hetzner)
- [exe.dev](/platforms/exe-dev)
- [Fly.io](/install/fly)
- [Hetzner](/install/hetzner)
- [exe.dev](/install/exe-dev)
How it works in the cloud: the **Gateway runs on the server**, and you access it
from your laptop/phone via the Control UI (or Tailscale/SSH). Your state + workspace
@ -910,7 +910,7 @@ Baseline guidance:
If you are on Windows, **WSL2 is the easiest VM style setup** and has the best tooling
compatibility. See [Windows](/platforms/windows), [VPS hosting](/vps).
If you are running macOS in a VM, see [macOS VM](/platforms/macos-vm).
If you are running macOS in a VM, see [macOS VM](/install/macos-vm).
## What is OpenClaw?

View File

@ -41,7 +41,20 @@ title: "OpenClaw"
</Card>
</Columns>
OpenClaw connects chat apps to coding agents like Pi through a single Gateway process. It powers the OpenClaw assistant and supports local or remote setups.
## What is OpenClaw?
OpenClaw is a **self-hosted gateway** that connects your favorite chat apps — WhatsApp, Telegram, Discord, iMessage, and more — to AI coding agents like Pi. You run a single Gateway process on your own machine (or a server), and it becomes the bridge between your messaging apps and an always-available AI assistant.
**Who is it for?** Developers and power users who want a personal AI assistant they can message from anywhere — without giving up control of their data or relying on a hosted service.
**What makes it different?**
- **Self-hosted**: runs on your hardware, your rules
- **Multi-channel**: one Gateway serves WhatsApp, Telegram, Discord, and more simultaneously
- **Agent-native**: built for coding agents with tool use, sessions, memory, and multi-agent routing
- **Open source**: MIT licensed, community-driven
**What do you need?** Node 22+, an API key (Anthropic recommended), and 5 minutes.
## How it works

View File

@ -63,7 +63,7 @@ It writes config/workspace on the host:
- `~/.openclaw/`
- `~/.openclaw/workspace`
Running on a VPS? See [Hetzner (Docker VPS)](/platforms/hetzner).
Running on a VPS? See [Hetzner (Docker VPS)](/install/hetzner).
### Manual flow (compose)

View File

@ -27,7 +27,7 @@ If you want a $0/month option and dont mind ARM + provider-specific setup, se
**Picking a provider:**
- DigitalOcean: simplest UX + predictable setup (this guide)
- Hetzner: good price/perf (see [Hetzner guide](/platforms/hetzner))
- Hetzner: good price/perf (see [Hetzner guide](/install/hetzner))
- Oracle Cloud: can be $0/month, but is more finicky and ARM-only (see [Oracle guide](/platforms/oracle))
---
@ -256,7 +256,7 @@ free -h
## See Also
- [Hetzner guide](/platforms/hetzner) — cheaper, more powerful
- [Hetzner guide](/install/hetzner) — cheaper, more powerful
- [Docker install](/install/docker) — containerized setup
- [Tailscale](/gateway/tailscale) — secure remote access
- [Configuration](/gateway/configuration) — full config reference

View File

@ -26,10 +26,10 @@ Native companion apps for Windows are also planned; the Gateway is recommended v
## VPS & hosting
- VPS hub: [VPS hosting](/vps)
- Fly.io: [Fly.io](/platforms/fly)
- Hetzner (Docker): [Hetzner](/platforms/hetzner)
- GCP (Compute Engine): [GCP](/platforms/gcp)
- exe.dev (VM + HTTPS proxy): [exe.dev](/platforms/exe-dev)
- Fly.io: [Fly.io](/install/fly)
- Hetzner (Docker): [Hetzner](/install/hetzner)
- GCP (Compute Engine): [GCP](/install/gcp)
- exe.dev (VM + HTTPS proxy): [exe.dev](/install/exe-dev)
## Common links

View File

@ -21,7 +21,7 @@ Native Linux companion apps are planned. Contributions are welcome if you want t
4. From your laptop: `ssh -N -L 18789:127.0.0.1:18789 <user>@<host>`
5. Open `http://127.0.0.1:18789/` and paste your token
Step-by-step VPS guide: [exe.dev](/platforms/exe-dev)
Step-by-step VPS guide: [exe.dev](/install/exe-dev)
## Install

View File

@ -300,4 +300,4 @@ tar -czvf openclaw-backup.tar.gz ~/.openclaw ~/.openclaw/workspace
- [Tailscale integration](/gateway/tailscale) — full Tailscale docs
- [Gateway configuration](/gateway/configuration) — all config options
- [DigitalOcean guide](/platforms/digitalocean) — if you want paid + easier signup
- [Hetzner guide](/platforms/hetzner) — Docker-based alternative
- [Hetzner guide](/install/hetzner) — Docker-based alternative

View File

@ -353,6 +353,6 @@ echo 'wireless-power off' | sudo tee -a /etc/network/interfaces
- [Linux guide](/platforms/linux) — general Linux setup
- [DigitalOcean guide](/platforms/digitalocean) — cloud alternative
- [Hetzner guide](/platforms/hetzner) — Docker setup
- [Hetzner guide](/install/hetzner) — Docker setup
- [Tailscale](/gateway/tailscale) — remote access
- [Nodes](/nodes) — pair your laptop/phone with the Pi gateway

BIN
docs/reference/.DS_Store vendored Normal file

Binary file not shown.

268
docs/reference/wizard.md Normal file
View File

@ -0,0 +1,268 @@
---
summary: "Full reference for the CLI onboarding wizard: every step, flag, and config field"
read_when:
- Looking up a specific wizard step or flag
- Automating onboarding with non-interactive mode
- Debugging wizard behavior
title: "Onboarding Wizard Reference"
sidebarTitle: "Wizard Reference"
---
# Onboarding Wizard Reference
This is the full reference for the `openclaw onboard` CLI wizard.
For a high-level overview, see [Onboarding Wizard](/start/wizard).
## Flow details (local mode)
<Steps>
<Step title="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)
</Step>
<Step title="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).
- **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)
<Note>
Headless/server tip: complete OAuth on a machine with a browser, then copy
`~/.openclaw/credentials/oauth.json` (or `$OPENCLAW_STATE_DIR/credentials/oauth.json`) to the
gateway host.
</Note>
</Step>
<Step title="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)
</Step>
<Step title="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.
</Step>
<Step title="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.
</Step>
<Step title="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**.
</Step>
<Step title="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).
</Step>
<Step title="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).
</Step>
<Step title="Finish">
- Summary + next steps, including iOS/Android/macOS apps for extra features.
</Step>
</Steps>
<Note>
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).
</Note>
## 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 machinereadable summary.
<Note>
`--json` does **not** imply non-interactive mode. Use `--non-interactive` (and `--workspace`) for scripts.
</Note>
<AccordionGroup>
<Accordion title="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
```
</Accordion>
<Accordion title="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
```
</Accordion>
<Accordion title="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
```
</Accordion>
<Accordion title="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
```
</Accordion>
<Accordion title="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
```
</Accordion>
<Accordion title="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
```
</Accordion>
<Accordion title="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
```
</Accordion>
</AccordionGroup>
### Add agent (non-interactive)
```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 reimplementing 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
- Wizard overview: [Onboarding Wizard](/start/wizard)
- 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)

View File

@ -4,7 +4,7 @@ read_when:
- Designing the macOS onboarding assistant
- Implementing auth or identity setup
title: "Onboarding (macOS App)"
sidebarTitle: "macOS app"
sidebarTitle: "Onboarding: macOS App"
---
# Onboarding (macOS App)
@ -16,22 +16,22 @@ wizard, and let the agent bootstrap itself.
<Steps>
<Step title="Approve macOS warning">
<Frame>
<img src="/assets/macos-onboarding/01-macos-warning.jpeg" alt=""></img>
<img src="/assets/macos-onboarding/01-macos-warning.jpeg" alt="" />
</Frame>
</Step>
<Step title="Approve find local networks">
<Frame>
<img src="/assets/macos-onboarding/02-local-networks.jpeg" alt=""></img>
<img src="/assets/macos-onboarding/02-local-networks.jpeg" alt="" />
</Frame>
</Step>
<Step title="Welcome and security notice">
<Frame caption="Read the security notice displayed and decide accordingly">
<img src="/assets/macos-onboarding/03-security-notice.png" alt=""></img>
<img src="/assets/macos-onboarding/03-security-notice.png" alt="" />
</Frame>
</Step>
<Step title="Local vs Remote">
<Frame>
<img src="/assets/macos-onboarding/04-choose-gateway.png" alt=""></img>
<img src="/assets/macos-onboarding/04-choose-gateway.png" alt="" />
</Frame>
Where does the **Gateway** run?
@ -51,7 +51,7 @@ Where does the **Gateway** run?
</Step>
<Step title="Permissions">
<Frame caption="Choose what permissions do you want to give OpenClaw">
<img src="/assets/macos-onboarding/05-permissions.png" alt=""></img>
<img src="/assets/macos-onboarding/05-permissions.png" alt="" />
</Frame>
Onboarding requests TCC permissions needed for:

View File

@ -26,26 +26,9 @@ Start conservative:
## Prerequisites
- Node **22+**
- OpenClaw available on PATH (recommended: global install)
- OpenClaw installed and onboarded — see [Getting Started](/start/getting-started) if you haven't done this yet
- A second phone number (SIM/eSIM/prepaid) for the assistant
```bash
npm install -g openclaw@latest
# or: pnpm add -g openclaw@latest
```
From source (development):
```bash
git clone https://github.com/openclaw/openclaw.git
cd openclaw
pnpm install
pnpm ui:build # auto-installs UI deps on first run
pnpm build
pnpm link --global
```
## The two-phone setup (recommended)
You want this:

View File

@ -4,14 +4,15 @@ read_when:
- Running or configuring the onboarding wizard
- Setting up a new machine
title: "Onboarding Wizard (CLI)"
sidebarTitle: "Wizard (CLI)"
sidebarTitle: "Onboarding: CLI"
---
# Onboarding Wizard (CLI)
The CLI onboarding wizard is the recommended setup path for OpenClaw on macOS,
Linux, and Windows (via WSL2). It configures a local gateway or a remote
gateway connection, plus workspace defaults, channels, and skills.
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.
```bash
openclaw onboard
@ -22,36 +23,7 @@ Fastest first chat: open the Control UI (no channel setup needed). Run
`openclaw dashboard` and chat in the browser. Docs: [Dashboard](/web/dashboard).
</Info>
## QuickStart vs Advanced
The wizard starts with **QuickStart** (defaults) vs **Advanced** (full control).
<Tabs>
<Tab title="QuickStart (defaults)">
- Local gateway on loopback
- Existing workspace or default workspace
- Gateway port `18789`
- Gateway auth token auto-generated (even on loopback)
- Tailscale exposure off
- Telegram and WhatsApp DMs default to allowlist (you may be prompted for your phone number)
</Tab>
<Tab title="Advanced (full control)">
- Exposes full prompt flow for mode, workspace, gateway, channels, daemon, and skills
</Tab>
</Tabs>
## CLI onboarding details
<Columns>
<Card title="CLI reference" href="/start/wizard-cli-reference">
Full local and remote flow, auth and model matrix, config outputs, wizard RPC, and signal-cli behavior.
</Card>
<Card title="Automation and scripts" href="/start/wizard-cli-automation">
Non-interactive onboarding recipes and automated `agents add` examples.
</Card>
</Columns>
## Common follow-up commands
To reconfigure later:
```bash
openclaw configure
@ -68,6 +40,67 @@ Recommended: set up a Brave Search API key so the agent can use `web_search`
which stores `tools.web.search.apiKey`. Docs: [Web tools](/tools/web).
</Tip>
## QuickStart vs Advanced
The wizard starts with **QuickStart** (defaults) vs **Advanced** (full control).
<Tabs>
<Tab title="QuickStart (defaults)">
- Local gateway (loopback)
- Workspace default (or existing workspace)
- Gateway port **18789**
- Gateway auth **Token** (autogenerated, even on loopback)
- Tailscale exposure **Off**
- Telegram + WhatsApp DMs default to **allowlist** (you'll be prompted for your phone number)
</Tab>
<Tab title="Advanced (full control)">
- Exposes every step (mode, workspace, gateway, channels, daemon, skills).
</Tab>
</Tabs>
## What the wizard configures
**Local mode (default)** walks you through these steps:
1. **Model/Auth** — Anthropic API key (recommended), OAuth, OpenAI, or other providers. Pick a default model.
2. **Workspace** — Location for agent files (default `~/.openclaw/workspace`). Seeds bootstrap files.
3. **Gateway** — Port, bind address, auth mode, Tailscale exposure.
4. **Channels** — WhatsApp, Telegram, Discord, Google Chat, Mattermost, Signal, BlueBubbles, or iMessage.
5. **Daemon** — Installs a LaunchAgent (macOS) or systemd user unit (Linux/WSL2).
6. **Health check** — Starts the Gateway and verifies it's running.
7. **Skills** — Installs recommended skills and optional dependencies.
<Note>
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 asks you to run `openclaw doctor` first.
</Note>
**Remote mode** only configures the local client to connect to a Gateway elsewhere.
It does **not** install or change anything on the remote host.
## 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`.
## Full reference
For detailed step-by-step breakdowns, non-interactive scripting, Signal setup,
RPC API, and a full list of config fields the wizard writes, see the
[Wizard Reference](/reference/wizard).
## Related docs
- CLI command reference: [`openclaw onboard`](/cli/onboard)

View File

@ -13,13 +13,13 @@ deployments work at a high level.
## Pick a provider
- **Railway** (oneclick + browser setup): [Railway](/railway)
- **Northflank** (oneclick + browser setup): [Northflank](/northflank)
- **Railway** (oneclick + browser setup): [Railway](/install/railway)
- **Northflank** (oneclick + browser setup): [Northflank](/install/northflank)
- **Oracle Cloud (Always Free)**: [Oracle](/platforms/oracle) — $0/month (Always Free, ARM; capacity/signup can be finicky)
- **Fly.io**: [Fly.io](/platforms/fly)
- **Hetzner (Docker)**: [Hetzner](/platforms/hetzner)
- **GCP (Compute Engine)**: [GCP](/platforms/gcp)
- **exe.dev** (VM + HTTPS proxy): [exe.dev](/platforms/exe-dev)
- **Fly.io**: [Fly.io](/install/fly)
- **Hetzner (Docker)**: [Hetzner](/install/hetzner)
- **GCP (Compute Engine)**: [GCP](/install/gcp)
- **exe.dev** (VM + HTTPS proxy): [exe.dev](/install/exe-dev)
- **AWS (EC2/Lightsail/free tier)**: works well too. Video guide:
https://x.com/techfrenAJ/status/2014934471095812547

View File

@ -35,7 +35,7 @@ x-i18n:
- **最佳用户体验:** 保持 `gateway.bind: "loopback"` 并使用 **Tailscale Serve** 作为控制 UI。
- **回退方案:** 保持 loopback + 从任何需要访问的机器建立 SSH 隧道。
- **示例:** [exe.dev](/platforms/exe-dev)(简易 VM或 [Hetzner](/platforms/hetzner)(生产 VPS
- **示例:** [exe.dev](/install/exe-dev)(简易 VM或 [Hetzner](/install/hetzner)(生产 VPS
当你的笔记本电脑经常休眠但你希望智能体始终在线时,这是理想的选择。

View File

@ -572,7 +572,7 @@ curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method git
任何 Linux VPS 都可以。在服务器上安装,然后使用 SSH/Tailscale 访问 Gateway 网关。
指南:[exe.dev](/platforms/exe-dev)、[Hetzner](/platforms/hetzner)、[Fly.io](/platforms/fly)。
指南:[exe.dev](/install/exe-dev)、[Hetzner](/install/hetzner)、[Fly.io](/install/fly)。
远程访问:[Gateway 网关远程](/gateway/remote)。
### 云/VPS 安装指南在哪里
@ -580,9 +580,9 @@ curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method git
我们维护了一个**托管中心**,涵盖常见提供商。选择一个并按指南操作:
- [VPS 托管](/vps)(所有提供商汇总)
- [Fly.io](/platforms/fly)
- [Hetzner](/platforms/hetzner)
- [exe.dev](/platforms/exe-dev)
- [Fly.io](/install/fly)
- [Hetzner](/install/hetzner)
- [exe.dev](/install/exe-dev)
在云端的工作方式:**Gateway 网关运行在服务器上**,你通过控制 UI或 Tailscale/SSH从笔记本/手机访问。你的状态 + 工作区位于服务器上,因此将主机视为数据来源并做好备份。
@ -863,7 +863,7 @@ OpenClaw 是轻量级的。对于基本的 Gateway 网关 + 一个聊天渠道
- **操作系统:** Ubuntu LTS 或其他现代 Debian/Ubuntu。
如果你使用 Windows**WSL2 是最简单的虚拟机式设置**,具有最佳的工具兼容性。参阅 [Windows](/platforms/windows)、[VPS 托管](/vps)。
如果你在虚拟机中运行 macOS参阅 [macOS VM](/platforms/macos-vm)。
如果你在虚拟机中运行 macOS参阅 [macOS VM](/install/macos-vm)。
## 什么是 OpenClaw

View File

@ -70,7 +70,7 @@ Docker 是**可选的**。仅当你想要容器化的 Gateway 网关或验证 Do
- `~/.openclaw/`
- `~/.openclaw/workspace`
在 VPS 上运行?参阅 [HetznerDocker VPS](/platforms/hetzner)。
在 VPS 上运行?参阅 [HetznerDocker VPS](/install/hetzner)。
### 手动流程compose

View File

@ -34,7 +34,7 @@ x-i18n:
**选择提供商:**
- DigitalOcean最简单的用户体验 + 可预测的设置(本指南)
- Hetzner性价比高参见 [Hetzner 指南](/platforms/hetzner)
- Hetzner性价比高参见 [Hetzner 指南](/install/hetzner)
- Oracle Cloud可以 $0/月,但更麻烦且仅限 ARM参见 [Oracle 指南](/platforms/oracle)
---
@ -263,7 +263,7 @@ free -h
## 另请参阅
- [Hetzner 指南](/platforms/hetzner) — 更便宜、更强大
- [Hetzner 指南](/install/hetzner) — 更便宜、更强大
- [Docker 安装](/install/docker) — 容器化设置
- [Tailscale](/gateway/tailscale) — 安全远程访问
- [配置](/gateway/configuration) — 完整配置参考

View File

@ -33,10 +33,10 @@ Windows 原生配套应用也在计划中;推荐通过 WSL2 使用 Gateway 网
## VPS 和托管
- VPS 中心:[VPS 托管](/vps)
- Fly.io[Fly.io](/platforms/fly)
- HetznerDocker[Hetzner](/platforms/hetzner)
- GCPCompute Engine[GCP](/platforms/gcp)
- exe.devVM + HTTPS 代理):[exe.dev](/platforms/exe-dev)
- Fly.io[Fly.io](/install/fly)
- HetznerDocker[Hetzner](/install/hetzner)
- GCPCompute Engine[GCP](/install/gcp)
- exe.devVM + HTTPS 代理):[exe.dev](/install/exe-dev)
## 常用链接

View File

@ -28,7 +28,7 @@ Gateway 网关在 Linux 上完全支持。**Node 是推荐的运行时**。
4. 从你的笔记本电脑:`ssh -N -L 18789:127.0.0.1:18789 <user>@<host>`
5. 打开 `http://127.0.0.1:18789/` 并粘贴你的令牌
分步 VPS 指南:[exe.dev](/platforms/exe-dev)
分步 VPS 指南:[exe.dev](/install/exe-dev)
## 安装

View File

@ -307,4 +307,4 @@ tar -czvf openclaw-backup.tar.gz ~/.openclaw ~/.openclaw/workspace
- [Tailscale 集成](/gateway/tailscale) — 完整的 Tailscale 文档
- [Gateway 网关配置](/gateway/configuration) — 所有配置选项
- [DigitalOcean 指南](/platforms/digitalocean) — 如果你想要付费 + 更容易注册
- [Hetzner 指南](/platforms/hetzner) — 基于 Docker 的替代方案
- [Hetzner 指南](/install/hetzner) — 基于 Docker 的替代方案

View File

@ -360,6 +360,6 @@ echo 'wireless-power off' | sudo tee -a /etc/network/interfaces
- [Linux 指南](/platforms/linux) — 通用 Linux 设置
- [DigitalOcean 指南](/platforms/digitalocean) — 云替代方案
- [Hetzner 指南](/platforms/hetzner) — Docker 设置
- [Hetzner 指南](/install/hetzner) — Docker 设置
- [Tailscale](/gateway/tailscale) — 远程访问
- [节点](/nodes) — 将你的笔记本电脑/手机与 Pi Gateway 网关配对

View File

@ -203,4 +203,4 @@ openclaw message send --target +15555550123 --message "Hello from OpenClaw"
- macOS 菜单栏应用 + 语音唤醒:[macOS 应用](/platforms/macos)
- iOS/Android 节点Canvas/相机/语音):[节点](/nodes)
- 远程访问SSH 隧道 / Tailscale Serve[远程访问](/gateway/remote) 和 [Tailscale](/gateway/tailscale)
- 常开 / VPN 设置:[远程访问](/gateway/remote)、[exe.dev](/platforms/exe-dev)、[Hetzner](/platforms/hetzner)、[macOS 远程](/platforms/mac/remote)
- 常开 / VPN 设置:[远程访问](/gateway/remote)、[exe.dev](/install/exe-dev)、[Hetzner](/install/hetzner)、[macOS 远程](/platforms/mac/remote)

View File

@ -22,10 +22,10 @@ x-i18n:
- **Railway**(一键 + 浏览器设置):[Railway](/railway)
- **Northflank**(一键 + 浏览器设置):[Northflank](/northflank)
- **Oracle Cloud永久免费**[Oracle](/platforms/oracle) — $0/月永久免费ARM容量/注册可能不太稳定)
- **Fly.io**[Fly.io](/platforms/fly)
- **HetznerDocker**[Hetzner](/platforms/hetzner)
- **GCPCompute Engine**[GCP](/platforms/gcp)
- **exe.dev**VM + HTTPS 代理):[exe.dev](/platforms/exe-dev)
- **Fly.io**[Fly.io](/install/fly)
- **HetznerDocker**[Hetzner](/install/hetzner)
- **GCPCompute Engine**[GCP](/install/gcp)
- **exe.dev**VM + HTTPS 代理):[exe.dev](/install/exe-dev)
- **AWSEC2/Lightsail/免费套餐)**:也运行良好。视频指南:
https://x.com/techfrenAJ/status/2014934471095812547