English | 简体中文
MimiDesk is a tiny desktop companion that keeps useful reminders close without turning your day into another dashboard.
It lives on your desktop as a small pixel pet, reminds you to drink water, keeps lightweight TODO reminders, and also ships with a terminal command for quick updates from your shell.
Status: early preview. MimiDesk is usable today, but packaging, signing, and release automation are still evolving.
Most reminder tools either disappear into a notification center or grow into a full productivity system. MimiDesk is intentionally smaller:
- visible enough to be noticed
- calm enough to stay out of the way
- local-first by default
- usable from both the desktop and the terminal
It is built for people who want a gentle nudge, not another inbox.
- Always-on-top desktop pet with pixel character styles
- Click-to-open control panel for reminders, TODOs, and character switching
- Hydration reminders with fixed interval presets and active hours
- TODO reminders with quick presets, completion, deletion, and snooze actions
- Native system notifications
- Tray menu for show, hide, and quit
- Terminal CLI that reads and writes the same local data
- Local JSON storage with automatic migration from the old
~/.desktop-petdata directory
MimiDesk is a Tauri application, so local development requires:
- Node.js
- pnpm
- Rust and Cargo
- macOS for the current desktop bundle
git clone git@github.com:blackhu0804/MimiDesk.git
cd MimiDesk
pnpm install
pnpm install:localThe local installer builds the Tauri app and installs the mimidesk command into:
~/.local/bin/mimidesk
If your shell cannot find mimidesk, add this to your shell profile:
export PATH="$HOME/.local/bin:$PATH"Start the desktop pet:
mimidesk startOpen the panel by clicking the pet. Drag the pet to place it where you want it.
The CLI is useful when you want to update MimiDesk without opening the panel.
mimidesk status
mimidesk data-path
mimidesk water every 45 --start 09:00 --end 22:00
mimidesk water now
mimidesk todo add "Write meeting notes" --due 2026-05-18T15:00:00Z
mimidesk todo list
mimidesk todo done <id-or-prefix>MimiDesk stores data locally on your machine:
~/.mimidesk/app-data.json
There are no accounts, cloud sync, or telemetry. The app uses native notifications only for reminders you configure.
If you used an earlier build that stored data at ~/.desktop-pet/app-data.json, MimiDesk will migrate that data automatically the first time the new data file is missing.
Run the desktop app in development mode:
pnpm devRun the web-only checks:
pnpm test:webRun Rust tests:
pnpm test:rustRun the full test suite:
pnpm testBuild release artifacts:
pnpm buildThe macOS app and DMG are generated under:
src-tauri/target/release/bundle
MimiDesk
├── src/ # React UI and frontend behavior
├── src/lib/ # Frontend helpers and tests
├── src-tauri/ # Rust/Tauri desktop app and CLI
├── scripts/ # Local installation helpers
├── package.json # Node scripts and frontend dependencies
└── README.md
- Tauri 2
- Rust
- React
- TypeScript
- Vite
- Vitest
See docs/ROADMAP.md for the current roadmap.
Near-term themes:
- signed macOS release builds
- easier installation
- more character animations
- import/export for local data
- better recurring TODO support
- optional break reminders and focus modes
Issues and pull requests are welcome. See CONTRIBUTING.md for setup notes and PR guidelines.
Good first areas include:
- character sprites and animations
- reminder presets
- packaging and release automation
- accessibility polish
- documentation and screenshots
Before opening a pull request, run:
pnpm testMimiDesk is released under the MIT License.
Please see SECURITY.md for vulnerability reporting guidance.
