Running shell command

A familiar for your Hermes Agent.

Tsukaima is a native Android client for Hermes Agent, the open-source autonomous agent by Nous Research. Chat with your agent, watch it work, approve tool calls and switch models — from your pocket, talking straight to your own instance.

Opens in Obtainium on your phone · Get ObtainiumAndroid 10+ · about 6 MB · no account


How it works

Three steps, then it's yours.

Hermes keeps running wherever you host it. Tsukaima is just the hand you reach in with.

Point it at your instance.

Enter the server URL and sign in with your Hermes dashboard username and password. Over LAN, Tailscale, or any tunnel you already trust.

Pick a profile and a model.

Every Hermes profile shows up with its own chats. Switch the model from the chip in the top bar, mid-conversation if you like.

Talk, watch, approve.

Send a message, see the status line change as the agent thinks and runs tools, and sign off on anything risky before it happens.


Features

Built for watching an agent work.

Most chat apps assume the other side is a person typing. Tsukaima assumes it's a process — so presence, tools and permission are in the design, not bolted on.

The status line is the app.

Idle, thinking, running a tool, waiting on you — a single serif line under the top bar, with a lavender dot that breathes while the agent is busy. Glanceable from across the room.

While it thinks, the line cycles through quiet verbs instead of a spinner. Beside it, a context meter shows how much of the model's window the chat is using.

Hermes is listening15.8k / 1M ctx · 2%
Steeping matcha…
Running shell command
Waiting for your approval

Nothing runs without you.

When Hermes asks before running a tool, Tsukaima shows the full command in an inline card — approve or deny in one tap, and the agent carries on either way. Approve for this session or always, when your server allows it.

Approvals also arrive as notifications with Approve and Deny on them, so you can answer without opening the chat.

Hermes wants to run a tool

terminal
systemctl restart hermes-agent

Prose, not bubbles.

Your agent's replies sit flush on the page like a document. Markdown and code render inline, with a copy action on every code block, and tables, task-list checkboxes and math render too. Tool calls and thinking collapse into a slim row — there when you want the detail, quiet when you don't.

When the agent keeps a todo list, it shows as a Tasks card that updates in place as the work moves.

Why did the backup fail last night?
terminal · tail -n 50 /var/log/cron.log
logCopy
Oct 21 03:00:07 backup[2114]: upload failed: storage credential expired

Reasoning

The backup's storage credential expired on the 16th. Rotate it, then re-run the timer:

bashCopy
systemctl --user restart backup.timer
Tasks1 of 3 done
Done: Check the cron log
In progress: Rotate the storage credential
Pending: Re-run the backup

One agent, many hats.

Chats group by Hermes profile — so your ops agent and your research agent stay separate even though they share a server. The drawer is the navigation; there's no tab bar.

Search runs on the server, archived chats are a tap away, and cron jobs can be created, edited, paused or run from the phone.

Tsukaima使い魔
Ops profile
Why the backup failed2m
Renew the TLS certificates3d
Research profile
Compare vector databases1w
Notes on agent memory2w
Settings

Voice

Say it instead.

Voice mode listens, sends what it hears, and reads replies aloud sentence by sentence as they stream. Tap the orb to interrupt. Set Tsukaima as the device assistant and long-press home for one exchange. Speech is processed on the phone or on your Hermes, your choice. Approvals still need a tap.

On the phoneAndroid's own speech recogniser and text-to-speech, on-device where the system supports it.
On HermesOne utterance at a time, uploaded as Opus to your Hermes, transcribed and spoken with the engines you configured there.
Device assistantLong-press home for one exchange; anything that needs approval opens in the app.

Self-hosted

No account. No middleman.

Tsukaima talks directly to one Hermes instance over your own network or tunnel. There's no Tsukaima server, no analytics, no sync service. You sign in with your Hermes dashboard account; the username and password live in Android's encrypted storage and go only to your Hermes.

Settings · Hermes instance
Server URL
https://hermes.your-tailnet.ts.net
Username
you
Password
hidden password

Connected · Hermes 0.22.2

Single userOne phone, one Hermes. No teams, no sharing, no roles to manage.
Live over the WebSocketReplies, tool events and approval requests stream over Hermes' own JSON-RPC WebSocket, and missed events replay after a reconnect.
Material 3, warm by defaultLight and dark themes in a warm palette. Material You dynamic color is a switch away if you want it to match your wallpaper.
Open sourceKotlin + Jetpack Compose, Apache-2.0. Build it yourself or install the signed release from GitHub.

FAQ

Questions people ask.

Does it work without a Hermes instance?

No. Tsukaima is a client, not an agent. It needs a running Hermes Agent to connect to — on a home server, a VPS, or your laptop.

Can I reach it from outside my network?

Yes, however you'd reach Hermes itself: Tailscale, WireGuard, a reverse proxy with TLS. Plain http is allowed only for local and private hosts — loopback, LAN, tailnet and single-label names; anything else needs https.

Is anything sent to Nous or to the Tsukaima author?

No. Tsukaima has no telemetry and no service of its own; the app talks to your Hermes. Images from other hosts load only when you tap them, and voice on the phone uses Android's own speech services.

Which tool calls need approval?

Whichever ones your Hermes asks about; its own settings decide. Tsukaima surfaces every one of those as an approval card; it doesn't decide for you.

Will there be an iOS version?

Not planned. Tsukaima is Android-first and leans on Material 3.

Why the name?

A tsukaima (使い魔) is a familiar — a spirit bound to its master and sent out to do the work. The agent runs elsewhere; this is the thing in your hand that's bound to it.

How do I get updates?

Add Tsukaima to Obtainium and it watches the GitHub releases for you, or download the next APK from Releases. The app does not update itself.

Which Android versions?

Android 10 and newer, on phones, tablets and foldables. On a wide screen the drawer becomes a pane beside the chat.


Cream, one lavender,
a serif where it matters —
the agent is loud.


Bind your familiar.

Free, open source, no account. Install, sign in to your Hermes, start talking.

Opens in Obtainium on your phone · Get Obtainium