🤖HermesBlog
Hermes Official Tutorials · Part 278/9/2026

Tutorial 27: Voice Mode

Tutorial 27: Voice Mode — easy-to-understand guide based on official docs

This is part of the Hermes Agent official tutorial series. View all tutorials

Imagine you’re cooking and your hands are covered in flour—you don’t want to type a command into your computer. Voice Mode lets you talk to Hermes Agent instead, just like using a walkie-talkie. You press a key, speak, release, and the agent listens and responds.


Step 1: Turn On Voice Mode

First, you need to enable microphone mode inside the CLI. Type:

/voice on

Now Hermes is listening for your voice. But you don’t want it to record everything you say all the time—that would be chaos. That’s why we use push-to-talk.

Step 2: Set Your Push-to-Talk Key

By default, the key is Ctrl+B. You press and hold it while speaking, then release to stop. Think of it like a walkie-talkie button.

You can change this in your config file:

voice:
  record_key: "ctrl+b"

Other useful settings include:

  • max_recording_seconds: 120 — a hard stop so you never accidentally record for 10 minutes
  • silence_threshold: 200 — how quiet is “silence” (lower = more sensitive)
  • silence_duration: 3.0 — after 3 seconds of silence, recording stops automatically

Step 3: Toggle Spoken Replies

By default, Hermes will show text replies on screen. But if you want it to speak back to you, use:

/voice tts

TTS stands for “text-to-speech.” You can also set auto_tts: true in the config to have spoken replies on by default every time you enable voice mode.

Step 4: Streaming—Watch Words Appear Live

Now let’s talk about streaming. Normally, Hermes waits until it has the full answer, then shows it all at once. Streaming shows the words as they’re generated, like watching someone type in real time.

For the CLI, enable it like this:

display:
  streaming: true
  show_reasoning: true   # optional: also show the "thinking" tokens

You’ll see a streaming box with tokens appearing one by one. Tool calls (like when the agent runs a command) are still hidden. If your AI provider doesn’t support streaming, Hermes automatically falls back to normal display—no errors.

Step 5: Streaming on Chat Platforms (Telegram, Discord, Slack)

Streaming works on messaging apps too, but it’s a bit different. Instead of showing a live box, Hermes sends a message on the first token, then edits that same message as more tokens arrive.

Enable it globally:

streaming:
  enabled: true
  transport: auto   # "auto" | "edit" | "off"
  • edit_interval: 0.8 — how often (in seconds) the message gets updated
  • buffer_threshold: 24 — if 24 characters accumulate before the interval, force an update
  • cursor: " ▉" — a blinking cursor shown while streaming

Note: Some platforms (like Signal, Email, Home Assistant) don’t support message editing. Hermes detects this on the first try and gracefully turns off streaming for that session—no spam, no errors.

Step 6: Handle Long Replies and Telegram Timestamps

If a reply is longer than the platform’s limit (~4096 characters), Hermes automatically finalizes the current message and starts a new one. No manual splitting needed.

Telegram special case: When you edit a message, the original timestamp stays. So a reply that took 2 minutes to stream would still show the “first token” time. If you want a fresh timestamp on completion, set:

streaming:
  fresh_final_after_seconds: 0   # 0 = always edit in place (default)

Set it to e.g. 10—if the preview is older than 10 seconds, Hermes deletes it and sends a brand-new final message. The default 0 avoids the brief “message deleted” flicker on some clients.

Step 7: Per-Platform Defaults (Important!)

The master streaming.enabled is false by default—nothing streams until you flip it. Once you do:

  • Telegram streams out of the box (display.platforms.telegram.streaming: true)
  • Discord does not stream by default (display.platforms.discord.streaming: false)

You can override each platform individually in your config.


Summary

Voice Mode turns Hermes into a hands-free assistant—press a key, talk, and get spoken replies. Streaming makes responses feel instant and alive, whether in the terminal or on chat apps. Start with /voice on, tweak the config to your taste, and let the words flow.

Next up: Tutorial 28—Multi-Platform Deployment: Run the same agent on Telegram, Discord, and Slack without changing your code.

📖 Official Docs

This article is based on the official Hermes Agent documentation:Official docs › guides/use-voice-mode-with-hermes