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
- Open Hermes Desktop
- Click the voice/microphone button
- Speak a phrase
- 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
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
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
Notes
┌─────────────────────────────────────────────────────────┐
│ 🩺 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 authto 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