Skip to content

Blog

Try deputyOS on your laptop without buying anything

Run a self-hosted personal AI assistant on the machine you're using right now. macOS, Windows, or Linux — no SD card, no Pi, no commitment.

7 min read deputyOS team

The fastest way to try deputyOS is on the machine you’re already on. No SD card, no Raspberry Pi, no $5 cloud bill. The same image you’d eventually flash to a Pi runs as a VM on your laptop, with the wizard reachable at http://localhost:8088.

This post is the concrete walkthrough for all three desktop OSes. If you finish, your assistant is online in about two minutes — plus however long it takes to install the VM tool for your OS (UTM on macOS, WSL2 on Windows, qemu/KVM on Linux).

Why try locally first

Three reasons:

No commitment. A Pi costs $80. A cloud VPS is $4 a month forever. A local VM is free and you Ctrl-C it when you’re done. If deputyOS doesn’t fit your workflow, you’ve spent ten minutes, not eighty dollars.

Same image, same wizard. The qcow2 you import on your laptop is bit-for-bit the same image that runs on a NUC, on the rpi5 (after a quick re-bake to the Pi target), and on a cloud snapshot. What you learn here translates exactly to whichever permanent home you pick later. There’s no “evaluation edition” that’s secretly different.

Conversation memory backs up. When you do move to a Pi or cloud, deputyctl backup now writes a tarball you can drop into the new device. Your wizard configuration, channels, skills, and conversation history travel with you. You’re not throwing anything away.

The rest of this post is the per-OS recipe. Pick yours.

macOS — UTM in 2 minutes

UTM is a free, open-source virtualization GUI for macOS. It uses Apple’s Virtualization.framework on Apple Silicon (near-native speed) and falls back to QEMU on Intel Macs. We mandate UTM for the macOS path because bundling QEMU into our own launcher would be 80-100MB extra binary per release, and UTM does the job better.

One-time setup:

  1. Install UTM from the Mac App Store (free) — or download the standalone .dmg if you don’t use the App Store.
  2. Open UTM once, accept the permissions prompt for virtualization.

Run deputyOS:

curl -fsSL https://www.deputyos.com/try.sh | bash

try.sh detects macOS, confirms UTM is present, downloads the deputyos-macos-qemu-openclaw-<version>-stable.qcow2 (~750 MB) into ~/.deputyos/, verifies the minisign signature, then prints exactly which UTM clicks to do.

Manual import (if you prefer):

  1. Open UTM → File → Import → pick the qcow2.
  2. In the import dialog: set the disk image type to QEMU/qcow2, RAM to 4 GB, CPU cores to 2, set port forwarding host:8088 → guest:8088.
  3. Click Save, then click Run.

When the VM boots (~60 seconds on Apple Silicon), open http://localhost:8088 in your browser. The first-boot wizard takes over from there — see the 10-minute Pi 5 walkthrough for the wizard sequence (it’s identical for the VM).

A signed .dmg launcher is in flight (pending Apple Developer ID notarization). When that lands, double-click and the wizard opens in your browser; the manual UTM dance goes away. Until then, the steps above are the recommended path.

Windows — WSL2 in 2 minutes

Windows Subsystem for Linux 2 is a real Linux kernel under the hood. deputyOS imports as a WSL2 distribution — same as if you’d installed Ubuntu via WSL2.

Prereq check:

  • Windows 10 21H2+ or Windows 11.
  • Virtualization enabled in BIOS/UEFI (it usually is by default; if you see WSL errors about “VT-x not available”, you’ll need to enable it).

Run deputyOS:

  1. Open PowerShell as Administrator (right-click the Start menu → Terminal (Admin)).
  2. Run:
    wsl --install -d deputyos
  3. Wait ~2 minutes for the import to complete.
  4. Visit http://localhost:8088/wizard in your browser.

That’s the whole thing. WSL2 handles the network forwarding automatically — your browser hits localhost:8088 and lands on the wizard running inside the WSL2 distro.

To stop it later:

wsl --terminate deputyos

To remove it completely:

wsl --unregister deputyos

Both are clean — no leftover state, no Windows-registry crud.

A signed .exe launcher is in flight (pending Windows EV cert) to make this a double-click. The PowerShell path Just Works on a fresh WSL2 install today.

Linux — qemu/KVM in 2 minutes

Linux has the easiest local-VM story because qemu/KVM is in every distro’s package manager and the kernel already supports virtualization with no extra steps.

Install qemu (one-time, per distro):

  • Debian / Ubuntu: sudo apt install qemu-system-x86 qemu-utils
  • Fedora / RHEL: sudo dnf install qemu-kvm qemu-img
  • Arch: sudo pacman -S qemu-full
  • Alpine: sudo apk add qemu-system-x86_64 qemu-img

Run deputyOS:

curl -fsSL https://www.deputyos.com/try.sh | bash

try.sh detects Linux, checks /dev/kvm is available (if not, it warns; the VM will still run in emulation, just slower), downloads the qcow2, and boots it with KVM acceleration plus port forwarding host:8088 → guest:8088.

Manual command (no curl-pipe required):

qemu-system-x86_64 \
  -enable-kvm \
  -m 4G -smp 2 \
  -drive file=deputyos-qemu-x86_64-openclaw.qcow2,if=virtio \
  -netdev user,id=u0,hostfwd=tcp::8088-:8088 -device virtio-net,netdev=u0 \
  -nographic

Open http://localhost:8088 in your browser. The wizard takes over.

Permissions tip: if /dev/kvm exists but you get a permissions error, add your user to the kvm group: sudo usermod -aG kvm $USER, then log out and back in.

The first-boot wizard

Regardless of OS, the wizard sequence is the same. Briefly:

  1. Hostname + timezone (timezone defaults to your browser’s).
  2. Profile: pick OpenClaw for first-time users. (Why →)
  3. Model provider: paste an OpenRouter / OpenAI / Anthropic API key, or pick Local LFM2 if you want the air-gapped tier.
  4. Channels: toggle Telegram, Slack, Discord, Signal, Matrix, IRC, Email, or anything else you’d like to use.
  5. SSH (optional): paste your public key if you’ll want to ssh into the VM later.
  6. Backup bucket (optional, recommended): point at a B2 / R2 / S3 bucket you control.
  7. Cost guardrails: per-day and per-month caps with auto-pause. Defaults: $1/day, $20/month — tune to taste.
  8. Review + apply.

The wizard validates everything (it’ll fail fast on a bad provider key) and brings the agent up. Within ~30 seconds of clicking “Apply”, you can talk to your assistant at http://localhost:8088/chat.

What to do once you’ve tried it

Three branches:

“I love it. Move it to a Pi 5.” → The 10-minute Pi 5 walkthrough is the next read. Your local-VM configuration backs up via deputyctl backup now, and you can restore it on the Pi after the wizard there finishes.

“I love it. Put it on a cheap cloud VPS.” → The DigitalOcean walkthrough or Hetzner walkthrough takes you the rest of the way. ~$4–7/month for an always-on assistant.

“I want to commit data permanently.” → Set up backups via deputyctl backup schedule --every 6h against a bucket you control. Now even if you trash the VM, your conversation history survives.

What might confuse you

A few honest gotchas:

  • macOS / UTM permissions: macOS will ask once for permission to use the virtualization framework. Click allow. If you’ve blocked it before, undo that under System Settings → Privacy & Security → Developer Tools.
  • Windows / virtualization in BIOS: most modern PCs have it on by default. If wsl --install errors with “the requested operation requires elevation” or VT-x errors, you’ll need to enable VT-x / AMD-V in BIOS/UEFI. Different per vendor; ” enable virtualization in BIOS” is the right search.
  • Linux / port already in use: if something else on your machine is listening on :8088, change the host port: hostfwd=tcp::18088-:8088 and visit http://localhost:18088.
  • All OSes / firewall on localhost: a few corporate firewalls block localhost:*. Disable for development if needed, or change the port as above.
  • macOS / Apple Silicon mac → Intel guest: if you accidentally try to run the x86_64 qcow2 on an Apple Silicon Mac, you’ll see emulation speeds (~5x slower). Pick the aarch64 qcow2 instead; UTM auto-detects this if you use the import dialog rather than picking files manually.

TL;DR

macOS    : install UTM (App Store, free) → curl ... try.sh → wizard at localhost:8088
Windows  : PowerShell admin → wsl --install -d deputyos → wizard at localhost:8088
Linux    : sudo apt install qemu-system-x86 qemu-utils → curl ... try.sh → localhost:8088

Two minutes, no hardware, no commitment. When you’re ready, pick where you want it permanently — same image, same wizard, your conversation memory comes with you.

Next reads: why local-first AI matters · a ChatGPT alternative you run yourself · air-gapped tier with LFM2.

Related posts

Search

Search index isn't built yet. Run npm run build to generate it (Pagefind writes to dist/pagefind/).