Skip to main content

completion-sound

❖ Communityv0.1.0

Pick the sound Hermes Desktop plays when a turn finishes: one of the 14 built-in presets or your own audio file (mp3, wav, ogg), with an optional different sound during night hours. Files stay in the plugin's local storage. Desktop-only (desktop/plugin.js inside the plugin SDK surface); no agent tools, hooks, middleware or env vars.

Open in Hermes Desktop
hermes plugins install completion-sound

README

From the reviewed commit 160883d ↗; it updates when the author re-pins.

Completion Sound

A Hermes Desktop plugin that picks the sound played when a turn finishes:

  • one of Hermes' 14 built-in presets (Two-note comfort, Glass ping, Soft marimba, …), or
  • your own audio file (mp3, wav, ogg, …), and
  • optionally a different sound during night hours (the window may cross midnight).

Settings live under Settings ▸ Plugins ▸ Completion Sound, with a preview button next to each choice. The UI is in English and Korean and follows the app language.

Install

In Hermes Desktop, open Capabilities ▸ Plugins ▸ Install from Git, keep the Desktop target checked, and use this repository's URL:

https://github.com/Zamoca42/hermes-completion-sound

Then click Rescan (or restart) if it does not appear right away.

Hermes' own completion sound still plays

Hermes has no setting to turn its built-in completion sound off yet, and the plugin SDK gives plugins no way to switch it off, so you will hear both sounds. This plugin does not patch the app to get around that. Open work in hermes-agent that would fix it:

  • PR #140350 adds a "None" option to the built-in sound picker. Once it ships, choose "None" there and this plugin's sound is the only one.
  • PR #78203 adds a custom audio file and a volume control to the built-in picker. If it ships, the only thing this plugin adds is the night sound.

Details

  • Trigger: the gateway event message.complete, the same event Hermes' built-in sound uses. Replayed events (after a reconnect) are ignored, and several chats finishing within 1.5 s play one sound.
  • Your files are stored in the plugin's own storage as data URLs: up to 3 files, 1 MB each. They never leave your machine.
  • Volume applies to your files. Presets play at Hermes' own level.
  • Several windows: Hermes plays its built-in sound in one window only; a plugin cannot use that coordination, so with several windows open each may play.
  • Surfaces used: ctx.onEvent, ctx.storage, ctx.i18n, ctx.registerSettingsPage only. No agent tools, hooks, middleware or environment variables.

Build

desktop/plugin.js is committed, so installing needs no build. To rebuild after editing src/:

npm install
npm run build

The presets come from Hermes' own synth code, vendored unchanged in src/vendor/ (see NOTICE); build.mjs maps its app imports to small shims.

License

MIT. Includes code from hermes-agent, Copyright (c) 2025 Nous Research, under the MIT license (NOTICE).

← Back to the catalog · catalog built Oct 18, 2026