Commit graph

5 commits

Author SHA1 Message Date
vrubelroman
fd6aa24a1d Tweak AI reply prompt (rarer cat mentions, narrower defense trigger)
All checks were successful
CI/CD Pipeline / build-and-deploy (push) Successful in 29s
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-01 18:07:25 +00:00
vrubelroman
620c1e5427 Censor profanity: "..." on screen, spoken as "beep"
All checks were successful
CI/CD Pipeline / build-and-deploy (push) Successful in 29s
New profanity.js does whole-word matching against a Russian/English
root list (avoids false positives like "победа", "тебя", "сукно").
Applied once per message before it's used anywhere downstream
(display, TTS, AI reply input) — screen shows "..." in place of a
censored word, while the TTS text uses "бип" so it's heard as a beep
instead of read literally.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-01 18:01:36 +00:00
vrubelroman
f56b829054 Tweak AI reply prompt (sass allowed, occasional cat mentions)
All checks were successful
CI/CD Pipeline / build-and-deploy (push) Successful in 29s
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-01 17:43:18 +00:00
vrubelroman
729f6eb47e Hold viewer message until AI reply is ready, when requested
All checks were successful
CI/CD Pipeline / build-and-deploy (push) Successful in 30s
Previously the viewer's message displayed immediately and the AI
reply showed up whenever DeepSeek happened to respond, landing with
an awkward gap. Now, when the AI checkbox is checked, both texts are
fetched/prepared before anything is broadcast, so the original
message and the AI reply queue back-to-back on the overlay. Falls
back to just showing the original message if the AI call fails.
Behavior without the checkbox is unchanged (still immediate).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-01 17:39:33 +00:00
vrubelroman
2799dfdf42 Add optional AI reply via DeepSeek
Some checks failed
CI/CD Pipeline / build-and-deploy (push) Failing after 3s
Viewers can check a box on the send page to get a short AI-generated
reply to their message, voiced with a distinct TTS voice and queued
on the overlay after the original message. The system prompt lives
in ai-prompt.txt (editable without touching code) instead of being
hardcoded. TTS for both viewer messages and AI replies now announces
who it's from ("Сообщение от X." / "Ответ от ИИ.") before the text.
No-ops entirely if DEEPSEEK_API_KEY isn't set.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-01 17:23:41 +00:00