deputyOS — your personal AI assistant, on hardware you own. Apache-2.0.
v0.3.0 public preview
Try a personal AI assistant
on this device. Yours forever.
Run it on your laptop now. Move it to a Pi 5, a NUC, or a $5 cloud
VPS when you're ready — same image, same wizard. Apache-2.0, no
telemetry, air-gapped tier included.
Downloads the macos-qemu qcow2, walks you through the UTM import dialog,
opens the wizard in your browser. A signed .dmg launcher is in
flight (pending Apple Developer ID notarization).
One image, three deployment paths. Start on the laptop you're reading
this on — when you outgrow it, move to a Pi or a cloud VPS without
re-learning anything.
~2 min
Try now on this device
Local VM via UTM (macOS), WSL2 (Windows), or qemu/KVM (Linux). No SD card, no flashing,
no monthly bill. Throw it away with one command if you don't like it.
Home-server operating systems assume a single box, so running five
means five browser tabs and five upgrade decisions. deputyOS treats the
fleet as the unit: live status, updates pushed to a selection,
allow-listed commands across a group, and per-device spend — with
nothing forwarded on any router. Tracking every device you run is
free; paid plans cover the ones you want us to host.
Each device opens the connection outward and holds it, so nothing needs
forwarding at any of the three sites. Requests from the console travel back
down a connection that already exists.
Every runtime, native module, model file, and signature DB lives in
the image. No first-boot apt, npm,
pip, or git clone ever runs on your device.
Why this matters →
Air-gapped tier
Build with AIRGAP=1. The image bakes
LFM2 via llama.cpp,
locks egress at nftables, works with -net none.
Your files, the agent's hands
Mount host folders, auto-mount USB on bare metal, attach SMB / NFS shares —
every mount is reviewable + revocable in one click.
Drive-mount system →
Security on by default
AppArmor enforce, ufw default-deny, fail2ban, hardened sysctls,
ClamAV signatures pre-loaded, Magika hooked into the agent's
file-upload path. No checkbox required.
Three profiles
Pick the assistant that matches your job
Switch between them with deputyctl profile switch <id>.
Memory persists per profile. Adding a fourth requires no Rust changes —
just a manifest + a bake recipe.
OpenClaw
The generalist. Node.js. 23 channels (Telegram, Slack, Discord, Signal,
Matrix, IRC, WhatsApp, Email, more). Best first-time pick.
Hermes Agent
The memory-rich Python agent. FTS5-backed recall, skill chains,
17+ gateways. Pi 5 16 GB shines here.
Khoj
The personal-knowledge agent. Indexes your notes, PDFs, photos, and
emails locally. Chat with your own content.