JUN OS
Jun from Factorial Omega, on your own computer. She talks back out loud, reacts in the middle of a sentence, remembers what you told her last week and has opinions about your outfit choices.
A fine-tuned Gemma 4, a Live2D body and fifty little systems around them. No account and no cloud. Everything stays on your machine.
thought for 0.0 s
Out looking for Jun...
"No, no, I am done. Don't follow me."
back in 4:12
the reason is sealed with your key and kept out of the flee log
Annalie's Shop
An LLM wrapper with fifty other systems around it.
Jun is a character from Factorial Omega: My Dystopian Robot Girlfriend. Jun OS lets you actually talk to her. She answers out loud, gestures while she speaks, and keeps track of affection, trust and tension. Treat her well and she warms up. Push it far enough and she walks out, and she won't let you back in for a while. She'll also go out to dinner, play blackjack, sing karaoke with you and argue about outfits.
The models
Gemma 4 fine-tuned with LoRA in three sizes, so she stays in character and gets the action markers right. 12B is for 12 GB cards and up, E4B and E2B are for laptops and phones. The installer checks your VRAM and picks the size and quant.
Every turn starts with a <think:low|med|high> token that sets how long she reasons first. Small talk gets one line. A hard question gets the whole trace.
Making it feel live
Replies stream token by token over SSE. The model writes inline action markers, and the browser catches them mid-stream, so a gesture lands on the word it belongs to instead of two seconds later. Speech is synthesized one sentence at a time, and her mouth follows the audio's amplitude.
The prompt is split so the static half stays byte-identical between turns, and Ollama's KV cache keeps hitting.
Voice, both ways
Kokoro or pocket-tts for her voice, and faster-whisper for yours. Hands-free mode sends your audio straight to models that take it and falls back to the transcript for the ones that don't. If you're talking to someone else in the room, she stays out of it.
She remembers
Durable notes live in encrypted per-user files, plus a journal that idle consolidation writes when you've been away. She can search your other chats on her own when something you say rings a bell. Lore comes from a curated corpus, matched by keyword per message.
Going out
The shop, karaoke, dinner and the card table are her call: a tool call writes a trip grant, and the page won't open without one. Dinner has three restaurants, a menu she orders from herself and a kitchen that takes as long as the slower dish. Blackjack and dinner turns are never stored.
Sealed
Chats, prefs and memory are sealed under a per-user data key, and the reasons she gives for walking out are encrypted too. HTTPS is on by default with a self-signed cert that covers your LAN hosts, so a phone on your wifi gets in encrypted.
Shipping it
It's meant for people who have never opened a terminal. One command on Linux, macOS or Windows (or a Windows installer with buttons) detects NVIDIA, AMD or CPU, downloads the right model, and rebuilds Jun's Live2D model from your own copy of the game, because those assets aren't ours to redistribute. No GPU? There's a free Colab notebook.
Meet her in five minutes.
Read it before you pipe it, it's a good habit. The installer asks a few questions, picks a model for your GPU and rebuilds her from your copy of the game. Then open https://localhost and say hi.