Mellow is a cute pixel-art desktop companion for Windows that listens, speaks…
publik verified: the founder reviewed this exact version for malware and approved it
Every step written out. No terminal experience needed. Pick your setup.
A small pixel-art dog who lives on your Windows desktop.
Talk naturally, ask for help, stay focused, or keep him around just for company.
Mellow is an open-source desktop companion with a real personality and a useful set of hands-free tools. He can listen and answer out loud, understand what is on your screen, point you toward controls, open apps and websites, manage focus sessions and reminders, transcribe meetings, and react with expressive pixel-art animations.
You choose how much intelligence Mellow has and where it runs. Use local models, connect an OpenAI-compatible provider, use an existing Claude Code or Codex subscription, or disable AI entirely and keep only the pet.
https://github.com/user-attachments/assets/8cb9e786-4c55-4077-bd6f-3200aedc5f61
Ctrl + Shift + Space, speak, and hear Mellow answer out loud.| Cursor tracking | Petting | Hunt mode |
|---|---|---|
![]() |
![]() |
|
| His eyes follow your cursor around the desktop. | Give him a pet and watch the hearts appear. | Move quickly and Mellow gives chase. |
| Shake reaction | Pomodoro timer | Reminders |
![]() |
![]() |
![]() |
| Shake him around and he lets you know. | Stay focused with work and break sessions. | Set reminders and Mellow gets your attention. |
| Peek mode | Meeting notes | Stretch & yawn |
![]() |
![]() |
![]() |
| Need some space? Mellow tucks himself against the screen edge. | Stay in the conversation while Mellow takes notes. | A little stretch and a big yawn between tasks. |
Sometimes “look in the top-right corner” is not enough. Ask Mellow where something is, and his bone pointer moves across your screen to show you the relevant control, with a short explanation beside it.
Hold Ctrl + Shift + Space and try:
Mellow uses available interface information, on-screen text, and screen understanding to locate the target. While he explains it aloud, the pointer and its dialogue stay visible until the spoken response finishes, then the bone returns to following your cursor. Pointing is a visual guide, not an automatic click: you stay in control of what happens next.
Keep the relevant window visible when asking. For screenshot-based help, choose a vision-capable answer model and allow screenshot inspection under Settings → Advanced. Screenshots are taken when needed for your request, not continuously; cloud-based screen understanding sends them to your selected provider. Small icons, unusual layouts, or a page that changes after capture can affect pointing accuracy.
Talk instead of typing, anywhere on your desktop. Put your cursor where the words should go, hold Ctrl + Shift + Space, say what you want, and let go.
Mellow handles both jobs you would expect:
It works in documents, email, chat apps, and terminal prompts.
Because this types into other applications, it is careful by design. Mellow never presses Enter, so nothing sends, submits, or runs until you do it yourself. He only writes into the field you already chose, and never clicks or moves your cursor. If he cannot confirm the text landed, he hands you a draft to copy instead. Password and read-only fields are refused outright.
This is off until you turn it on, under Settings → Screen-aware writing.
Mellow sits on your wallpaper all day, and one coat does not suit every desktop. Click a part of him in the preview, then pick a colour.
Find it under Settings → Customize Mellow.
Let Mellow handle the transcript while you focus on the conversation. Available starting with Mellow 1.1.0.
Transcripts group speech into readable turns. You means your microphone; Other participant means audio from the selected output. During continuous speech the live text can lag a few seconds behind while Mellow waits for a natural pause to split on; no words are dropped. Echo cancellation helps reduce speaker audio leaking into the microphone, but headphones can improve clarity. Only start transcription with everyone's permission.
Mellow can separate the remote voices into Speaker 1, Speaker 2, and so on, instead of labelling all of them Other participant.
Turn it on in Settings → Meetings under Speaker recognition, with Label remote speakers (experimental). The first time, Mellow downloads two speaker models (about 35 MB) and shows the progress there; until they are ready, meetings record with the usual source labels. The switch can only be changed between meetings.
After a meeting, click a speaker label in the transcript to open the speaker editor. Give the speaker a Name, choose Same person as… and Combine speakers to merge two labels, or Separate this speaker to undo that. Giving two speakers the same name does not combine them, and combining is reversible. Regenerate existing notes after renaming or combining so the notes use the new labels.
This is experimental and off by default: its accuracy has not been measured against annotated real meetings yet, so check the labels before relying on them.
Open a saved meeting, switch to Notes, and select Generate notes. Mellow uses the answer engine configured in Settings: a local model, cloud provider, or supported agent connection. Transcription itself does not require generating notes.
Notes cover the overview, key topics, decisions, action items, and open questions when present in the conversation. You can leave the page while they generate, or use Regenerate notes to try again. Review generated notes against the transcript before relying on them.
In a saved meeting, click Export, choose Transcript or Notes, then select:
Transcripts and notes are exported separately. Saved meetings can also be renamed or deleted from Settings. Audio recordings are not saved; cloud transcription sends audio to your speech provider, and cloud or agent note generation sends the transcript to your chosen answer service.
Mellow-Setup-1.2.0-x64.exe from the latest release.From 1.2.0 onwards Mellow can update himself: Settings → Updates checks for a new release and installs it for you. Mellow 1.1.0 predates that, so it needs this one installed by hand.
Already using Mellow? Quit it from the tray before running the new installer. Keep your existing app data to retain settings, downloaded models, and saved meetings; a clean uninstall is only for removing that data.
Mellow currently supports 64-bit Windows. Microphone access is required for voice input and capturing your side of a meeting. For the best motion and pet reactions, enable Animation effects under Windows Settings → Accessibility → Visual effects.
The first public binaries are not code-signed, so Windows SmartScreen may ask you to confirm the installer.
For voice input, Mellow can keep the microphone open while awake to maintain a short pre-roll buffer; push-to-talk selects the audio to transcribe. A meeting you explicitly start captures your microphone and the selected system output, with local echo cancellation to reduce speaker playback in the microphone. Audio stays in memory; saved meetings contain transcripts and notes, not recordings. Cloud transcription sends audio to your selected speech provider. Optional speaker labelling runs entirely on your computer; the voice measurements it compares are discarded when the meeting ends and are never stored with the transcript. Screen capture is request-driven and can be disabled in Settings.
Provider keys are stored in Mellow's local configuration and are redacted from the app's internal configuration responses. Uninstalling offers an optional clean removal of Mellow's settings, WebView cache, Kokoro data, and Mellow-specific Parakeet cache.
git clone https://github.com/Tarun-032/Mellow.git
cd Mellow
py -3.12 -m venv .venv
.venv\Scripts\python.exe -m pip install -r mellowd\requirements.txt -r mellowd\requirements-build.txt
.venv\Scripts\python.exe scripts\prepare-meeting-aec.py
.venv\Scripts\python.exe scripts\sprites.py
npm ci
npm run tauri dev
Quit running copies of Mellow first. The packaged-helper verification needs port 8765 to be free. The sprite-generation step above creates bone.png, which is intentionally not tracked in Git.
npm run release:windows
The release command freezes the Python service, verifies its native audio/AI stack and security boundaries, builds the frontend and Tauri application, then produces:
src-tauri/target/release/bundle/nsis/Mellow-Setup-1.2.0-x64.exe
Large model weights are deliberately excluded from the repository and installer. They are downloaded only when the user selects the corresponding local feature.
Mellow is split into three small layers:
| Layer | Role |
|---|---|
| React + TypeScript | Onboarding, Settings, pet UI, panels, and animations |
| Rust + Tauri | Native windows, tray menu, global shortcuts, cursor tracking, lifecycle, and installer |
| Python + FastAPI | Speech, models, provider adapters, screen understanding, reminders, and desktop actions |
The installed application bundles the Python runtime and native dependencies, so end users do not need Python, Node.js, or Rust.
Meeting capture also bundles a pinned OpenWhispr/WebRTC echo-cancellation helper and Silero speech detection. prepare-meeting-aec.py verifies the helper download and collects its license notices; the release build runs this automatically. Meeting labels distinguish microphone audio (You) from system playback (Other participants), not individual remote speakers. Speaker playback, room acoustics, and simultaneous speech can still affect accuracy.
Issues and focused pull requests are welcome. Before opening a pull request, please run the relevant checks:
npm run build
cargo test --manifest-path src-tauri\Cargo.toml --lib
node scripts\bone.check.ts
node scripts\peek.check.ts
node scripts\pomodoro.check.ts
node scripts\updater.check.ts
Please never include API keys, personal screenshots, model weights, generated installers, or local cache data in a contribution.
Mellow by Tarun Behera is licensed under the GNU Affero General Public License v3.0, with two additional terms in NOTICE: modified versions must keep the attribution "Mellow by Tarun Behera" with a link to this repository, and must use their own name, icons and pet art.
Pixelify Sans is distributed under the SIL Open Font License 1.1; its license is included at src/pet/pixelify-sans.OFL.txt. Downloaded models and third-party services are not distributed under Mellow's license and remain subject to their respective terms.
Built with care for quiet desktops and busy people.