diff --git a/developer-guide/integrations/hermes-agent.mdx b/developer-guide/integrations/hermes-agent.mdx new file mode 100644 index 00000000..80882275 --- /dev/null +++ b/developer-guide/integrations/hermes-agent.mdx @@ -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 +``` + +Save a short name for a voice, then use the name wherever a voice ID goes: + +```text +/fish alias add narrator +/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 `…` 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. +- **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) diff --git a/docs.json b/docs.json index 17f06c13..3bd1cf57 100644 --- a/docs.json +++ b/docs.json @@ -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" ] }, {