Skip to content

Desktop: voice button re-sends cached recording instead of new audio #62049

Description

@tima100faces

Description

When using the voice/microphone button in Hermes Desktop (macOS, Mac mini), the app repeatedly sends the same cached audio instead of capturing new recordings from the microphone.

Steps to Reproduce

  1. Open Hermes Desktop
  2. Click the voice/microphone button
  3. Speak a phrase
  4. Press Enter to send

Actual Behavior

Instead of the spoken phrase, the chat receives a cached old recording: "Thank you for watching" / "ご視聴ありがとうございました" / "Share this video with your friends". Same phrases appear every time regardless of what was actually spoken.

Expected Behavior

The current microphone input should be captured and transcribed.

Environment

  • OS: macOS 26.5.2 (Darwin, ARM64 — Mac mini)
  • Hermes version: 0.18.2
  • STT provider: OpenAI Whisper (VOICE_TOOLS_OPENAI_KEY configured, connectivity confirmed)
  • TTS provider: OpenAI (gpt-4o-mini-tts, voice: onyx)

Notes

  • STT config is correct —
    ┌─────────────────────────────────────────────────────────┐
    │ 🩺 Hermes Doctor │
    └─────────────────────────────────────────────────────────┘

◆ Security Advisories
✓ No active security advisories

◆ MCP Server Security
✓ No suspicious MCP stdio commands

◆ Python Environment
✓ Python 3.11.15
✓ Virtual environment active
✓ Version files consistent (0.18.2)

◆ SSL / CA Certificates
✓ SSL CA certificate bundle is valid

◆ Required Packages
✓ OpenAI SDK
✓ Rich (terminal UI)
✓ python-dotenv
✓ PyYAML
✓ HTTPX
✓ Croniter (cron expressions) (optional)
⚠ python-telegram-bot (optional, not installed)
✓ discord.py (optional)

◆ Configuration Files
✓ ~/.hermes/.env file exists
✓ API key or custom endpoint configured
✓ ~/.hermes/config.yaml exists
✓ Config version up to date (v33)

◆ xAI Model Retirement (May 15, 2026)
✓ No retired xAI models in config

◆ Auth Providers
⚠ Nous Portal auth (not logged in)
⚠ OpenAI Codex auth (not logged in)
→ No Codex credentials stored. Run hermes auth to authenticate.
→ codex CLI not installed (optional — only required to import tokens from an existing Codex CLI login)
⚠ MiniMax OAuth (not logged in)
✓ xAI OAuth (logged in)

◆ Directory Structure
✓ ~/.hermes directory exists
✓ ~/.hermes/cron/ exists
✓ ~/.hermes/sessions/ exists
✓ ~/.hermes/logs/ exists
✓ ~/.hermes/skills/ exists
✓ ~/.hermes/memories/ exists
✓ ~/.hermes/SOUL.md exists (persona configured)
✓ ~/.hermes/memories/ directory exists
✓ MEMORY.md exists (1449 chars)
✓ USER.md exists (1070 chars)
✓ ~/.hermes/state.db exists (9 sessions)

◆ Command Installation
✓ Venv entry point exists (venv/bin/hermes)
✓ ~/.local/bin/hermes exists (non-symlink)

◆ External Tools
✓ git
⚠ ripgrep (rg) not found (file search uses grep fallback)
→ Install for faster search: brew install ripgrep
⚠ docker not found (optional)
✓ Node.js
✓ agent-browser (Node.js) (browser automation)
✓ Playwright Chromium (browser engine)
✓ Browser tools (agent-browser) deps (no known vulnerabilities)
✓ web workspace deps (no known vulnerabilities)
✓ ui-tui workspace deps (no known vulnerabilities)

◆ API Connectivity
Running 26 connectivity checks in parallel…

⚠ OpenRouter API (not configured)
✓ DeepSeek
✓ gemini

◆ Tool Availability
✓ browser
✓ clarify
✓ code_execution
✓ cronjob
✓ delegation
✓ file
✓ image_gen
✓ memory
✓ project
✓ session_search
✓ skills
✓ terminal
✓ todo
✓ tts
✓ video
✓ video_gen
✓ vision
✓ web
✓ x_search
✓ kanban (runtime-gated; loaded only for dispatcher-spawned workers)
⚠ browser-cdp (system dependency not met)
⚠ computer_use (system dependency not met)
⚠ discord (missing DISCORD_BOT_TOKEN)
⚠ discord_admin (missing DISCORD_BOT_TOKEN)
⚠ feishu_doc (system dependency not met)
⚠ feishu_drive (system dependency not met)
⚠ hermes-yuanbao (system dependency not met)
⚠ homeassistant (system dependency not met)
⚠ spotify (system dependency not met)

◆ Skills Hub
⚠ Skills Hub directory not initialized (run: hermes skills list)
⚠ No GITHUB_TOKEN (60 req/hr rate limit — set in ~/.hermes/.env for better rates)

◆ Memory Provider
✓ Built-in memory active (no external provider configured — this is fine)

────────────────────────────────────────────────────────────
All checks passed! 🎉 shows all checks pass, API connectivity confirmed

  • Audio files generated by TTS are valid MP3s (verified via ffprobe)
  • Restarting the app does not fix the issue
  • Silence duration/threshold settings have no effect
  • No other audio sources are playing system-wide at the time of testing

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Low — cosmetic, nice to havecomp/desktopElectron desktop app (apps/desktop/*)needs-reproBug needs reproduction stepstool/ttsText-to-speech and transcriptiontype/bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions