Talk to Your Pi,
No Network Required
murmur turns your phone into a BLE shell and AI agent for a headless Raspberry Pi. Give it a goal in plain English, or drive a real terminal yourself — the Pi only ever needs Bluetooth.

Why murmur
Two halves, one wire protocol
murmurd runs on the Pi and speaks a custom BLE GATT protocol; the app runs on your phone and hosts both Agent and Shell mode.
Bluetooth Only
The Pi never needs internet — it can be fully offline. murmurd exposes a shell over a custom BLE GATT service; the phone holds the API key and the connection.
Agent Mode
Give it a goal in plain English — "what's eating my disk space?" — and an LLM of your choice (Claude, OpenAI, Gemini, or OpenRouter) plans and runs shell commands, one at a time, showing every command and result.
Shell Mode
A real interactive terminal (xterm.js) over BLE, for when you'd rather drive the Pi yourself instead of describing a goal.
Your Key, Your Data
API keys and the BLE pairing key never leave your phone's Keychain / Keystore. murmur has no backend of its own — the only thing that leaves the phone is the LLM calls you make with your own key.
Non-Root by Default
murmurd runs the shell as a non-root user with a hardened systemd unit. sudo is opt-in per device — the app sends the password over the encrypted link only if you turn privilege escalation on.
No Compile, No Cloud
murmurd is pure Python on Linux/BlueZ — install with a one-line script, no compilation needed. No accounts, no analytics, no tracking of any kind.
Your Pi. Your Bluetooth. Your key.
Pair a Pi in a few seconds and try Agent or Shell mode for yourself.