Phone Senses

Give Hermes the senses of your own Android phone. It reads, tracks and warns — and asks before it sends anything.

Ask Hermes about your phone.

Every clip below is a real Hermes Agent session with the Phone Senses plugin. Clips marked real phone ran on a moto g34 over Termux:API. Clips marked demo phone use the built-in mock helper, so no one's private messages end up on this page.

One digest instead of two hundred notifications

Phone Senses reads notifications, missed calls and SMS straight from Android, filters out system noise and media players, and hides one-time codes before Hermes ever sees them.

  • Anything important on my phone?
  • Give me my morning phone brief.
  • Did I miss any calls?
Hermes summarising notifications and missed calls
demo phone — notifications and missed calls
Hermes giving a morning brief with battery, calls, messages and spending
demo phone — morning brief

A money tracker you never had to set up

Every bank debit and UPI payment already arrives as an SMS. Phone Senses parses them into amounts, merchants and categories, stores only those numbers, and answers questions about your spending and income. Shopkeepers can ask how much came in by UPI today.

  • How much did I spend this week?
  • How much did I receive by UPI today?
  • Set a food budget of 3000 rupees.
Weekly spending grouped by category
demo phone — spending by category
UPI income for today grouped by sender
demo phone — UPI received today

Scam texts get called out

Fake KYC warnings, electricity disconnection threats, lottery prizes, parcel fees and refund apps are scored with clear reasons, so Hermes can tell you why a message looks wrong.

  • Check my recent SMS for scams.
  • Is this message a scam?
Two scam messages flagged with reasons
demo phone — scam check

It asks before it acts

Sending an SMS, placing a call, taking a photo and revealing a code always open Hermes's own approval panel with the exact number and text. Deny it and nothing leaves your phone. With nobody there to answer, the action is refused.

  • Text Rahul that I'm 10 minutes late.
  • Call Mom.
Approval panel for sending an SMS, allowed once, SMS sent
real phone — allowed once, sent from the SIM
The phone receiving the SMS that Hermes sent
real phone — the text arrives
Approval panel for sending an SMS, denied, nothing sent
real phone — denied: nothing sent, and Hermes does not retry

Find, speak, copy

Lost the phone under a cushion? It rings at full volume, speaks, vibrates and flashes the torch, then puts your volume back. It can also read text aloud and pass links between laptop and phone.

  • Find my phone.
  • Say “dinner is ready” on my phone.
  • Copy this link to my phone.
Hermes making the phone ring
real phone — find my phone
Hermes making the phone speak aloud
real phone — speak aloud

Watch for what matters

Set rules like “tell me when a notification says delivered” or “warn me about debits over ₹1,000”. Run the check from a Hermes cron job and matches reach your chat or Telegram, each one only once.

  • Tell me when my order is delivered.
  • Warn me about debits over 1000 rupees.
A watch rule matching a newly received SMS
real phone — a watch rule catching a new SMS

No screen tapping.

Screen-driving agents take a screenshot for every step. Phone Senses calls Android's own APIs through Termux:API, so “read my latest SMS” is one request. Research on mobile agents found command-line access roughly twice as successful as screen tapping on data tasks.

  1. You ask Hermeson your laptop, in chat, Telegram or a cron job
  2. Phone Senses pluginpicks the tool, asks for approval, hides OTPs
  3. Signed requestHMAC-SHA256 over Wi-Fi, Tailscale or USB
  4. Helper in Termuxstdlib Python, fixed commands, no shell
  5. Android APIsSMS, notifications, calls, location, camera
Hermes reading the battery of a real phone
real phone — the first question, end to end
  • Thin helper, smart plugin. The phone runs a small HTTP server that only knows a fixed list of termux commands. Parsing, masking and money logic live in the plugin.
  • Your own SIM. Messages go out from your number, not a paid cloud number.
  • Works with mock data. helper.py --mock serves a fake phone, so you can try everything on a laptop.

Built for the most private device you own.

Phone Senses only ever talks to the helper on your own phone. There is no telemetry and no third-party service.

Approval before every send

SMS, calls, photos and OTP reveal go through Hermes's approval panel with the exact content shown.

One-time codes hidden

OTPs appear as [OTP hidden] in every result unless you turn reveal on and approve each request.

No message text stored

The money tracker keeps amounts, dates and merchants. Never the SMS itself.

Signed, local requests

Every request carries an HMAC signature, a timestamp and a one-time nonce. The secret is never sent.

No shell on the phone

Each endpoint runs one fixed termux command with validated input. Free text travels on stdin.

Your phone only

The helper runs visibly in Termux with a persistent notification. Stop it any time with Ctrl+C.

Set it up in fifteen minutes.

You need Hermes Agent 0.23 or newer and an Android phone with Termux and Termux:API from F-Droid.

  1. Install Termux on the phone

    Install F-Droid, then Termux and Termux:API from F-Droid. Grant Termux:API the SMS, call log, contacts, location and camera permissions, and turn on its notification access.

  2. Start the helper

    In Termux, clone the repo, create your pairing code, and start the helper.

    pkg install -y python termux-api git
    git clone https://github.com/LSUDOKO/Phone-Senses.git && cd Phone-Senses
    python phone_helper/helper.py --pair      # prints your pairing code once
    termux-wake-lock && python phone_helper/helper.py --host 0.0.0.0
  3. Add the plugin to Hermes

    Install it, then set the helper address and pairing code in Settings → Plugins → Phone Senses.

    hermes plugins install https://github.com/LSUDOKO/Phone-Senses/tree/main/plugin --enable
  4. Ask

    Try /phone, or ask “what's my phone battery?”.