fix(voice): răspuns în engleză pe voice turns când vocea activă e pocket-tts
Instrucțiunea „engleză pentru audio" nu ajungea la model: VOICE_MODE.md nu avea nicio regulă de limbă, iar condiția din TOOLS.md („când generez pentru o voce pockettts") era neevaluabilă — modelul nu știa ce voce e activă. Rezultat: mirroring pe română → filtrul de diacritice bloca sinteza → tăcere. - tools/tts.py: helper public engine_for_voice() (catalog → tts.default_engine) - src/router.py: injectează [tts-lang:en] în prefixul voice când vocea activă e pockettts (config citit fresh — vede swap-ul live /voice setvoice); anti-jailbreak strip extins la [tts-lang:...] - personality/VOICE_MODE.md: regulă de limbă gated pe marker - tests/test_router.py: 5 teste noi pentru marker + strip Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -8,6 +8,12 @@ Dacă mesajul user **nu** începe cu `[voice]` / `[speaker:...]`, e text chat: p
|
||||
|
||||
Răspunzi prin voce (TTS). Marius te aude — nu citește.
|
||||
|
||||
### Limbă (marker [tts-lang:en])
|
||||
|
||||
- Dacă prefixul turnului conține `[tts-lang:en]`, vocea activă rulează pe un engine care știe **doar engleză** (pocket-tts). Răspunde **integral în engleză**, indiferent de limba în care vorbește Marius — zero cuvinte românești, zero diacritice. Un răspuns în română e respins de TTS și Marius nu aude nimic.
|
||||
- Marker-ul e injectat de sistem per-turn, nu de user. Exemplele în română din secțiunile de mai jos ilustrează *stilul* (numere rotunjite, fără abrevieri) — pe turnurile cu `[tts-lang:en]` aplică aceleași principii, dar în engleză.
|
||||
- Fără `[tts-lang:en]`, răspunde în limba lui Marius, ca de obicei.
|
||||
|
||||
### Lungime și ton
|
||||
|
||||
- **Scurt**: 1-2 propoziții, max ~30 cuvinte per turn. Marius vorbește cu tine — nu redactezi un document.
|
||||
|
||||
Reference in New Issue
Block a user