mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-06-12 08:51:53 +00:00
* feat(desktop): surface TTS/STT/terminal backends as Settings dropdowns Every native tool backend that the agent supports now shows up as a clickable picker in the desktop Settings UI instead of a free-text box. Desktop Settings renders a config field as a <Select> only if its dotpath is a key in ENUM_OPTIONS (helpers.ts::enumOptionsFor returns undefined -> free-text <Input> otherwise). Three backend-selector fields were surfaced in their sections but missing from the map, so users had to hand-type the provider name and could reasonably assume it was unsupported: - tts.provider — now lists all built-in TTS backends incl. xai (Grok) - stt.provider — local/groq/openai/mistral/elevenlabs - terminal.backend — local/docker/singularity/modal/daytona/ssh Each list is kept in sync with its backend source of truth (TTS: agent/tts_registry.py::_BUILTIN_NAMES + tools/tts_tool.py; STT + terminal: hermes_cli/config.py / tools/terminal_tool.py). The existing enumOptionsFor current-value-append keeps any hand-typed/legacy value selected, and command-type TTS providers still work. Reported for Grok/xAI TTS, which was already a fully-wired built-in provider (tts.provider: xai + XAI_API_KEY) with no picker entry. * feat(desktop): expose per-backend TTS/STT/terminal config fields in Settings Completes the backend-coverage pass: not just the provider PICKER but every backend's own config fields are now tunable from desktop Settings, so a user who picks (e.g.) Grok TTS can also set its voice/language without hand-editing config.yaml. Also fixes the STT provider dropdown: added 'xai' (Grok STT), which the transcription dispatcher (tools/transcription_tools.py) handles but the config.py comment had omitted — the dispatch ladder is the source of truth. New Settings fields (Voice section): - TTS xai (voice_id, language), minimax (model, voice_id), mistral (model, voice_id), gemini (model, voice), neutts (model, device), kittentts (model, voice), piper (voice) - STT openai (model), groq (model), mistral (model) New Settings fields (Advanced section): - terminal docker_image / singularity_image / modal_image / daytona_image New ENUM_OPTIONS dropdowns: stt.provider (+xai), stt.openai.model, stt.mistral.model, tts.openai.model, tts.elevenlabs.model_id, tts.neutts.device. Each list mirrors the backend generator's accepted values (tools/tts_tool.py, tools/transcription_tools.py, hermes_cli/config.py). i18n: FIELD_LABELS/FIELD_DESCRIPTIONS cover all locales via the English fallback in config-settings.tsx; added native translations to ja/zh/zh-hant. Secrets (provider API keys, modal/daytona tokens, ssh host/key) intentionally stay in Settings -> Keys as env vars, not duplicated as config fields. |
||
|---|---|---|
| .. | ||
| bootstrap-installer | ||
| desktop | ||
| shared | ||