docs: recommend WSL2 for Windows installs
This commit is contained in:
@@ -22,7 +22,7 @@ If you want a personal, single-user assistant that feels local, fast, and always
|
|||||||
|
|
||||||
[Website](https://clawdbot.com) · [Docs](https://docs.clawd.bot) · Getting Started: [https://docs.clawd.bot/getting-started](https://docs.clawd.bot/getting-started) · Updating: [https://docs.clawd.bot/updating](https://docs.clawd.bot/updating) · Showcase: [https://docs.clawd.bot/showcase](https://docs.clawd.bot/showcase) · FAQ: [https://docs.clawd.bot/faq](https://docs.clawd.bot/faq) · Wizard: [https://docs.clawd.bot/wizard](https://docs.clawd.bot/wizard) · Nix: [https://github.com/clawdbot/nix-clawdbot](https://github.com/clawdbot/nix-clawdbot) · Docker: [https://docs.clawd.bot/docker](https://docs.clawd.bot/docker) · Discord: [https://discord.gg/clawd](https://discord.gg/clawd)
|
[Website](https://clawdbot.com) · [Docs](https://docs.clawd.bot) · Getting Started: [https://docs.clawd.bot/getting-started](https://docs.clawd.bot/getting-started) · Updating: [https://docs.clawd.bot/updating](https://docs.clawd.bot/updating) · Showcase: [https://docs.clawd.bot/showcase](https://docs.clawd.bot/showcase) · FAQ: [https://docs.clawd.bot/faq](https://docs.clawd.bot/faq) · Wizard: [https://docs.clawd.bot/wizard](https://docs.clawd.bot/wizard) · Nix: [https://github.com/clawdbot/nix-clawdbot](https://github.com/clawdbot/nix-clawdbot) · Docker: [https://docs.clawd.bot/docker](https://docs.clawd.bot/docker) · Discord: [https://discord.gg/clawd](https://discord.gg/clawd)
|
||||||
|
|
||||||
Preferred setup: run the onboarding wizard (`clawdbot onboard`). It walks through gateway, workspace, providers, and skills. The CLI wizard is the recommended path and works on **macOS, Windows, and Linux**.
|
Preferred setup: run the onboarding wizard (`clawdbot onboard`). It walks through gateway, workspace, providers, and skills. The CLI wizard is the recommended path and works on **macOS, Linux, and Windows (via WSL2; strongly recommended)**.
|
||||||
Works with npm, pnpm, or bun.
|
Works with npm, pnpm, or bun.
|
||||||
New install? Start here: https://docs.clawd.bot/getting-started
|
New install? Start here: https://docs.clawd.bot/getting-started
|
||||||
|
|
||||||
@@ -369,7 +369,7 @@ Use these when you’re past the onboarding flow and want the deeper reference.
|
|||||||
- [Wire external triggers via the webhook surface.](https://docs.clawd.bot/webhook)
|
- [Wire external triggers via the webhook surface.](https://docs.clawd.bot/webhook)
|
||||||
- [Set up Gmail Pub/Sub triggers.](https://docs.clawd.bot/gmail-pubsub)
|
- [Set up Gmail Pub/Sub triggers.](https://docs.clawd.bot/gmail-pubsub)
|
||||||
- [Learn the macOS menu bar companion details.](https://docs.clawd.bot/mac/menu-bar)
|
- [Learn the macOS menu bar companion details.](https://docs.clawd.bot/mac/menu-bar)
|
||||||
- [Platform guides: Windows](https://docs.clawd.bot/windows), [Linux](https://docs.clawd.bot/linux), [macOS](https://docs.clawd.bot/macos), [iOS](https://docs.clawd.bot/ios), [Android](https://docs.clawd.bot/android)
|
- [Platform guides: Windows (WSL2)](https://docs.clawd.bot/windows), [Linux](https://docs.clawd.bot/linux), [macOS](https://docs.clawd.bot/macos), [iOS](https://docs.clawd.bot/ios), [Android](https://docs.clawd.bot/android)
|
||||||
- [Debug common failures with the troubleshooting guide.](https://docs.clawd.bot/troubleshooting)
|
- [Debug common failures with the troubleshooting guide.](https://docs.clawd.bot/troubleshooting)
|
||||||
- [Review security guidance before exposing anything.](https://docs.clawd.bot/security)
|
- [Review security guidance before exposing anything.](https://docs.clawd.bot/security)
|
||||||
|
|
||||||
@@ -416,7 +416,7 @@ Use these when you’re past the onboarding flow and want the deeper reference.
|
|||||||
- [macOS voice wake](https://docs.clawd.bot/mac/voicewake)
|
- [macOS voice wake](https://docs.clawd.bot/mac/voicewake)
|
||||||
- [iOS node](https://docs.clawd.bot/ios)
|
- [iOS node](https://docs.clawd.bot/ios)
|
||||||
- [Android node](https://docs.clawd.bot/android)
|
- [Android node](https://docs.clawd.bot/android)
|
||||||
- [Windows app](https://docs.clawd.bot/windows)
|
- [Windows (WSL2)](https://docs.clawd.bot/windows)
|
||||||
- [Linux app](https://docs.clawd.bot/linux)
|
- [Linux app](https://docs.clawd.bot/linux)
|
||||||
|
|
||||||
## Email hooks (Gmail)
|
## Email hooks (Gmail)
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ read_when:
|
|||||||
- Detects deprecated config keys and offers to migrate them.
|
- Detects deprecated config keys and offers to migrate them.
|
||||||
- Migrates legacy `~/.clawdis/clawdis.json` when no Clawdbot config exists.
|
- Migrates legacy `~/.clawdis/clawdis.json` when no Clawdbot config exists.
|
||||||
- Checks sandbox Docker images when sandboxing is enabled (offers to build or switch to legacy names).
|
- Checks sandbox Docker images when sandboxing is enabled (offers to build or switch to legacy names).
|
||||||
- Detects legacy Clawdis services (launchd/systemd/schtasks) and offers to migrate them.
|
- Detects legacy Clawdis services (launchd/systemd; legacy schtasks for native Windows) and offers to migrate them.
|
||||||
- On Linux, checks if systemd user lingering is enabled and can enable it (required to keep the Gateway alive after logout).
|
- On Linux, checks if systemd user lingering is enabled and can enable it (required to keep the Gateway alive after logout).
|
||||||
- Migrates legacy on-disk state layouts (sessions, agentDir, provider auth dirs) into the current per-agent/per-account structure.
|
- Migrates legacy on-disk state layouts (sessions, agentDir, provider auth dirs) into the current per-agent/per-account structure.
|
||||||
|
|
||||||
@@ -63,6 +63,6 @@ cat ~/.clawdbot/clawdbot.json
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Legacy service migrations
|
## Legacy service migrations
|
||||||
Doctor checks for older Clawdis gateway services (launchd/systemd/schtasks).
|
Doctor checks for older Clawdis gateway services (launchd/systemd/schtasks). WSL2 installs use systemd.
|
||||||
If found, it offers to remove them and install the Clawdbot service using the current gateway port.
|
If found, it offers to remove them and install the Clawdbot service using the current gateway port.
|
||||||
Remote mode skips the install step, and Nix mode only reports what it finds.
|
Remote mode skips the install step, and Nix mode only reports what it finds.
|
||||||
|
|||||||
@@ -184,7 +184,7 @@ Enable lingering (required so the user service survives logout/idle):
|
|||||||
```
|
```
|
||||||
sudo loginctl enable-linger youruser
|
sudo loginctl enable-linger youruser
|
||||||
```
|
```
|
||||||
Onboarding runs this on Linux (may prompt for sudo; writes `/var/lib/systemd/linger`).
|
Onboarding runs this on Linux/WSL2 (may prompt for sudo; writes `/var/lib/systemd/linger`).
|
||||||
Then enable the service:
|
Then enable the service:
|
||||||
```
|
```
|
||||||
systemctl --user enable --now clawdbot-gateway.service
|
systemctl --user enable --now clawdbot-gateway.service
|
||||||
@@ -199,9 +199,9 @@ sudo systemctl daemon-reload
|
|||||||
sudo systemctl enable --now clawdbot-gateway.service
|
sudo systemctl enable --now clawdbot-gateway.service
|
||||||
```
|
```
|
||||||
|
|
||||||
## Supervision (Windows scheduled task)
|
## Windows (WSL2)
|
||||||
- Onboarding installs a Scheduled Task named `Clawdbot Gateway` (runs on user logon).
|
|
||||||
- Requires a logged-in user session; for headless setups use a system service or a task configured to run without a logged-in user (not shipped).
|
Windows installs should use **WSL2** and follow the Linux systemd section above.
|
||||||
|
|
||||||
## Operational checks
|
## Operational checks
|
||||||
- Liveness: open WS and send `req:connect` → expect `res` with `payload.type="hello-ok"` (with snapshot).
|
- Liveness: open WS and send `req:connect` → expect `res` with `payload.type="hello-ok"` (with snapshot).
|
||||||
@@ -219,7 +219,7 @@ sudo systemctl enable --now clawdbot-gateway.service
|
|||||||
- `clawdbot gateway send --to <num> --message "hi" [--media-url ...]` — send via Gateway (idempotent).
|
- `clawdbot gateway send --to <num> --message "hi" [--media-url ...]` — send via Gateway (idempotent).
|
||||||
- `clawdbot gateway agent --message "hi" [--to ...]` — run an agent turn (waits for final by default).
|
- `clawdbot gateway agent --message "hi" [--to ...]` — run an agent turn (waits for final by default).
|
||||||
- `clawdbot gateway call <method> --params '{"k":"v"}'` — raw method invoker for debugging.
|
- `clawdbot gateway call <method> --params '{"k":"v"}'` — raw method invoker for debugging.
|
||||||
- `clawdbot gateway stop|restart` — stop/restart the supervised gateway service (launchd/systemd/schtasks).
|
- `clawdbot gateway stop|restart` — stop/restart the supervised gateway service (launchd/systemd).
|
||||||
- Gateway helper subcommands assume a running gateway on `--url`; they no longer auto-spawn one.
|
- Gateway helper subcommands assume a running gateway on `--url`; they no longer auto-spawn one.
|
||||||
|
|
||||||
## Migration guidance
|
## Migration guidance
|
||||||
|
|||||||
@@ -177,7 +177,7 @@ Example:
|
|||||||
- [macOS app](https://docs.clawd.bot/platforms/macos)
|
- [macOS app](https://docs.clawd.bot/platforms/macos)
|
||||||
- [iOS app](https://docs.clawd.bot/platforms/ios)
|
- [iOS app](https://docs.clawd.bot/platforms/ios)
|
||||||
- [Android app](https://docs.clawd.bot/platforms/android)
|
- [Android app](https://docs.clawd.bot/platforms/android)
|
||||||
- [Windows app](https://docs.clawd.bot/platforms/windows)
|
- [Windows (WSL2)](https://docs.clawd.bot/platforms/windows)
|
||||||
- [Linux app](https://docs.clawd.bot/platforms/linux)
|
- [Linux app](https://docs.clawd.bot/platforms/linux)
|
||||||
- Ops and safety:
|
- Ops and safety:
|
||||||
- [Sessions](https://docs.clawd.bot/concepts/session)
|
- [Sessions](https://docs.clawd.bot/concepts/session)
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ Clawdbot is moving fast (pre “1.0”). Treat updates like shipping infra: upda
|
|||||||
## Before you update
|
## Before you update
|
||||||
|
|
||||||
- Know how you installed: **npm** (global) vs **from source** (git clone).
|
- Know how you installed: **npm** (global) vs **from source** (git clone).
|
||||||
- Know how your Gateway is running: **foreground terminal** vs **supervised service** (launchd/systemd/Scheduled Task).
|
- Know how your Gateway is running: **foreground terminal** vs **supervised service** (launchd/systemd).
|
||||||
- Snapshot your tailoring:
|
- Snapshot your tailoring:
|
||||||
- Config: `~/.clawdbot/clawdbot.json`
|
- Config: `~/.clawdbot/clawdbot.json`
|
||||||
- Credentials: `~/.clawdbot/credentials/`
|
- Credentials: `~/.clawdbot/credentials/`
|
||||||
@@ -68,7 +68,7 @@ Typical things it does:
|
|||||||
- Migrate deprecated config keys / legacy config file locations.
|
- Migrate deprecated config keys / legacy config file locations.
|
||||||
- Audit DM policies and warn on risky “open” settings.
|
- Audit DM policies and warn on risky “open” settings.
|
||||||
- Check Gateway health and can offer to restart.
|
- Check Gateway health and can offer to restart.
|
||||||
- Detect and migrate older gateway services (launchd/systemd/schtasks) to current Clawdbot services.
|
- Detect and migrate older gateway services (launchd/systemd; legacy schtasks) to current Clawdbot services.
|
||||||
- On Linux, ensure systemd user lingering (so the Gateway survives logout).
|
- On Linux, ensure systemd user lingering (so the Gateway survives logout).
|
||||||
|
|
||||||
Details: [Doctor](/doctor)
|
Details: [Doctor](/doctor)
|
||||||
@@ -86,7 +86,7 @@ clawdbot gateway --port 18789
|
|||||||
If you’re supervised:
|
If you’re supervised:
|
||||||
- macOS launchd (app-bundled LaunchAgent): `launchctl kickstart -k gui/$UID/com.clawdbot.gateway`
|
- macOS launchd (app-bundled LaunchAgent): `launchctl kickstart -k gui/$UID/com.clawdbot.gateway`
|
||||||
- Linux systemd user service: `systemctl --user restart clawdbot-gateway.service`
|
- Linux systemd user service: `systemctl --user restart clawdbot-gateway.service`
|
||||||
- Windows: restart the `Clawdbot Gateway` Scheduled Task (Task Scheduler)
|
- Windows (WSL2): `systemctl --user restart clawdbot-gateway.service`
|
||||||
|
|
||||||
Runbook + exact service labels: [Gateway runbook](/gateway)
|
Runbook + exact service labels: [Gateway runbook](/gateway)
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,73 @@
|
|||||||
---
|
---
|
||||||
summary: "Windows app status + contribution call"
|
summary: "Windows (WSL2) setup + companion app status"
|
||||||
read_when:
|
read_when:
|
||||||
|
- Installing Clawdbot on Windows
|
||||||
- Looking for Windows companion app status
|
- Looking for Windows companion app status
|
||||||
- Planning platform coverage or contributions
|
- Planning platform coverage or contributions
|
||||||
---
|
---
|
||||||
# Windows App
|
# Windows (WSL2)
|
||||||
|
|
||||||
Clawdbot core is fully supported on Windows. The core is written in TypeScript, so it runs anywhere Node runs.
|
Clawdbot runs on Windows **via WSL2** (Ubuntu recommended). WSL2 is **strongly
|
||||||
|
recommended**; native Windows installs are untested and more problematic. Use
|
||||||
|
WSL2 and follow the Linux flow inside it.
|
||||||
|
|
||||||
We do not have a Windows companion app yet. It is planned, and we would love contributions to make it happen.
|
## How to install this correctly
|
||||||
|
|
||||||
|
Start here (official WSL2 guide): https://learn.microsoft.com/windows/wsl/install
|
||||||
|
|
||||||
|
### 1) Install WSL2 + Ubuntu
|
||||||
|
|
||||||
|
Open PowerShell (Admin):
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
wsl --install
|
||||||
|
# Or pick a distro explicitly:
|
||||||
|
wsl --list --online
|
||||||
|
wsl --install -d Ubuntu-24.04
|
||||||
|
```
|
||||||
|
|
||||||
|
Reboot if Windows asks.
|
||||||
|
|
||||||
|
### 2) Enable systemd (required for daemon install)
|
||||||
|
|
||||||
|
In your WSL terminal:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo tee /etc/wsl.conf >/dev/null <<'EOF'
|
||||||
|
[boot]
|
||||||
|
systemd=true
|
||||||
|
EOF
|
||||||
|
```
|
||||||
|
|
||||||
|
Then from PowerShell:
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
wsl --shutdown
|
||||||
|
```
|
||||||
|
|
||||||
|
Re-open Ubuntu, then verify:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
systemctl --user status
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3) Install Clawdbot (inside WSL)
|
||||||
|
|
||||||
|
Follow the Linux Getting Started flow inside WSL:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/clawdbot/clawdbot.git
|
||||||
|
cd clawdbot
|
||||||
|
pnpm install
|
||||||
|
pnpm ui:install
|
||||||
|
pnpm ui:build
|
||||||
|
pnpm build
|
||||||
|
pnpm clawdbot onboard
|
||||||
|
```
|
||||||
|
|
||||||
|
Full guide: [Getting Started](/getting-started)
|
||||||
|
|
||||||
|
## Windows companion app
|
||||||
|
|
||||||
|
We do not have a Windows companion app yet. It is planned, and we would love
|
||||||
|
contributions to make it happen.
|
||||||
|
|||||||
@@ -212,6 +212,6 @@ Logs live under `/tmp/clawdbot/` (default: `clawdbot-YYYY-MM-DD.log`).
|
|||||||
- macOS menu bar companion: [Clawdbot macOS app](/macos)
|
- macOS menu bar companion: [Clawdbot macOS app](/macos)
|
||||||
- iOS node app: [iOS app](/ios)
|
- iOS node app: [iOS app](/ios)
|
||||||
- Android node app: [Android app](/android)
|
- Android node app: [Android app](/android)
|
||||||
- Windows status: [Windows app](/windows)
|
- Windows status: [Windows (WSL2)](/windows)
|
||||||
- Linux status: [Linux app](/linux)
|
- Linux status: [Linux app](/linux)
|
||||||
- Security: [Security](/security)
|
- Security: [Security](/security)
|
||||||
|
|||||||
@@ -28,11 +28,11 @@ Your **workspace** (AGENTS.md, memory files, skills) is separate — configured
|
|||||||
|
|
||||||
### What platforms does Clawdbot run on?
|
### What platforms does Clawdbot run on?
|
||||||
|
|
||||||
**macOS and Linux** are the primary targets. Anywhere Node.js 22+ runs should work in theory.
|
**macOS and Linux** are the primary targets. On Windows, use **WSL2** (Ubuntu recommended).
|
||||||
|
|
||||||
- **macOS** — Fully supported, most tested
|
- **macOS** — Fully supported, most tested
|
||||||
- **Linux** — Works great, common for VPS/server deployments
|
- **Linux** — Works great, common for VPS/server deployments
|
||||||
- **Windows** — Should work but largely untested! You're in pioneer territory 🤠
|
- **Windows (WSL2)** — WSL2 is strongly recommended; native Windows installs are untested and more problematic
|
||||||
|
|
||||||
Some features are platform-specific:
|
Some features are platform-specific:
|
||||||
- **iMessage** — macOS only (uses `imsg` CLI)
|
- **iMessage** — macOS only (uses `imsg` CLI)
|
||||||
@@ -52,6 +52,18 @@ The gateway is just shuffling messages around. A Raspberry Pi 4 can run it. For
|
|||||||
clawdbot gateway
|
clawdbot gateway
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### How do I install on Windows?
|
||||||
|
|
||||||
|
Use **WSL2** (Ubuntu recommended) and follow the Linux flow inside WSL. Quick start:
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
wsl --install
|
||||||
|
```
|
||||||
|
|
||||||
|
Then open Ubuntu and run the normal Getting Started steps.
|
||||||
|
|
||||||
|
Full guide: [Windows (WSL2)](/windows)
|
||||||
|
|
||||||
### How do I install on Linux without Homebrew?
|
### How do I install on Linux without Homebrew?
|
||||||
|
|
||||||
Build CLIs from source! Example for `gogcli`:
|
Build CLIs from source! Example for `gogcli`:
|
||||||
@@ -494,9 +506,10 @@ Onboarding attempts to enable lingering; if it’s still off, run:
|
|||||||
sudo loginctl enable-linger $USER
|
sudo loginctl enable-linger $USER
|
||||||
```
|
```
|
||||||
|
|
||||||
**macOS/Windows**
|
**macOS/WSL2**
|
||||||
|
|
||||||
Gateway daemons run in the user session by default. Keep the user logged in.
|
Gateway daemons run in the user session by default. Keep the user logged in
|
||||||
|
(WSL2 services stop when the WSL VM shuts down).
|
||||||
Headless/system services are not configured out of the box.
|
Headless/system services are not configured out of the box.
|
||||||
|
|
||||||
### Processes keep restarting after I kill them
|
### Processes keep restarting after I kill them
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ If you want the deeper reference pages, jump to: [Wizard](/wizard), [Setup](/set
|
|||||||
- Git
|
- Git
|
||||||
|
|
||||||
macOS: if you plan to build the apps, install Xcode / CLT. For the CLI + gateway only, Node is enough.
|
macOS: if you plan to build the apps, install Xcode / CLT. For the CLI + gateway only, Node is enough.
|
||||||
|
Windows: use **WSL2** (Ubuntu recommended). WSL2 is strongly recommended; native Windows is untested and more problematic. Install WSL2 first, then run the Linux steps inside WSL. See [Windows (WSL2)](/windows).
|
||||||
|
|
||||||
## 1) Check out from source
|
## 1) Check out from source
|
||||||
|
|
||||||
@@ -63,7 +64,7 @@ What you’ll choose:
|
|||||||
- **Local vs Remote** gateway
|
- **Local vs Remote** gateway
|
||||||
- **Auth**: Anthropic OAuth or OpenAI OAuth (recommended), API key (optional), or skip for now
|
- **Auth**: Anthropic OAuth or OpenAI OAuth (recommended), API key (optional), or skip for now
|
||||||
- **Providers**: WhatsApp QR login, bot tokens, etc.
|
- **Providers**: WhatsApp QR login, bot tokens, etc.
|
||||||
- **Daemon**: optional background install (launchd/systemd/Task Scheduler)
|
- **Daemon**: optional background install (launchd/systemd; WSL2 uses systemd)
|
||||||
- **Runtime**: Node (recommended; required for WhatsApp) or Bun (faster, but incompatible with WhatsApp)
|
- **Runtime**: Node (recommended; required for WhatsApp) or Bun (faster, but incompatible with WhatsApp)
|
||||||
|
|
||||||
Wizard doc: [Wizard](/wizard)
|
Wizard doc: [Wizard](/wizard)
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ Use these hubs to discover every page, including deep dives and reference docs t
|
|||||||
- [macOS Peekaboo plan](https://docs.clawd.bot/platforms/mac/peekaboo)
|
- [macOS Peekaboo plan](https://docs.clawd.bot/platforms/mac/peekaboo)
|
||||||
- [iOS node](https://docs.clawd.bot/platforms/ios)
|
- [iOS node](https://docs.clawd.bot/platforms/ios)
|
||||||
- [Android node](https://docs.clawd.bot/platforms/android)
|
- [Android node](https://docs.clawd.bot/platforms/android)
|
||||||
- [Windows app](https://docs.clawd.bot/platforms/windows)
|
- [Windows (WSL2)](https://docs.clawd.bot/platforms/windows)
|
||||||
- [Linux app](https://docs.clawd.bot/platforms/linux)
|
- [Linux app](https://docs.clawd.bot/platforms/linux)
|
||||||
- [Web surfaces](https://docs.clawd.bot/web)
|
- [Web surfaces](https://docs.clawd.bot/web)
|
||||||
|
|
||||||
|
|||||||
@@ -187,3 +187,11 @@ chmod 600 ~/.clawdbot/credentials/oauth.json
|
|||||||
| `accessToken` | `access` |
|
| `accessToken` | `access` |
|
||||||
| `refreshToken` | `refresh` |
|
| `refreshToken` | `refresh` |
|
||||||
| `expiresAt` | `expires` |
|
| `expiresAt` | `expires` |
|
||||||
|
|
||||||
|
## Workspace backup (recommended)
|
||||||
|
|
||||||
|
We suggest creating a **private GitHub repository** to back up the agent
|
||||||
|
workspace. The agent is really good at keeping a git repo in shape, and GitHub
|
||||||
|
is the perfect place for it. Keep it **private**.
|
||||||
|
|
||||||
|
Setup steps: https://docs.clawd.bot/concepts/agent-workspace
|
||||||
|
|||||||
@@ -7,7 +7,8 @@ read_when:
|
|||||||
|
|
||||||
# Onboarding Wizard (CLI)
|
# Onboarding Wizard (CLI)
|
||||||
|
|
||||||
The onboarding wizard is the **recommended** way to set up Clawdbot on any OS.
|
The onboarding wizard is the **recommended** way to set up Clawdbot on macOS,
|
||||||
|
Linux, or Windows (via WSL2; strongly recommended).
|
||||||
It configures a local Gateway or a remote Gateway connection, plus providers, skills,
|
It configures a local Gateway or a remote Gateway connection, plus providers, skills,
|
||||||
and workspace defaults in one guided flow.
|
and workspace defaults in one guided flow.
|
||||||
|
|
||||||
@@ -30,7 +31,7 @@ clawdbot configure
|
|||||||
- Workspace location + bootstrap files
|
- Workspace location + bootstrap files
|
||||||
- Gateway settings (port/bind/auth/tailscale)
|
- Gateway settings (port/bind/auth/tailscale)
|
||||||
- Providers (WhatsApp, Telegram, Discord, Signal)
|
- Providers (WhatsApp, Telegram, Discord, Signal)
|
||||||
- Daemon install (LaunchAgent / systemd user unit / Scheduled Task)
|
- Daemon install (LaunchAgent / systemd user unit)
|
||||||
- Health check
|
- Health check
|
||||||
- Skills (recommended)
|
- Skills (recommended)
|
||||||
|
|
||||||
@@ -77,11 +78,9 @@ It does **not** install or change anything on the remote host.
|
|||||||
6) **Daemon install**
|
6) **Daemon install**
|
||||||
- macOS: LaunchAgent
|
- macOS: LaunchAgent
|
||||||
- Requires a logged-in user session; for headless, use a custom LaunchDaemon (not shipped).
|
- Requires a logged-in user session; for headless, use a custom LaunchDaemon (not shipped).
|
||||||
- Linux: systemd user unit
|
- 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.
|
- 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.
|
- May prompt for sudo (writes `/var/lib/systemd/linger`); it tries without sudo first.
|
||||||
- Windows: Scheduled Task
|
|
||||||
- Runs on user logon; headless/system services are not configured by default.
|
|
||||||
- **Runtime selection:** Node (recommended; required for WhatsApp) or Bun (faster, but incompatible with WhatsApp).
|
- **Runtime selection:** Node (recommended; required for WhatsApp) or Bun (faster, but incompatible with WhatsApp).
|
||||||
|
|
||||||
7) **Health check**
|
7) **Health check**
|
||||||
@@ -144,7 +143,7 @@ The wizard can install `signal-cli` from GitHub releases:
|
|||||||
Notes:
|
Notes:
|
||||||
- JVM builds require **Java 21**.
|
- JVM builds require **Java 21**.
|
||||||
- Native builds are used when available.
|
- Native builds are used when available.
|
||||||
- Windows auto‑install is not supported yet (manual install required).
|
- Windows uses WSL2; signal-cli install follows the Linux flow inside WSL.
|
||||||
|
|
||||||
## What the wizard writes
|
## What the wizard writes
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,15 @@ export async function onboardCommand(
|
|||||||
runtime: RuntimeEnv = defaultRuntime,
|
runtime: RuntimeEnv = defaultRuntime,
|
||||||
) {
|
) {
|
||||||
assertSupportedRuntime(runtime);
|
assertSupportedRuntime(runtime);
|
||||||
|
if (process.platform === "win32") {
|
||||||
|
runtime.log(
|
||||||
|
[
|
||||||
|
"Windows detected.",
|
||||||
|
"WSL2 is strongly recommended; native Windows is untested and more problematic.",
|
||||||
|
"Guide: https://docs.clawd.bot/windows",
|
||||||
|
].join("\n"),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
if (opts.nonInteractive) {
|
if (opts.nonInteractive) {
|
||||||
await runNonInteractiveOnboarding(opts, runtime);
|
await runNonInteractiveOnboarding(opts, runtime);
|
||||||
|
|||||||
Reference in New Issue
Block a user