What you need
- A spare Android phone on Android 11 or newer, on the same Wi-Fi network as your computer.
- Allternit Desktop (macOS, Windows or Linux).
- Optional: scrcpy to watch and control the phone from a window on your computer. The bot works without it.
- Optional, for plain-English tasks: Python 3.12+ tooling (
gitanduv) and a model key for Google ARTEMIS, which Allternit installs on request.
Connect a phone
Open Settings → Computers → Phones → Connect a phone.- On the phone, open Settings → About phone and tap Build number seven times to turn on Developer options. Then open Settings → System → Developer options and turn on Wireless debugging.
- In Wireless debugging, tap Pair device with QR code, then scan the code Desktop shows. No QR scanner? Tap Pair device with pairing code instead, and type the address and six-digit code into Desktop.
- Desktop pairs, connects, and shows the phone with its model, Android version, battery and SIMs. Allow the “Allow USB debugging?” prompt on the phone and tick Always allow from this computer.
- Try it: choose Open the Settings app. The phone’s Settings app opens.
What your bot can do
Bots reach these tools through the
allternit-phone MCP server that Desktop runs while a phone is paired.
Texts and calls always ask you first
Everyphone.sms.send and phone.call.dial shows a confirmation on your computer with the exact recipient and message. The default button is Deny, an unanswered request expires after two minutes, and approval applies to that one action only.
Texts and calls are person-to-person. Limits: a text at most every 15 seconds, 10 an hour and 30 a day; a call at most every 10 seconds, 10 an hour and 30 a day. There is no bulk sending, and emergency numbers are blocked.
A text is reported as submitted to the phone’s messaging service, not delivered. A call is dialled only: the bot cannot speak or listen on a carrier call (Android does not allow apps to capture call audio). Live AI voice calls use your Allternit number instead.
Limits
- Same network only for now. Phone-anywhere over the Allternit mesh is planned.
- Wireless debugging turns off when the phone reboots or leaves Wi-Fi; turn it back on and the phone reconnects.
- Messaging works on the phone’s own SIM; carriers may restrict automated texting, so keep it to real conversations.
- Android’s default messaging layout varies by maker; if a text is refused, the bot is told so rather than guessing.
For developers
- Code:
surfaces/allternit-desktop/src/main/phone-*.ts(phone-device-manager.ts,phone-tools.ts,phone-artemis.ts,phone-adb.ts,phone-gateway.ts). - adb is not bundled (Google’s platform-tools licence does not permit redistribution). Desktop uses an adb you already have, or downloads the pinned official platform-tools r37.0.1 from
dl.google.comon first use and verifies its SHA-256 before unpacking. - Google ARTEMIS is pinned to one commit and installed on request into the Desktop data folder; its MCP server runs as a per-phone sidecar that stops when Desktop quits.
- The tool gateway listens on
127.0.0.1only and needs a per-launch token written to~/.allternit/phone-gateway.json(mode 0600).