Turn a spare phone into an AI worker.
Hermes runs on your Android phone. Agent Media Tools handles secure pairing, task delivery, health, and results—without opening a port on the device.
✓ paired securely
↻ heartbeat sent
↻ polling for tasks
task received
“Organize today’s notes”
→ Hermes reasoning
→ tools complete
✓ result delivered
↻ waiting...
Sign in to preview your nodes
Pairing and tasks are scoped to your Agent Media Tools account.
Sign in or create an accountPhone installation wizard
Allow 20–40 minutes. Progress is saved only in this browser. Keep Termux open while you work through the steps.
1Choose and install Termux
Pick the route that fits your goal. All three are official; the Termux project currently describes its Play Store build as experimental. Do not mix installation sources.
If you choose Google Play, continue through connection testing and start the connector manually when needed. Step 8 requires the F-Droid or GitHub Termux:Boot path.
pkg update && pkg upgrade -y pkg install -y curl nano nodejs
2Install Hermes Agent
The official installer detects Termux and uses Android-compatible dependencies. Voice extras are not part of the tested Termux path.
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash source ~/.bashrc hermes doctor
3Choose a provider and model
Run the interactive model wizard and select a provider you already trust. Provider charges and data handling are separate from Agent Media Tools. Then make one direct Hermes request.
hermes model hermes
At the Hermes prompt, ask: Reply with exactly: Hermes is ready, then use /quit.
4Enable the private loopback API
Edit ~/.hermes/.env and add the values below. Replace the placeholder with a new local secret; do not paste a provider key. Keep the default loopback host—never bind this API to 0.0.0.0.
mkdir -p ~/.hermes chmod 700 ~/.hermes nano ~/.hermes/.env # Add these two lines in the editor: API_SERVER_ENABLED=true API_SERVER_KEY=replace-with-a-new-long-random-secret
Start it with hermes gateway. Leave it running and open a second Termux session for the next step.
5Pair Agent Media Tools
Generate a single-use code. It expires in ten minutes and becomes a device-only credential stored with mode 0600.
6Test both connections
Export the same local API secret from step 4, then run the connector check. This sends a heartbeat to Agent Media Tools and one short model request to the loopback Hermes API.
export API_SERVER_KEY='your-local-hermes-secret' AMT_SITE_URL='SITE_ORIGIN' node ~/amt-node.js --check
The check may use a small amount of your configured model provider quota.
7Allow background operation
- Android Settings → Apps → Termux → Battery → choose Unrestricted or Don’t optimize.
- Allow background data for Termux.
- In Termux, run
termux-wake-lock.
Names differ by phone vendor. Android 12+ can still stop Termux under system pressure, so the dashboard heartbeat—not a green setup check—is the source of truth.
8Start Hermes and the connector after reboot
Install Termux:Boot from the same source as Termux, then open its launcher once. Save the API secret in a private environment file and create the boot script:
nano ~/.amt-node.env # Add: API_SERVER_KEY='your-local-hermes-secret' chmod 600 ~/.amt-node.env mkdir -p ~/.termux/boot nano ~/.termux/boot/10-amt-node # Paste the boot script shown below, save, then: chmod 700 ~/.termux/boot/10-amt-node
#!/data/data/com.termux/files/usr/bin/sh termux-wake-lock . "$HOME/.amt-node.env" hermes gateway >> "$HOME/hermes-gateway.log" 2>&1 & sleep 8 AMT_SITE_URL='SITE_ORIGIN' node "$HOME/amt-node.js" >> "$HOME/amt-node.log" 2>&1 &
Reboot once, unlock the phone, wait about a minute, and confirm the node heartbeat below.
9Run the first real task and troubleshoot
Use the node card below to send: Reply with the current date and one sentence confirming this ran through Hermes on Android. Wait for a completed result.
If it fails: run hermes doctor; verify hermes gateway is listening on 127.0.0.1:8642; rerun node ~/amt-node.js --check; inspect tail -n 80 ~/hermes-gateway.log ~/amt-node.log; and confirm the node was not revoked. For signature errors, reinstall Termux and Termux:Boot from the same source. For stale/offline status, reopen Termux and rerun the connector.
Optional browser simulator
Generate a code in step 5, then pair the simulator to validate the control plane without a phone. It does not test Hermes or Android.
Your node fleet
Send a bounded prompt to a paired node. Node credentials cannot access other devices or accounts.
Task results
A real phone connector sends each prompt to Hermes on 127.0.0.1:8642.
Local preview only. No billing, production deployment, remote shell, camera, microphone, location, clipboard, or file synchronization is included in this MVP.