mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-30 19:09:28 +00:00
Closes #55908. The CLI voice-mode beep amplitude is hardcoded at 0.3 inside tools.voice_mode:play_beep(), which makes the record start/stop cues too quiet on low-volume systems and headphones. Users couldn't adjust it without editing source. Move the literal into a configurable voice.beep_volume setting (clamped to 0.0-1.0, default 0.3 to preserve prior behaviour). The new _get_beep_volume() helper reads via the same load_config() pattern used by cli.py's _voice_beeps_enabled() and hermes_cli/voice.py's _beeps_enabled(), keeps bools / out-of-range / non-numeric / NaN values safely on the default, and falls back silently if config can't load so the audio cue never breaks the voice loop on a degenerate config.yaml. Covered by tests/tools/test_voice_mode.py: - TestGetBeepVolume (12 cases: missing key, custom value, boundary 0.0/1.0, out-of-range clamp, type coercion, bool guard, NaN guard, exception guard, dict-typed voice section) - TestPlayBeepVolumeWiring (guards against re-introducing a hardcoded 0.3 literal in play_beep) Docs: website/docs/user-guide/configuration.md mentions the new key. Other locale translations (zh-Hans etc.) intentionally untouched — handled by the regular i18n sync pipeline as a separate change. No change in default behaviour: existing users hear exactly the same beep. |
||
|---|---|---|
| .. | ||
| developer-guide | ||
| getting-started | ||
| guides | ||
| integrations | ||
| reference | ||
| user-guide | ||
| index.mdx | ||
| user-stories.mdx | ||