Repository navigation
Add Hermes Agent integration page #222
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
100yenadmin
wants to merge
8
commits into
fishaudio:main
Choose a base branch
from
100yenadmin:integrations/hermes-agent
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
02cb745
Add Hermes Agent integration page
100yenadmin a3e4dbe
Hermes Agent: the desktop Voices page
cdbe3f9
Hermes Agent: noninteractive login and free-model wording
3a7c485
Hermes Agent: install from the plugin catalog; streaming needs Hermes…
eaba1f3
Hermes Agent: voice names and the Fish Audio settings page (plugin 1.…
a26a953
Hermes Agent: live dictation (plugin 1.5.0)
e804f7c
Hermes Agent: install from the Desktop catalog picker instead of the …
6b04c9c
Hermes Agent: Drama 3 with plugin 1.6.0
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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. | ||
| - **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) | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.