How-To Self-Hosting

Installing Hermes Agent on Your Android Phone with Termux

Hermes Agent

Hermes Agent

@hermesagents

March 15, 2026

7 min read

There is an old Pixel 4a in my desk drawer that has been dead to me for about eighteen months. Bad battery, cracked back, slightly soft hinge on the SIM tray. Also a 2.0 GHz eight-core CPU and six gigabytes of RAM — which is to say, a perfectly good small Linux computer.

Last week I charged it, installed Termux, and put Hermes Agent on the thing. Twenty minutes later I was talking to an AI assistant from the Telegram app on whichever real phone I happened to be carrying. This post is about how that works and why the constraints of a phone are actually a useful lens on what Hermes is.

What actually runs on an Android phone

Hermes Agent is a Python program. Termux — the F-Droid build, not the stale Play Store one — gives you a real Linux userland on Android: apt, Python 3, git, ssh, a shell. That is enough for most of the Hermes install path to work the same way it does on a VPS.

What is different on Android is not Hermes. It is the operating system around it.

Android is a hostile host for long-running background processes. There is no systemd, no traditional init, and the power manager is aggressive — it is happy to freeze any process whose screen is not in the foreground, and it will do so the moment you lock the phone. Run Hermes naively and your Telegram bot stops replying the instant the display turns off.

The trick is Termux's built-in wakelock helper (termux-wake-lock), which asks Android politely to leave your process alone. Combine it with tmux or screen so the session survives shell disconnects, point the phone at a charger, and you have a small, always-on server that lives inside your desk drawer.

Why Hermes actually fits on a phone

Most "AI assistant on your phone" projects go one of two ways. Either they ship a giant mobile app that wraps an API call (which is really just a chat client for somebody else's agent), or they try to run a small quantized model directly on the device and give you something slow and not very smart. Hermes does neither.

What you actually run on the phone is the Hermes gateway — the part that listens on Telegram, Discord, Slack, and so on, manages sessions, and talks to a language model provider of your choice. The language model itself does not have to live on the phone. You can have the phone talk to Nous Portal, OpenAI, Anthropic, or any other provider over HTTPS. The phone's job is to be a tiny, cheap, always-on coordinator. The heavy lifting happens in the cloud, or on another server, or wherever you like.

This is where the architecture decisions from the v0.2.0 release quietly pay off on a device nobody designed Hermes for. The centralized provider router means you can set the phone to use a cheap model by default (say, the free-tier MiMo on Nous Portal) and let it escalate to a stronger model only for hard tasks. The skill manifest system only loads skills whose prerequisites actually exist on the device — no browser-automation skill is going to try and boot a headless Chrome on a phone that does not have one. The filesystem checkpoint and rollback mechanism still works, because it does not care how beefy the machine underneath it is.

What you give up, what you get back

The things that do not work on a phone are mostly obvious: no systemd service install (so you use tmux instead, and accept that a reboot means manually restarting the gateway), no heavy local inference, no Docker-based tool sandboxes, and limited local browser automation. The browser skill can still work if you point it at a headless Chrome on another machine, but Android itself is not going to spin up Playwright for you.

What you get back is everything that makes a small always-on server attractive: LTE by default (the phone is its own network), built-in UPS (the battery will keep it alive for hours during a power cut), built-in monitoring (the phone's battery display is telling you exactly what the server is doing), and silent operation. Zero fan noise. Zero rack space. The power draw of a nightlight.

The bigger point

The interesting thing about running Hermes on a dead phone is not that it works. It is that it works the same way it works on a $200 server. Once an agent is decoupled from the machine it runs on, it stops mattering very much which machine you run it on.

A dead Pixel 4a in a drawer is a perfectly good home for a bot you talk to ten times a day. That is not a compromise. That is the whole idea.

Read more

Stay in the Loop

Community updates on Hermes Agent releases, new skills, and integrations. No spam, unsubscribe anytime.