# Clients & Gateways > Ways to talk to Jervis β€” **type it**, a **web page**, or your **Android** β€” all sending text to the same agent (`POST :8501/voice` or MQTT). You do not need the ESP32 to use the brain; any of these work. --- ## 1. Type it (terminal) ```bash curl -X POST http://192.168.20.13:8501/voice \ -H "Content-Type: application/json" \ -d '{"text":"add eggs to the shopping list"}' ``` Alias for convenience (add to `~/.bashrc` / `~/.zshrc`): ```bash jervis() { curl -s -m60 -X POST http://192.168.20.13:8501/voice -H "Content-Type: application/json" -d "{\"text\":\"$*\"}"; echo; } # usage: jervis add milk to the shopping list ``` --- ## 2. Web page (type + voice input) A single-file HTML page that: - lets you type a command (POSTs to the agent), and - uses your browser's **Web Speech API** so you can *speak* into it (works in Chrome/Edge, incl. desktop). Save as `voice.html` and open it, or serve it. Example (`speech-to-text` β†’ POST): ```html Jervis

Jervis

``` > ⚠️ The page calls the LAN IP directly β€” fine on your home network. If served off the LAN, add CORS to the agent and use a LAN-only endpoint or Tunnel/WireGuard. --- ## 3. Android Best options, in order of simplicity: - **Browser speech** β€” open the `voice.html` above on your phone and tap 🎀 (works in Chrome on Android; uses your phone's speech recognition). **Zero install.** - **Home Assistant Companion (mobile app)** β€” you already have HA. Configure an `assist`/text pipeline that forwards to the agent's reply (HA already consumes the same MQTT topic the agent uses). This ties into the app you already run. - **KWGT / Tasker / MacroDroid** β€” a quick action that captures voice β†’ POSTs to `:8501/voice` (Tasker "HTTP Post" with your chosen TTS engine). All three just send text to the same endpoint β€” they don't care about the ESP32. --- ## Other callers - **N8N / Prefect** β€” HTTP node β†’ `POST :8501/voice` (or MQTT publish) to trigger + hear. - **MQTT** β€” publish to `homeassistant/voice/text` on broker `.30`; the agent speaks the reply. - **Another AI model / assistant** β€” call `POST :8501/voice` like any function (see `agent-api.md`). --- ## Planning notes (not yet implemented) - Per-person Apprise notifications (sam/jo/harry/finn) β€” `send_message` tool (planned). - Calendar read via N8N webhook returning the day's events β€” `calendar` tool (planned). - Native Android app / always-listening mic β€” future.