Skip to content

Releases: 100yenadmin/fish-audio-hermes

v1.7.7

Choose a tag to compare

@100yenadmin 100yenadmin released this 15 Oct 17:07
e58aaa0

Fish Audio plugin for Hermes 1.7.7

Errors that won't go away are shown at once. Sometimes Fish reports a permanent problem, such as an invalid API key or an account out of API credit, inside a status that normally means "try again" (an HTTP 500). Until now the plugin tried twice more before showing the error, so you waited about 1.7 seconds for the same answer. Now the error appears after one request, for:

  • streamed voice replies;
  • whole-file synthesis;
  • transcription.

A busy or temporarily unavailable Fish is still retried, as in 1.7.6.

The busy-Fish retry is now checked live before every release. A new acceptance row makes a local stand-in refuse the first sentence of a streamed reply, then checks that the sentence is still spoken. This proves the 1.7.6 fix on the real Hermes surfaces without ever pushing a shared key into Fish's real concurrency limit.

Install or update: hermes plugins install fish-audio --enable --yes-deps (or update from Desktop ▸ Capabilities ▸ Plugins).

v1.7.6

Choose a tag to compare

@100yenadmin 100yenadmin released this 15 Oct 16:25
f4fbe2a

Fish Audio plugin for Hermes 1.7.6

No more dropped sentences when Fish is busy. In a live conversation or a streamed voice reply, each sentence is its own Fish request. When Fish turned one away before sending any audio, that sentence was silently left out of the spoken reply. This happened on the concurrency limit, or on a temporary 500 or 503. Now it is tried again, up to three times, with about 1.7 seconds of backoff at most.

  • Accounts with less than $100 of top-ups get 5 concurrent requests, so this happened most when several agents shared one key.
  • A sentence is still never spoken or billed twice. There is no retry once audio has started, or when Fish may already have done the work: a 502 or 504 from a proxy, or a connection lost after the request was sent.

A shorter settings page. Settings ▸ Plugins ▸ Fish Audio ▸ Agent settings used to open with a 14-line description above the API key field. It is now two sentences. The full disclosure is in the README.

Reporting a problem on older Hermes. On Hermes older than 0.21.6, plugin skills are not in the agent's system prompt. The README now says how to reach the report-a-problem skill there: ask the agent to load fish-audio:fish-audio-report-problem by name.

Checked before release. From this release on, every release runs the acceptance suite in acceptance/. It drives each feature through the real Hermes surfaces on the latest Hermes release and on the evaOS runtime:

  • the CLI, chat commands and tools;
  • the gateway routes;
  • the Desktop app in both themes, including voice conversation through a simulated microphone.

Install or update: hermes plugins install fish-audio --enable --yes-deps (or update from Desktop ▸ Capabilities ▸ Plugins).

v1.7.5

Choose a tag to compare

@100yenadmin 100yenadmin released this 15 Oct 08:39
7ae0b04

Fish Audio plugin for Hermes 1.7.5

A place to enter your key. If an agent has no Fish Audio key, the Voices card's main button is now Enter API key. It opens the Fish Audio API key field (Settings ▸ Plugins ▸ Fish Audio ▸ Agent settings) for the agent you are looking at.

  • Paste the key and save. It works right away, with no restart.
  • The plugin's own Settings page used to show the same card again. Its button now goes to the field too.

Clearer steps. All of these now name the Agent settings field:

  • the card's steps;
  • the Desktop and chat "no key" messages;
  • the setup skill;
  • the README.

On older Desktop without Settings ▸ Plugins, they point to the gear on the fish-audio row in Capabilities ▸ Plugins instead.

Known host issue (outside this plugin). In the dark theme, an empty key field in Settings is very hard to see. A fix, a placeholder in the empty field, has been proposed to Hermes and to the evaOS app.

Install or update: hermes plugins install fish-audio --enable --yes-deps (or update from Desktop ▸ Capabilities ▸ Plugins).

v1.7.4

Choose a tag to compare

@100yenadmin 100yenadmin released this 14 Oct 21:56
9446fb0
  • Report a problem: a yes to "does this hold any secrets?" no longer counts as approval to publish. Only an explicit yes to publishing, given after you have seen the final text, files the issue or comment. This matches the shared plugin community kit.
  • Voice replies on Telegram: fish_speak now asks the agent to add one short line of text next to the audio tag. Before this, a streamed reply that was only the tag could leave a stray "MEDIA" message in the chat, which Hermes's streaming display never cleared. The core fix is in NousResearch/hermes-agent#138551.
  • Tests: the Desktop gateway tests use a temporary Hermes home for the dashboard's own profile, so they no longer read ~/.hermes/.env.

v1.7.3

Choose a tag to compare

@100yenadmin 100yenadmin released this 14 Oct 17:09
95b86ab
  • Report a problem, finished:
    • Issue search words now come from a file (--search "$(cat '<search file>')"), like the title, so quotes and
      apostrophes can neither break nor escape the command.
    • Security: a key leak or data sent somewhere unexpected, found at any step, goes back to the private advisory form,
      and a possibly exposed key comes with "revoke it and create a new one". A security problem in Hermes itself goes
      to Hermes's private form.
    • Approval: the agent shows the title and text exactly as saved for filing, says the issue or comment will be public,
      asks you to confirm it holds no secrets, and shows it again after any change before your yes. A possibly exposed
      key on Desktop or an operator-managed account gets the right way to replace it.
    • Reports leave out your API credit amount, any voice id that may be your own clone, and links in the last-failure
      message.
    • A matching closed issue gets a "check your version" answer instead of a duplicate, and logs are read for the last
      hour instead of the last 300 lines.
    • /fish status is run where the failure happened, because its last failure covers only the running process.
    • If filing from the CLI fails, you get the title and draft to paste yourself.

v1.7.2

Choose a tag to compare

@100yenadmin 100yenadmin released this 14 Oct 16:20
7201401
  • Report a problem, shell-safe: the agent now saves the issue title to a file and files with
    --title "$(cat <title file>)", so the shell passes the title unchanged: backticks, $, quotes and apostrophes
    included. Before, a title like `hermes fish doctor` fails could run that command (a billed synthesis). Issue
    search words are letters and digits inside single quotes. Maintainers filing with it add
    --label bug,triage-pending,agent-drafted. AGENTS.md quotes its issue search the same way.

v1.7.1

Choose a tag to compare

@100yenadmin 100yenadmin released this 14 Oct 15:53
0a630e8
  • Report a problem: a new fish-audio:fish-audio-report-problem skill. Ask your agent to "report a problem with
    Fish Audio": it checks setup with hermes fish doctor --no-synth and /fish status (no billed synthesis unless you
    say yes), searches existing issues, drafts a report with the bug form's headings, and files it with gh only after
    you approve that draft. Security problems go to the private advisory form instead, and problems in Hermes itself to
    the Hermes tracker.
  • Contributor docs: AGENTS.md, CONTRIBUTING.md, a bug report form, a PR template and a troubleshooting section
    in the README (#40).

v1.7.0

Choose a tag to compare

@100yenadmin 100yenadmin released this 13 Oct 20:09
5f43fcf
  • Free-model wording follows Fish's end date: Fish announced s2.1-pro-free is free through 30 November 2026.
    Before 1 November nothing changes. During November the notice says how to keep speaking after the end date. From
    1 December the setup badge and the Desktop onboarding (Voices page and Settings) no longer advertise a free model,
    model pickers show "S2.1 Pro Free (free period ended)", /fish status says "no API credit" instead of "free tier",
    an explicit s2.1-pro-free choice gets a warning in /fish status, /fish model, hermes fish and
    hermes fish login, and a billing error says the free period ended (Desktop too). Which model the plugin sends does
    not change on any date.
  • Install-time text carries the date: the plugin description, the "Allow s2.1-pro-free" setting, the README,
    SECURITY.md and the setup skill say the free period was announced through 30 November 2026.
  • Desktop translations write the end date the local way in all 8 non-English languages.

v1.6.1

Choose a tag to compare

@100yenadmin 100yenadmin released this 13 Oct 19:22
6198b36
  • Voice design accepts Fish's limits: 2000-character voice-design descriptions and 150-character sample text,
    through the tools and Desktop Voices page. Model descriptions and titles keep their existing limits.
  • Live dictation keeps the last phrase: when it is still pending, Hermes re-transcribes the recording instead of
    returning a shorter transcript.
  • README: explains how Fish's MCP server and this plugin fit together, their separate credits and which to use.
  • Expressive speech: a Drama 3 worked example with a direction, a sound and paired word tags.

v1.6.0

Choose a tag to compare

@100yenadmin 100yenadmin released this 13 Oct 17:36
a727c14

Support for Fish Audio's Drama 3, released 2026-10-13.

  • Drama 3 is selectable everywhere. Use /fish model drama-3, "model": "drama-3" in fish_speak, or the Desktop settings page. Fish now lists the released id drama-3 in its API. Fish sends an unknown model id to S2.1 Pro without an error, so the exact id matters. Configs that store drama-3-preview keep working.
  • Directing Drama 3. The expressive-speech skill teaches agents Drama 3's controls:
    • plain-language directions in square brackets, in any language;
    • sounds and pauses such as [sigh] and [pause];
    • word tags such as <whisper>…</whisper>, <slow>, <emphasis> and <forceful>;
    • phoneme and multi-speaker tags.
      Angle-bracket tags go through fish_speak, which sends text unchanged. Hermes's plain text_to_speech cleanup breaks closing tags such as </whisper> (NousResearch/hermes-agent#133131). Square-bracket directions work on both paths.
  • Parity pins follow Fish's API after the Drama 3 release.

Checked against the live Fish API: with drama-3, no test run spoke a word tag aloud; with S2.1 Pro or a misspelled id, every run read them out as words.

Requires Hermes 0.21.5 or newer, as before; streaming voice and live dictation need 0.21.6 or newer.