Back to projects
Archived

Hermes-Discord-Voice

Self-hosted voice for the Hermes agent, straight in a Discord call.

The bot joins your Discord voice channel, captures a spoken turn, transcribes it locally with Whisper, sends the text to Hermes, and speaks the reply back through the TTS voice you pick. Personal servers only, with no hosted service in the middle.

Platform
Node.js / Discord
Source
GitHub repository
Updated
Jun 5, 2026
Stack
TypeScript · Discord · Whisper
~ $ gh repo view jx-grxf/Hermes-Discord-Voice
Hermes-Discord-Voice  Self-hosted voice for the Hermes agent, straight in a Discord call.

status   Archived
stack    TypeScript · Discord · Whisper
platform Node.js / Discord
repo     github.com/jx-grxf/Hermes-Discord-Voice

~ $ git clone https://github.com/jx-grxf/Hermes-Discord-Voice.git && cd Hermes-Discord-Voice
~ $ 
Project data, read from GitHub at build time

Problem

Talking to a local agent over Discord voice usually means trusting a hosted bot and giving up control of the speech pipeline.

What I built

A self-hosted Discord.js bridge with local whisper-cli transcription, one Hermes session per guild, a per-guild speaker allowlist, and pluggable TTS: Piper, macOS say, ElevenLabs or a custom command.

Highlights

  • Joins Discord voice, records a turn, and transcribes it locally with whisper-cli, no cloud speech recognition.
  • Routes transcripts to Hermes over CLI by default, or its API/Gateway.
  • Replies through Piper, macOS say, ElevenLabs, or your own TTS command.
  • Private by default: one session per guild with a speaker allowlist you control.

Developer setup

clone
git clone https://github.com/jx-grxf/Hermes-Discord-Voice.git && cd Hermes-Discord-Voice