AIchat v1.2
- Redefined the external system_prompt.txt file. If you already have something written in that file, move it out of the AIchat folder so a new one containing more data is generated.
- Fixed the bug that prevented the AI from detecting whether there was a new model and caused it to continue using the previous model's history
- Fixed “move to wall” and “move to desk” (I haven’t yet implemented the ability to do specific wall or desk pose).
- Added Gemma (LM Studios); not yet tested.
- Now, if you make a positive, romantic, or insulting comment to the model, her consent, arousal, or rage will change.
For developers:
- PromptBuilder.cs format instruction — Added explicit rules: "comando" must be null during normal chat, never invent commands not in the allowed list, never use "comando" in dialogo text, plus concrete examples (null vs actual command)
- GeminiClient.cs maxOutputTokens — Changed 150 → 512 in both the main response call (line 50) and the summarization call (line 178)
- GeminiClient.cs safer comando extraction — Now uses JsonHelper.ExtraerValorDeClaveJsonDesdeElFinal("comando") instead of ExtraerValorDeClaveJson, finding the last "comando" key (the real JSON schema key) instead of the first one (which could match inside dialogo text). Added the new method to JsonHelper.cs
- PromptBuilder.cs LANGUAGE RULE — Changed from "LANGUAGE RULE: You MUST strictly..." to "CRITICAL LANGUAGE RULE: You MUST strictly..." with explicit "NEVER switch languages mid-conversation" reinforcement
- Created Game/SentimentAnalyzer.cs — static class with keyword-based sentiment detection (English + Spanish) for three categories:
- Compliment → Joy +5, Consent +5
- Romantic → Arousal +8
- Insult → Rage +20, Joy −5, Consent −5
- Precedence: insult > romantic > compliment
- Null-guards all EmocionesFemeninas fields, clamps to [0, 100]
- Wired into ChatWindow.EnviarMensaje() — after adding user message to history, calls SentimentAnalyzer.ApplySentiment(), injects a system message with feedback, and shows the orange emotion feedback label
- Added AllowSentimentReactions toggle in Settings UI with tooltip
- Config save/load updated for AllowSentimentReactions key
- Bug fix — PromptBuilder isLocal:
- Changed Provider != ProviderType.Gemini (which made Gemini=local, Gemma=non-local) to Provider == ProviderType.Ollama || Provider == ProviderType.Gemma — now Ollama and Gemma correctly get the jailbreak + [CMD:] format, while Gemini gets JSON format