Install: npm_config_registry=https://registry.npmmirror.com npm install -g openclaw@latest --no-audit --no-fund
What you are dealing with
You want an AI assistant that lives on your own machine: reachable from multiple chat channels (Telegram/WhatsApp/Slack/Discord...), able to run scheduled jobs (daily 9am digest), drive a browser, and keep cross-session memory - instead of opening a web chat every time. OpenClaw does exactly that: a local Gateway (control plane) + CLI/TUI/web Control UI + channel integrations + cron automations, all in one self-hosted personal AI assistant platform (GitHub 388k stars, 2026 top open-source project, formerly Clawdbot). Use it when: you want a persistent local AI assistant you can drive from messaging apps (multi-channel); you need scheduled/triggered automation (daily jobs, periodic digests, reminders) - openclaw cron is built in; you want AI to operate a browser (form filling, posting, cross-page tasks) - openclaw browser is built in; you want the skills/plugin ecosystem (ClawHub 54k+ skills) to extend the assistant. Do not use it for: one-off chat sessions (use a chat client); single-command coding utilities (that is a CLI tool's job); environments sensitive to Node runtimes / persistent services (it is a Node platform with a resident Gateway).
Path: Quick fix (one command to install and verify) → Step by step (Node version check + isolated install) → How to confirm it works → FAQ (Node version too old).
Why it works this way
OpenClaw uses a Gateway architecture: a resident local Gateway process is the control plane (sessions, tools, events, channel connections); the CLI/TUI/web Control UI all talk to it. Channels bring the assistant to WhatsApp/Telegram/Slack/Discord etc.; the cron/automations subcommands run scheduled jobs on the Gateway; the browser subcommand manages a dedicated browser instance. The model layer supports hosted and local providers (ollama can be plugged in). What it touches: an npm global package (Node runtime) + ~/.openclaw/ workspace created by first-run openclaw onboard (config + database + logs) + optional systemd user service (daemon). Zero-account policy: onboarding/channel setup needs model API keys or chat accounts; this guide covers install and CLI verification only and touches no accounts.
Quick fix (no explanations, one command to install and verify)
note: Node must be >=22.22.3 (or 24.15.0+ / 25.9.0+); if not, see "Dependency warnings" for the isolated-deploy workaround. Command uses the Tsinghua npm mirror; verified 331 packages in 9s
npm_config_registry=https://registry.npmmirror.com npm install -g openclaw@latest --no-audit --no-fund && openclaw --version
预期输出: OpenClaw 2026.8.1 (ea80657) (version follows latest; if npm rejects the Node version, see Step 1)
Step by step
Step 1: Check the Node version (prerequisite)
Stuck here: node: command not found -> install Node first (apt/nvm/official binary); version <22.22.3 -> do NOT touch the system Node, use the isolated deploy in Dependency warnings (verified path here: /opt/node-v24.15.0-linux-x64/bin prepended to PATH).
node --version
预期输出: v22.22.3 or newer (any of 22.22.3+ / 24.15.0+ / 25.9.0+). Verified pit: system Node v22.22.1 is rejected (patch-level shortfall); npm install fails with [openclaw] detected Node 22.22.1 - do not touch the system Node, use the isolated deploy (see Dependency warnings).
Step 2: Install (Tsinghua mirror)
Stuck here: [openclaw] detected Node xx -> Node version unmet, go back to Step 1 for the isolated deploy; enoent spawn sh -> PATH is broken (check /usr/bin, /bin are on PATH); timeout -> if the mirror is unreachable try registry.npmjs.org directly (depends on network).
npm_config_registry=https://registry.npmmirror.com npm install -g openclaw@latest --no-audit --no-fund
预期输出: changed 331 packages in 9s (package ~204MB unpacked; 9s was cache-accelerated, first install may take 1-3 minutes)
Step 3: Verify the install
Stuck here: openclaw: command not found -> confirm the global bin is on PATH (npm prefix -g; prepend the isolated Node bin when used).
openclaw --version && openclaw --help | head -20
预期输出: first line OpenClaw 2026.8.1 (ea80657), then the command surface (acp/agent/channels/cron/gateway/memory/models/browser...)
Step 4: Check Gateway status (diagnostics only, no service start)
Stuck here: connection errors -> config missing before onboarding is normal, not a fault; full use requires openclaw onboard (interactive wizard + API key; zero-account policy, not covered here).
openclaw gateway status
预期输出: Service: systemd user (disabled) + Gateway: bind=loopback (127.0.0.1), port=18789 + Dashboard: http://127.0.0.1:18789/. Config missing before onboarding is normal - full first use requires openclaw onboard (interactive wizard, needs a model API key; not covered in this guide).
How to confirm it works
openclaw --versionprints a version (2026.8.1) without error;openclaw --helplists the full command surface (cron/browser/channels/gateway all present);openclaw gateway statusexits 0 and prints diagnostics.- Full usability (chat/scheduling) requires onboarding with a model - that step needs an API key and was not tested here (zero-account policy); we do not fake it.
Other environments
| Environment | Behavior | Notes |
|---|---|---|
| Linux (tested here) | npm global install + full CLI surface works | verified with isolated Node 24.15.0 |
| macOS | official installer or npm; homebrew has node@24 | not tested |
| Windows | official PowerShell installer (install.ps1); npm needs a supported Node | not tested |
| Docker/Nix | documented deployment paths (docs.openclaw.ai/install) | not tested |
| System Node too old | npm postinstall rejects the install | hit and fixed here via isolated deploy |
Daily usage
Prerequisite note: all cron/browser/channels subcommands run through the local Gateway. First use requires openclaw onboard (interactive wizard + model API key / chat account; no-account policy — not tested here). Without credentials the commands fail with an explicit error (real output below) — that is normal "not onboarded yet", not a fault. Commands and expected outputs below are from the verified command surface.
Scheduled jobs (cron / automations)
note: command surface verified; actual execution requires Gateway credentials (after onboard)
List current automations. Real output without credentials:
openclaw cron list
Expected output: gateway cron.list requires credentials before opening a websocket Fix: configure gateway.auth token/password, pair this device, or pass --token/--password. Config: ~/.openclaw/openclaw.json Meaning: not onboarded yet / device not paired. Configure gateway.auth (token/password) or pair the device, then retry; or run openclaw doctor first for an overall status view. cron subcommands (verified command surface, usable after onboard): add create, list list, show/get inspect one, edit modify, enable/disable toggle, rm remove, run run once now, runs run history, status scheduler status, scratch read/write private scratch. Parameter details: docs.openclaw.ai/cli/cron.
Browser automation (browser)
note: command surface verified; execution requires Gateway credentials
Check browser plugin readiness. Real output without credentials:
openclaw browser doctor
Expected output: FAIL gateway: GatewayCredentialsRequiredError: gateway browser.request requires credentials before opening a websocket Fix: configure gateway.auth token/password, pair this device, or pass --token/--password. Config: ~/.openclaw/openclaw.json Meaning: same as above — all browser subcommands go through the Gateway and report the credentials error until onboarded. browser subcommands (verified command surface, usable after onboard): create-profile/delete-profile manage dedicated browser profiles, click/click-coords/fill/drag/highlight page interaction, evaluate run a function against the page, close close a tab, console/errors page logs, download save a download, batch run a batch of actions, doctor readiness check. Parameter details: docs.openclaw.ai/cli/browser.
Channels (channels)
note: command surface verified; connecting channels needs chat accounts (no-account policy — not tested)
List configured channels. Real output when none configured:
openclaw channels list
Expected output: Chat channels:
- no configured chat channels (run
openclaw channels list --allto see installable channels)
Model provider usage moved out of channels list — see openclaw status or openclaw models list. List the installable channel catalog:
openclaw channels list --all
Expected output: installable channel list (telegram/whatsapp/slack/discord etc., as printed) channel subcommands (verified command surface): add add/update a channel, login/logout link/unlink sessions, remove delete, status --probe status probes, logs channel logs, capabilities provider capabilities. Non-interactive example (from command-surface Examples; needs a real token): openclaw channels add --channel telegram --token <token>.
Health check (doctor)
note: command surface verified
openclaw doctor
Expected output: health report (model/gateway/channel config status; unconfigured items before onboard are normal diagnostics)
Uninstall & cleanup
note: uninstall = remove the npm global package; cleanup = delete the workspace (config/database/logs). Stop the daemon first if enabled
npm uninstall -g openclaw --no-audit --no-fund && rm -rf ~/.openclaw
预期输出: npm removal output (removed N packages); ~/.openclaw gone means clean. Warning: deleting the workspace loses all config/memory/channel bindings - run openclaw backup first if you need to keep anything
Dependency warnings
note: version/environment/conflict four-state; pair states follow the conflict matrix
- Version: Node >= 22.22.3 / 24.15.0+ / 25.9.0+ (npm 12+ recommended; on npm 11.15 and earlier omit
--allow-scripts). Verified: Node 22.22.1 rejected. - Environment: Linux/macOS/Windows supported; a resident Gateway needs systemd user or equivalent service management (daemon subcommand); ~1GB disk (204MB unpacked package + workspace/log growth).
- Conflict (matrix): adjacent to moltis (Rust single-binary personal agent server) - different command names, non-overlapping write surfaces (each has its own ~/.config dir), static judgment: can coexist; no write-surface overlap with CLI tools like herdr/ruflo/claude-mem. Pair states: see the conflict matrix page.
- Network: npm install must use a mirror (official registry is slow directly); first onboarding pulls models/connects channels depending on network (not covered here, zero accounts).
- Security: treat inbound messages as untrusted input; DM channels pair by default (
openclaw pairing approve <channel> <code>); tools run on the host for the main session unless sandboxed (configure sandboxing before exposing the Gateway remotely).
FAQ
- Q: npm says
[openclaw] detected Node 22.22.1- what now? - A: Your system Node does not meet 22.22.3+. Do not touch the system Node - deploy a supported Node (e.g. 24.15.0) to a separate directory and prepend its bin to PATH for the npm install (verified path here: /opt/node-v24.15.0-linux-x64/bin). Run
openclawwith that PATH prefix afterwards. - Q:
openclaw gateway statusshows config missing - is it broken? - A: No. That is the normal state before onboarding; onboarding creates ~/.openclaw/openclaw.json and configures the Gateway.
- Q:
openclawcommand not found after install? - A: Check the global bin is on PATH (
npm prefix -gshows the global dir); with an isolated Node deploy, make sure its bin prefix is on PATH. - Q: Does onboarding require an API key? Can I use local models?
- A: Officially both hosted and local providers are supported (ollama and other local models can be configured). Onboarding is an interactive wizard; not tested here (zero accounts); details in docs.openclaw.ai/concepts/model-providers.
- Q: Do scheduled jobs need the Gateway always running?
- A: Yes - cron/automations run on the Gateway and need the daemon resident. Not tested here (zero accounts + no persistent processes), honestly marked.
- Q: What is the difference between OpenClaw and moltis?
- A: OpenClaw = Node-based complete personal AI assistant (multi-channel + cron + browser + skills ecosystem); moltis = Rust single-binary lightweight agent server (security-first). Adjacent positioning, different form: choose by "complete assistant vs lightweight server".
Verification Evidence
- Evidence file:
local repro log 2026-09-01(2026-09-01, WSL Ubuntu root) - Verified: isolated Node 24.15.0 deploy (npmmirror 31MB/10s), Tsinghua-mirror npm install (331 packages/9s),
openclaw --version(2026.8.1),--helpcommand surface,gateway status(loopback 18789, exit 0) - Not tested (honestly marked): onboard wizard (needs API key, zero accounts), resident Gateway service, channel integration, actual cron/browser execution (command surface visible but requires onboarding)
← Trove | evidence & precheck records kept locally; conclusions and sources published here