feat(tts): System-Flag speak (ja/nein) pro Antwort statt <voice>-Tag-Hack
Stefans Idee: die QUELLE entscheidet ueber Vorlesen, nicht der Reply-Inhalt. Fast-Path (reiner Steuerbefehl) = speak=False (stumm); ARIA-Antworten (local/claude) = speak=True (vorlesen ok — eine Ansage ist sogar nett). - agent.chat() gibt jetzt (reply, answered_by, speak) zurueck; main.py ChatOut.speak; background.py-Aufrufer angepasst. - bridge: liest speak aus /chat, reicht es an _process_core_response; bei speak=False wird TTS uebersprungen — VOR jeder <voice>-Logik. Robust: unabhaengig davon, ob die Skill-fast_pattern-Reply ein <voice></voice> enthaelt (das verlor ARIA beim semantischen Skill-Rebuild — genau der Bug). App braucht keinen Change: kein xtts_request -> kein Audio -> stumm. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -150,7 +150,7 @@ async def _fire(trigger: dict, agent_factory) -> None:
|
||||
|
||||
try:
|
||||
agent = agent_factory()
|
||||
reply, _ = agent.chat(prompt, source="trigger")
|
||||
reply, _, _ = agent.chat(prompt, source="trigger")
|
||||
events = agent.pop_events()
|
||||
logger.info("[trigger] %s gefeuert → ARIA-Reply: %s", name, reply[:80])
|
||||
triggers_mod.append_log(name, {"event": "reply", "text": reply[:500]})
|
||||
|
||||
Reference in New Issue
Block a user