hermes-agent/tools
0xbyt4 179d9e1a22 feat: add streaming sentence-by-sentence TTS via ElevenLabs
Stream audio to speaker as the agent generates tokens instead of
waiting for the full response. First sentence plays within ~1-2s
of agent starting to respond.

- run_agent: add stream_callback to run_conversation/chat, streaming
  path in _interruptible_api_call accumulates chunks into mock
  ChatCompletion while forwarding content deltas to callback
- tts_tool: add stream_tts_to_speaker() with sentence buffering,
  think block filtering, markdown stripping, ElevenLabs pcm_24000
  streaming to sounddevice OutputStream
- cli: wire up streaming TTS pipeline in chat(), detect elevenlabs
  provider + sounddevice availability, skip batch TTS when streaming
  is active, signal stop on interrupt

Falls back to batch TTS for Edge/OpenAI providers or when
elevenlabs/sounddevice are not available. Zero impact on non-voice
mode (callback defaults to None).
2026-03-14 14:26:30 +03:00
..
environments fix: clearer docker backend preflight errors (#1276) 2026-03-14 02:53:02 -07:00
__init__.py docs: complete Daytona backend documentation coverage 2026-03-06 03:37:05 -08:00
approval.py fix: preserve current approval semantics for tirith guard 2026-03-14 00:17:04 -07:00
browser_tool.py refactor: salvage adapter and CLI cleanup from PR #939 2026-03-14 03:07:11 -07:00
checkpoint_manager.py fix: improve git error logging in checkpoint manager 2026-03-11 09:00:09 -07:00
clarify_tool.py More major refactor/tech debt removal! 2026-02-21 20:22:33 -08:00
code_execution_tool.py fix: head+tail truncation for execute_code stdout 2026-03-11 00:26:13 -07:00
cronjob_tools.py fix: Signal adapter parity pass — integration gaps, clawdbot features, env var simplification 2026-03-08 21:00:21 -07:00
debug_helpers.py refactor: consolidate debug logging across tools with shared DebugSession class 2026-02-21 03:53:24 -08:00
delegate_tool.py feat(delegate): add observability metadata to subagent results (#1175) 2026-03-13 08:07:12 -07:00
file_operations.py Merge PR #533: fix: use regex for search output parsing to handle Windows drive-letter paths 2026-03-09 23:18:42 -07:00
file_tools.py fix: replace debug print() with logger.error() in file_tools 2026-03-11 04:38:07 -07:00
fuzzy_match.py Cleanup time! 2026-02-20 23:23:32 -08:00
homeassistant_tool.py feat: enhance Home Assistant integration with service discovery and setup 2026-03-03 05:16:53 -08:00
honcho_tools.py feat(honcho): honcho_context can query any peer (user or ai) 2026-03-10 16:21:07 -04:00
image_generation_tool.py fix: add exc_info=True to image generation error logging 2026-03-11 09:15:45 -07:00
interrupt.py feat: enhance interrupt handling and container resource configuration 2026-02-23 02:11:33 -08:00
mcp_tool.py merge: resolve conflicts with origin/main 2026-03-12 00:29:04 -07:00
memory_tool.py Fix memory tool entry parsing when content contains section sign 2026-02-28 01:33:41 +03:00
mixture_of_agents_tool.py More major refactor/tech debt removal! 2026-02-21 20:22:33 -08:00
openrouter_client.py refactor: route ad-hoc LLM consumers through centralized provider router 2026-03-11 20:02:36 -07:00
patch_parser.py fix: align _apply_delete comment with actual behavior 2026-02-28 22:58:01 +02:00
process_registry.py fix(cli): respect HERMES_HOME in all remaining hardcoded ~/.hermes paths 2026-03-13 21:32:53 -07:00
registry.py Merge PR #275: fix(batch_runner): preserve traceback when batch worker fails 2026-03-05 01:44:05 -08:00
rl_training_tool.py Merge branch 'main' into fix/packaging-bugs 2026-03-13 03:15:45 -07:00
send_message_tool.py feat: add email gateway platform (IMAP/SMTP) 2026-03-11 06:32:01 -07:00
session_search_tool.py feat: call_llm/async_call_llm + config slots + migrate all consumers 2026-03-11 20:52:19 -07:00
skill_manager_tool.py Make skill file writes atomic 2026-03-07 00:49:10 +03:00
skills_guard.py feat: call_llm/async_call_llm + config slots + migrate all consumers 2026-03-11 20:52:19 -07:00
skills_hub.py fix: ClawHub skill install — use /download ZIP endpoint (#1060) 2026-03-12 08:26:24 -07:00
skills_sync.py fix: make skills manifest writes atomic 2026-03-08 23:53:57 -07:00
skills_tool.py fix: improve gateway secret capture guidance message 2026-03-13 04:10:22 -07:00
terminal_tool.py feat(security): add tirith pre-exec command scanning 2026-03-14 00:11:27 -07:00
tirith_security.py feat(security): add tirith pre-exec command scanning 2026-03-14 00:11:27 -07:00
todo_tool.py fix: escalate read/search blocking, track search loops, filter completed todos 2026-03-08 23:01:21 +03:00
transcription_tools.py feat: add Groq STT support and fix voice mode keybinding 2026-03-14 14:25:28 +03:00
tts_tool.py feat: add streaming sentence-by-sentence TTS via ElevenLabs 2026-03-14 14:26:30 +03:00
vision_tools.py feat: call_llm/async_call_llm + config slots + migrate all consumers 2026-03-11 20:52:19 -07:00
voice_mode.py fix: fix silence detection bugs and add Phase 4 voice mode features 2026-03-14 14:26:30 +03:00
web_tools.py feat: call_llm/async_call_llm + config slots + migrate all consumers 2026-03-11 20:52:19 -07:00