Repository navigation
Releases: miflow13/mochi-desktop
Release list
Mochi v0.4.1 — Stabilization & Portability 🌱
Mochi v0.4.1 — Stabilization & Portability
Mochi notices where your attention goes, and stays animated and updatable on GNOME.
Hi all! First off, I want to say thank you so much for getting the repo to over 150 stars. I was genuinely grateful for just 10. This update hardens a few features from 0.4.0-alpha.1 with a stability pass of bug fixes, so the Mochi experience should be even smoother, with fewer hiccups.
Highlights
- Active window curiosity. When you switch windows or settle on a new browser tab, Mochi notices.
- If he's standing around, he takes a quick look through his magnifying glass.
- If he's busy, he shows a tiny thought bubble instead.
- He settles down during long browsing sessions and stays quiet during Focus sessions.
- The GNOME helper tells Mochi only that you switched, plus at most a broad app type like "browser". It never sends a page title or address.
- Animation freeze fixed (#45). Mochi now paces his own frames, so one missed GNOME Shell frame confirmation can no longer freeze his sprite.
- Updates bring Mochi back. Update & Restart now relaunches Mochi after installing, and a failed update explains what went wrong under Show Details. Installs still on 0.4.0-alpha.1 can update to this fix. If an earlier update left Mochi closed, open him again and update again.
- Release-based updates. Installed Mochi now updates from published releases. Testers can follow
mainwithmochi-update --channel main, and return with--channel release. - New terminal coworking art. Mochi takes out a little laptop and types sleepily beside you.
- Light mode and theme fixes.
- The nameplate, speech bubble and bond overlay are readable in light mode again.
- Mochi follows the desktop's light/dark style, including when it switches live.
After updating
Log out and back in once, so GNOME loads the updated helper. Window and tab curiosity start working after that.
Fedora + GNOME + Wayland remains the primary tested environment. Mochi is still alpha software, so weird Linux desktop setups are very welcome for testing.
What's Changed
- Make the Mochi website interactive by @miflow13 in #156
- fix: keep Focus authoritative during context churn by @miflow13 in #157
- fix: relaunch Mochi after updates instead of crashing by @miflow13 in #159
- fix: readable nameplate in light mode, follow system light/dark by @miflow13 in #162
- Reading loop animation + update from published releases by default by @miflow13 in #161
- feat: debug-only lifecycle watchdog for frozen animations (#45) by @miflow13 in #163
- feat: tired-typing laptop art for terminal coworking by @miflow13 in #164
- feat: use the redrawn terminal typing loop by @miflow13 in #168
- test: lock in the fresh motion budget after a held pose by @miflow13 in #169
- docs: add drag, Fedora Mode and contextual presence to the watchlist by @miflow13 in #170
- fix: harden Buddy modularization regressions by @miflow13 in #89
- fix: stop GTK waiting on compositor frame replies for Mochi (#45) by @miflow13 in #171
- feat: tab-aware active window curiosity (supersedes #133) by @miflow13 in #172
- docs: name 0.4.1 Stabilization & Portability by @miflow13 in #173
Full Changelog: v0.4.0-alpha.1...v0.4.1
v0.4.0-alpha.1 Mochi v0.4.0-alpha.1 — Pocket & Polish 🌱
Mochi v0.4 — Pocket & Polish 🌱
This release makes Mochi more useful, easier to update, and easier for the community to contribute to.
Highlights
- Mochi Pocket — drag files, folders, links, text, images, and multiple files directly onto Mochi and keep them in a persistent local Pocket.
- Built-in updater — safer staged updates with restart/rollback support.
- Canonical Artist Kit — official sprites, dimensions, animation rules, and contribution guidance are now public.
- More personality — Wave, Coffee, VS Code, Mochi.exe, This Is Fine, bond-phase dialogue, sad breathing, and autonomous naps.
- Better Linux portability — improved installs across GNOME and non-GNOME setups.
- More community contributions — Mochi now has multiple outside contributors helping with fixes and improvements. 💚
Fedora + GNOME + Wayland remains the primary tested environment. Mochi is still alpha software, so weird Linux desktop setups are very welcome for testing.
What's Changed
- docs: sync v0.3 release documentation by @miflow13 in #94
- fix: balance repeat feeding bond rewards by @miflow13 in #96
- feat: make Mochi nameplate ephemeral by @miflow13 in #99
- feat: add Wave, VS Code, and Mochi.exe emotes by @miflow13 in #102
- feat: derive autonomous emotes from catalogue by @miflow13 in #103
- docs: refresh README for v0.3 theme by @miflow13 in #106
- fix: slow Mochi idle breathing by @miflow13 in #105
- feat: add Coffee emote by @miflow13 in #107
- feat: add autonomous sleep controller by @miflow13 in #98
- feat: wire autonomous sleep into runtime by @miflow13 in #108
- fix: improve AmbiSense contextual phrase routing by @miflow13 in #109
- fix: place Focus window above Mochi near screen edge by @miflow13 in #110
- feat: paginate emote catalogue by @miflow13 in #111
- tune: calm Mochi's idle behavior by @miflow13 in #114
- Docs/codebase manual by @miflow13 in #115
- docs: audit state machine lifecycle by @miflow13 in #117
- docs: expand codebase manual lifecycle guidance by @miflow13 in #116
- fix: prevent speech bubble from stealing keyboard focus by @miflow13 in #121
- fix: make Mochi sticky and prevent focus stealing on workspace switch by @sobeitnow0 in #119
- docs: point contributors to codebase manual by @miflow13 in #122
- docs: announce planned Deskling SDK by @miflow13 in #123
- chore: refresh README for current v0.3 state by @miflow13 in #124
- feat: add This Is Fine rare emote by @miflow13 in #113
- docs: release Mochi Artist Kit by @miflow13 in #127
- fix: bootstrap Python build tooling during install by @miflow13 in #129
- fix: improve Linux installer portability by @miflow13 in #126
- docs: highlight portability and recent Mochi updates by @miflow13 in #130
- fix: build installer venv at final path by @miflow13 in #135
- fix: start Edge Roam after context menu closes by @miflow13 in #136
- fix: bound Dev Menu bond award work by @Daniele-Cangi in #139
- Test/137 dev award spam by @miflow13 in #141
- feat: add Mochi update service by @miflow13 in #138
- docs: highlight built-in Mochi updater by @miflow13 in #142
- fix: build updater venv at final path by @miflow13 in #143
- Align installer regression test with PYTHONNOUSERSITE install path by @miflow13 with @Copilot in #144
- fix: keep Bond lifecycle moving when persistence fails by @Daniele-Cangi in #145
- feat: add FR-11 bond phase dialogue by @miflow13 in #90
- fix: preserve malformed config during recovery by @Daniele-Cangi in #150
- Fix updater wave spritesheet animation by @miflow13 in #152
- feat: prototype Mochi's Pocket by @miflow13 in #148
- Add changelog section to README by @miflow13 in #153
New Contributors <3
- @sobeitnow0 made their first contribution in #119
- @Daniele-Cangi made their first contribution in #139
Full Changelog: v0.3.0-alpha.1...v0.4.0-alpha.1
Mochi v0.3.0-alpha.1 — Growing Together 🌱
Mochi v0.3 is here.
This update is the biggest step yet toward making Mochi feel less like a collection of desktop reactions and more like one coherent little creature living alongside you.
The theme for v0.3 is growing together: more personality, more ways to interact, and a relationship system designed to feel rewarding without turning Mochi into another thing you have to maintain.
Mochi is still alpha software, so expect some rough edges — especially across different compositors, monitor layouts, and scaling setups.
🌱 Bond with Mochi
Mochi now has a persistent Bond Level that grows as you spend time together.
Bond progress is deliberately non-punitive:
- no daily streaks
- no decaying relationship meter
- no missed-day penalties
- no punishment for closing Mochi
- no requirement to interact with him
You just slowly build the relationship through ordinary interactions.
Bond XP can currently come from things like:
- typing together
- feeding Mochi
- Focus with Mochi sessions
Bond progress persists between sessions.
🍬 Feed Mochi
Mochi can now be fed directly from the right-click menu.
Feeding includes:
- a handcrafted eating animation
- an eating sound cue
- a little heart afterward
- bond XP
- proper interaction/state handling
This is intentionally not a hunger system. Mochi does not become sick, sad, or demanding if you leave him alone.
✨ Level-up feedback
When your bond level increases, Mochi now reacts to it.
Level-ups can include:
- a dedicated celebration animation
- sound feedback
- visual bloom / progress feedback
- a short level-up message
- emote unlock presentation
- a demonstration of newly learned emotes
The goal is for Mochi to feel like he is reacting to the relationship growing rather than simply showing you a game notification.
🎭 Emote Catalogue
v0.3 adds a new bond-aware Emote Catalogue.
The catalogue includes:
- unlocked and locked emotes
- bond-level requirements
- rarity tiers
- animated hover previews
- upcoming / mystery slots
- newly unlocked idle moods
Current expressions include familiar Mochi reactions like:
- Heart
- Bounce
- Squish
- Look Around
- Side Eye
- Table Flip
- Dance
Some unlocked emotes can also become part of Mochi's normal idle personality.
On GNOME, the catalogue can be opened with:
Ctrl + Alt + E
⏱️ Focus with Mochi
Mochi can now sit down and work with you.
Focus with Mochi includes:
- configurable 5–120 minute focus blocks
- 1–30 minute breaks
- 1–8 rounds
- pause / resume / stop
- a compact timer window
- optional sparse encouragement
- dedicated thinking and writing animations
- optional local Rain ambience
- independent rain volume control
Focused time earns:
- +1 Bond XP per completed focus minute
- +10 Bond XP for completing the full configured session
Breaks do not earn XP, and stopping early does not penalize you.
Already-earned whole-minute XP is kept.
The intent is to make Mochi a quiet coworking companion — not a productivity coach.
🖥️ More contextual personality
Mochi continues to react to broad desktop activity through AmbiSense and local integrations.
Depending on your setup, Mochi can react to things like:
- typing
- terminals
- coding/editors
- music
- video/media
- session presence
- network changes
- battery/power state
- file-browsing activity
Mochi also retains the existing interaction set:
- walking and idle behavior
- Stay Put
- Edge Roam
- sleep / wake
- click reactions
- double-click heart
- triple-click dialogue
- pickup / dragging / drop
- contextual speech
- nameplates
- Mochi Lab developer controls
🔐 Privacy
AmbiSense remains local and rule-based.
It is not an LLM and does not use a cloud AI service.
Mochi does not collect:
- typed characters
- words
- key values
- typing history
- application titles
- document names
- screen contents
On GNOME, the Shell helper reduces desktop activity into coarse semantic events before Mochi receives them.
🐧 Recommended environment
The primary tested configuration is:
Fedora Linux + GNOME + Wayland
Mochi uses XWayland for the buddy window where GNOME's native Wayland positioning restrictions require it.
Other Linux environments may work, but GNOME currently provides the fullest integration.
Niri support is experimental.
⚠️ Known issues
Mochi is still alpha software.
Known areas that need more testing include:
- GNOME Overview / workspace behavior on XWayland
- multi-monitor setups
- fractional scaling
- drag direction responsiveness
- non-GNOME compositors
- long-running lifecycle / state edge cases
If something explodes on your setup, I genuinely want to know about it.
🧪 Testers wanted
I would love more people testing Mochi on real Linux desktops.
I'm especially looking for testers who don't mind opening GitHub issues with:
- distro + version
- desktop environment / compositor
- Wayland or X11
- monitor layout
- scaling
- reproduction steps
- relevant
mochi --debugoutput
Different hardware and weird desktop setups are extremely useful right now.
And if you're a developer who wants to dig into the code, pull requests are very welcome too. There are open bugs, refactors, compatibility work, and smaller feature tasks that would make great contributions.
Install
git clone https://github.com/miflow13/mochi-desktop.git
cd mochi-desktop
./install.shWhat's Changed
- chore: simplify README styling by @miflow13 in #52
- chore: clean repository artifacts and add CI by @miflow13 in #53
- V0.3 by @miflow13 in #57
- refactor: rename Mochi Sense to AmbiSense by @miflow13 in #55
- fix: stop clean-VM typing feedback loop by @miflow13 in #41
- fix: recover AmbiSense across GNOME helper lifecycle changes by @miflow13 in #60
- Docs/alpha readme limitations by @miflow13 in #62
- chore: sync main into v0.3 by @miflow13 in #63
- Chore/ignore i have adhd by @miflow13 in #65
- chore: polish public repository presentation by @miflow13 in #67
- chore: polish public alpha documentation and version metadata by @miflow13 in #69
- Feat/gh pages seo by @miflow13 in #70
- fix: make XWayland drag direction respond immediately by @miflow13 in #71
- Feat/eating swallow sound by @miflow13 in #73
- feat: add Deskling package manifest for Mochi by @miflow13 in #75
- docs: celebrate 30 GitHub stars by @miflow13 in #79
- refactor: modularize buddy runtime architecture by @miflow13 in #80
- feat: add bond-gated idle emote unlocks by @miflow13 in #81
- feat: add bond-aware emote catalogue by @miflow13 in #78
- feat: add live care and bond progression by @miflow13 in #76
- feat: add animated emote catalogue hover previews by @miflow13 in #82
- chore: sync main into v0.3 by @miflow13 in #83
- feat: add FR-10 level-up feedback by @miflow13 in #84
- Update windowing.py by @doomguyfnp90 in #86
- fix: prevent bond feedback backlog from stalling lifecycle by @miflow13 in #85
- feat: add Focus with Mochi MVP by @miflow13 in #88
- Docs/v0.3 readme promo by @miflow13 in #91
- fix: harden Focus with Mochi before v0.3 merge by @miflow13 in #92
- merge: promote v0.3 to main by @miflow13 in #93
New Contributors
- @doomguyfnp90 made their first contribution in #86
Full Changelog: v0.3.0-alpha...v0.3.0-alpha.1
Mochi v0.3.0-alpha - nameplates, comfort system
⚠️ GNOME Wayland: bug with backend help system and D-bus detecting physical hardware. Must log out and log back in after install for ambient system to function properly
This affects features such as typing reactions, application awareness, file browsing reactions, and focused media detection. A fix for automatic helper reconnection is in progress.
Mochi v0.3.0-alpha continues the work of making Mochi feel like one coherent little desktop companion rather than a collection of reactions.
This alpha introduces the early foundations for Mochi's nameplate and comfort/care systems, while continuing to improve ambient awareness, interaction stability, and internal UI architecture.
Expect rough edges — v0.3 is still an active development milestone. 🌱
What's Changed
What's Changed
- Feat/gh pages by @miflow13 in #50
- update readme and gh-pages by @miflow13 in #51
- Refactor/context menu layout api by @miflow13 in #56
Full Changelog: v0.2.0-alpha...v0.3.0-alpha
Mochi v0.2.0-alpha
Mochi v0.3.0-alpha 🌱
Mochi is a tiny handcrafted Deskling companion for Linux. It's designed to feel like one coherent little creature living on your desktop rather than a collection of disconnected reactions.
v0.3 continues that work with the early foundations of Mochi's care / comfort systems, while improving ambient awareness, interaction reliability, and the systems that let Mochi respond naturally to what is happening around him.
This is still an early alpha, so expect rough edges. Feedback, compatibility reports, and bug reports are very welcome. 💚
⚠️ GNOME Wayland first installAfter installing Mochi for the first time, you may need to log out of GNOME and back in once.
This allows Mochi's GNOME Shell helper to become active for typing reactions, application awareness, file-browsing reactions, focused media detection, and other AmbiSense features.
You do not need to reinstall Mochi afterward.
🌱 What Mochi can do
- idle, breathe, blink, wander, sleep, and wake
- react to clicks, double-clicks, pickup, dragging, and dropping
- respond to typing and sustained activity
- react to music, video, terminals, editors, and other broad desktop contexts
- use Stay Put and Edge Roam movement modes
- show small contextual thoughts and reactions
- remember placement and preferences
- work across multiple monitors
- provide built-in Quick Start and Mochi Lab tools
Mochi is intentionally small feature-wise. There are no productivity scores, streaks, nagging reminders, or requirements to interact with him. You can completely ignore him and let him do his little thing.
AmbiSense (cool name huh?)
AmbiSense is Mochi's lightweight local awareness system.
On GNOME, a small Shell extension observes privacy-reduced desktop signals and turns them into semantic events Mochi can understand.
For keyboard activity, the basic flow looks like:
GNOME Shell extension
→ notices keyboard activity
→ reduces it to an anonymous "Pulse"
→ sends the Pulse over D-Bus
→ Mochi receives it
→ AmbiSense decides whether to react
No typed characters cross that boundary.
Mochi does not store key presses, inspect typed text, reconstruct words, record key values, or send your typing to a cloud service.
AmbiSense is local and rule-based — not an LLM or cloud AI system.
Handcrafted with love <3
All Mochi pixel art, animation, and audio are created by me.
The sprites are drawn frame by frame in [Pixelorama](https://github.com/orama-interactive/pixelorama), with a lot of attention paid to timing, silhouette, squash and stretch, and the tiny expressions that help Mochi feel alive.
🐧 Recommended environment
The primary tested configuration is:
Fedora Linux + GNOME + Wayland
Mochi uses XWayland where GNOME's native Wayland restrictions require it.
Fedora + Niri support is experimental, and other Linux distributions or desktop environments may work but do not yet receive the same level of testing.
Multi-monitor layouts, fractional scaling, different compositors, and different desktop environments may still expose alpha bugs.
Install
git clone https://github.com/miflow13/mochi-desktop.git
cd mochi-desktop
./install.shThen launch Mochi from your application grid or run:
mochiOn GNOME Wayland, remember that a one-time logout/login may be required after the initial install before all AmbiSense features become active.
⚠️ Alpha means alpha
This release is for early users, Linux tinkerers, testers, and anyone who doesn't mind helping Mochi grow.
If something behaves strangely, please open a GitHub issue and include:
- what you were doing immediately before the problem
- what you expected to happen
- what Mochi actually did
- your Linux distribution
- desktop environment / compositor
- monitor layout and scaling when relevant
- whether Mochi had just been clicked, dragged, slept, switched workspaces, or entered an AmbiSense state
- terminal output or a traceback if available
For runtime debugging:
mochi --debugEven missing reactions are useful reports — AmbiSense is designed to fail quietly rather than crash Mochi.
Mochi is still growing, but the goal stays the same:
a cute, polished little companion that feels like he actually belongs on your Linux desktop. 🌱
Thank you for trying Mochi. 💚
Full Changelog: v0.2.0-alpha...v0.3.0-alpha