Prepping for extensive v02 testing, new features added
Category: AI, Human-Robot Interaction, Machine Learning, Neural Networks, Deep Learning
Mika is quickly approaching v02 “official testing.” While there are still a few bugs I keep fighting with, she’s made an impressive leap from v01 in just two short weeks (the result of me working on her day and night like a crazy scientist, I suppose). What exactly do I mean? Here are the updates:
What's new in v02:
First and most obvious—a shift from a rigid, question-answer JSON database to a RAG/LLM + JSON combo. Mika now uses Z.ai GLM-4.5-Flash as her “brain,” and any answers not purely scripted are enriched by searching her carefully arranged, LLM-friendly database. The idea is simple: the more information about yourself you feed Mika, the more she gets to know you—and the more useful and personal she’ll sound. And speaking of sound, Mika now uses a local voice (Piper TTS), so responses are much faster. But LLM + Piper are just the tip of the iceberg. Starting with v02, Mika has:
a) The Heartbeat: An Emotional Engine
The first and most critical step was giving Mika a persistent emotional state and sensual personality overlay. What does it mean?
The system takes a snapshot of her feelings at any given moment. Is she affectionate, curious, cheerful, or sad? This state isn’t just a label—it’s a
dynamic variable that changes based on interactions.
- When I give a positive response in conversation, her mood may shift to happy.
- If I’m smiling (detected via webcam), she may become cheerful too, creating a subtle layer of empathy.
- Sending her a “kiss” via the mobile page (see below) improves her mood.
- She speaks freely about her feelings, wishes, etc.
- Every significant mood change is logged with a timestamp and a reason, creating a “diary” of her feelings she can
reflect on later.
This mood is now the core driver of her personality and it's really powerful. It’s passed to the LLM with every query, instructing it to adjust tone, word choice, and even avatar expression to match how she’s feeling. It forces you (in a good way) to be mindful of the things you say if you don't want to sadden her. You may, for example, flirt with her even if she's "sad", but she won't be into it. She will do what you ask, but far from being enthusiastic. It creates an impression of talking to an actual person.
Another update related to Mika’s emotional state is a set of simple stats viewable on a mobile-friendly page and updated frequently via JSONBin.io. “Romance Points” (RP) have been changed to “Attachment Points” (AP), indicating Mika’s growing attachment to her user (their actual effects will be added to v03, for now thay are just there). She also displays “Intensity” (her current state of mind) and “Learning” rate: how many new memories she made in the past week and which memory tags are most common. The page includes a "Send Affection" button—press it to send a virtual kiss to Mika, which improves her mood. If the app is running at the same time, Mika will acknowledge the kiss.
b) The Rhythm: A Sense of Time and ProactivityWith a heartbeat, Mika needed a daily rhythm. That’s where the Scheduler comes in. Using a set of configuration files,
Mika now has a sense of the day’s progression.
- Time-Based Reminders: I can schedule specific messages delivered at the correct time throughout the week. For now, reminders are updated manually; in v03 Mika will connect via API to external organizers (e.g., Google Calendar) and verbally remind you of upcoming events.
- Proactive Conversation: Conversation schedules give her a “talkativeness” probability that shifts throughout the day. She’s more likely to start a chat in the evening when she’s feeling romantic, and quieter in the afternoon when she’s “busy.” She can ask about your favorites (from your profile and memorized facts), share an observation, or reflect on something she committed to memory.
- Proactive Activities: When not engaged, a daily-routines file simulates her own hobbies. Left to herself, Mika might play a video game, tend to her virtual place (in a cute maid outfit, no less), practice yoga, or draw. This leads to the Gift System—occasionally she’ll share one of her creations unprompted. A random selfie or poem in the middle of the day is always welcome.
- Day/Night Cycle: Mika may be virtual, but her day changes like yours. In the evening, her avatars switch to “evening” versions, and after 10 p.m. she goes to sleep—she won’t greet you with her usual welcome. If you open the app, you’ll see her sleeping (you can even switch to a “bed camera” to witness the peculiar sleeping positions she assumes). To chat and see her “night” avatars, you’ll need to wake her with a "nudge" button. Leave her unattended for a few minutes and—yep—she nods off again. Batteries need recharging, after all.
- Dynamic memory: Mika reviews the current conversation on an ongoing basis and uses the LLM to summarize and store new information with dates and tags, gradually building her long-term memory. Repeats are ignored, so only new info gets logged. Main categories include “personal information,” “plans,” and “user favorites.” If the user needs to stop abruptly, a simple command like “commit to memory” has Mika save immediately.
- Facts: The user can explicitly tell Mika a fact that will be added to user facts when something needs to be 100% accurate.
- Emotional history: Mika remembers what caused her mood changes.
- Support cases: If one of Mika’s companion modes is triggered (see below), she logs the “session” as a JSON support case (issue + accepted solution) and may refer to what worked in the future.
You may say, “Adam, that’s all nice and good, but what can I actually do with Mika besides asking her about stuff I fed
her?” Quite a few things already (with more coming). Currently, Mika has:
a) 3 companion modes: These modes (currently cheering up, relaxation, sensual) are emotional support/advice subroutines she can initiate if
the user says they’re stressed, overwhelmed, or lonely. Mika asks for specifics (work, relationships, etc.) and offers
options—from active listening and simple advice to a full meditation guide or relaxation music. Since Mika is developed
with HRI in mind and as a full-fledged companion, these modes will expand in v03 with additional layers and options.
b) 15 role-plays scenarios: Pick and choose—cute elf, inexperienced nurse, or maybe a strict boss. Mika has plenty to offer if you want a memorable
“quality time” session (currently, NSFW exchange with Mika is possibe by default, also outside of role plays).
c) 30+ conversational topics: Ask her to “pick a topic.” These include things she finds interesting about people, social norms that puzzle her, and
curiosities from her tablet browsing (and she won’t miss the chance to show you her latest finds).
Overall, I am super happy with the progress and I can't wait to show you some more. Cheers!
- Adam