Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
91 changes: 91 additions & 0 deletions developer-guide/integrations/hermes-agent.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
---
title: "Hermes Agent"
description: "Give Hermes Agent a Fish Audio voice with text-to-speech, speech-to-text, voice cloning, and voice design"
icon: "terminal"
---

[Hermes Agent](https://github.com/NousResearch/hermes-agent) is an open-source AI agent by Nous Research. It runs in the terminal, in messaging apps such as Telegram and Discord, and in a desktop app. The official Fish Audio plugin for Hermes makes Fish Audio the agent's speech and transcription provider. It also gives the agent tools to search, clone, and design voices.

## Prerequisites

- Hermes Agent 0.21.5 or newer, on macOS or Linux
- A Fish Audio API key from [fish.audio/app/api-keys](https://fish.audio/app/api-keys)

## Installation

Fish Audio is in the Hermes plugin catalog. Install it and enable it:

```bash
hermes plugins install fish-audio --enable
```

In the Hermes desktop app, you can instead open **Capabilities** > **Plugins**, search the catalog for Fish Audio, and install it there. The plugin's catalog page is [hermes-agent.nousresearch.com/docs/plugins/fish-audio](https://hermes-agent.nousresearch.com/docs/plugins/fish-audio).

Hermes 0.21.5 installs the plugin's Python dependencies automatically. Newer Hermes builds ask first; add `--yes-deps` to answer yes.

## Configuration

Save your API key on the machine that runs Hermes:

```bash
hermes fish login
```

`login` checks the key against your Fish Audio account and saves it to the active Hermes profile. Where no speech or transcription provider is set, it selects Fish Audio. It asks before it replaces another provider; run without a terminal, it keeps the other provider unless you pass `--yes`.

You can also add the key in the Hermes desktop app under **Plugins** > **Fish Audio**, or with `hermes tools` > **Text-to-Speech** > **Fish Audio**.

Check the setup:

```bash
hermes fish doctor
```

`doctor` makes one short billed synthesis. Add `--no-synth` to skip it. Restart a running Hermes gateway or the desktop app to pick up a new key.

## Choose a voice

Search the voice library from any chat and switch voices:

```text
/fish voices narrator
/fish use <voice-id>
```

Save a short name for a voice, then use the name wherever a voice ID goes:

```text
/fish alias add narrator <voice-id>
/fish use narrator
```

In the Hermes desktop app, open **Voices** to search the library, preview a voice, and click **Use**. To add the page, switch on **Desktop** for Fish Audio under **Capabilities** > **Plugins**, then restart the Hermes gateway once. On Hermes 0.21.6 or newer, **Settings** > **Plugins** > **Fish Audio** shows the agent's voice, speech model, and saved voice names, and lets you change them.

Or set a voice in the profile's `config.yaml`:

```yaml
tts:
provider: fish-audio
fish-audio:
voice: 933563129e564b19a115bedd57b7406a # Sarah
model: s2.1-pro
```

## Features

- **Text-to-speech**: voice replies, read-aloud, and voice notes use Fish Audio. On Hermes 0.21.6 or newer, CLI voice mode and desktop voice replies stream sentence by sentence. Hermes 0.21.5 waits for each sentence in CLI voice mode, and for the whole reply in the desktop app, to finish synthesizing before it plays.
- **Drama 3**: with plugin 1.6.0 or newer, `/fish model drama-3` makes [Drama 3](/features/text-to-speech/drama-3) the agent's speech model. Directions in square brackets work in every voice reply. Agents send word tags such as `<whisper>…</whisper>` through `fish_speak`, which passes them to Fish Audio unchanged.
- **Speech-to-text**: voice notes and desktop dictation are transcribed with `transcribe-1-pro`. On Hermes 0.21.6 or newer, set `stt.streaming: true` for live dictation: in CLI voice mode, the TUI, and the desktop composer mic, the text appears phrase by phrase while you speak. Live dictation streams microphone audio to Fish Audio's realtime endpoint and is billed per phrase at the speech-to-text price.
Comment thread
coderabbitai[bot] marked this conversation as resolved.
- **Agent tools**:
- `fish_speak` for expressive and multi-speaker speech, with word timestamps and subtitles;
- `fish_voices` to search, clone, design, and manage voices;
- `fish_transcribe` for transcripts with speaker turns and SRT subtitles.
- **Voices page in the desktop app**: browse and preview the voice library, choose the agent's voice, clone or design voices, and check your API credit.
- **Commands**: `/fish status`, `/fish voices`, `/fish use`, `/fish model`, `/fish preview`, `/fish alias`, and `/fish balance` work in every chat. `hermes fish login`, `status`, `doctor`, and `use` work in the terminal.

Synthesis, transcription, cloning, and voice design are billed to your Fish Audio API credits, except requests that run on the free `s2.1-pro-free` model. Cloning and deleting voices from chat go through Hermes's approval prompt; on the desktop Voices page, you confirm them on the page.

## Resources

- [GitHub](https://github.com/100yenadmin/fish-audio-hermes)
- [Hermes Agent](https://github.com/NousResearch/hermes-agent)
3 changes: 2 additions & 1 deletion docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,8 @@
"developer-guide/integrations/livekit",
"developer-guide/integrations/n8n",
"developer-guide/integrations/telnyx",
"developer-guide/integrations/slng"
"developer-guide/integrations/slng",
"developer-guide/integrations/hermes-agent"
]
},
{
Expand Down