Install
Mischi is a free, native Mac app. It's in public beta, so expect frequent updates and the occasional rough edge.
| Requirement | Details |
|---|---|
| macOS | 13 Ventura or later |
| Mac | Apple Silicon or Intel. One Universal download covers both. |
| Download | 5.9 MB disk image |
| Groq API key | Optional. Only needed for chat, voice and generated chatter. |
| Microphone | Optional. Only needed for voice mode. |
Download and install
- Download Mischi-0.9.11.dmg (5.9 MB).
- Open it from your Downloads folder. A window shows Mischi next to your Applications folder.
- Drag Mischi onto Applications.
- Open Mischi from Applications, Launchpad or Spotlight.
First launch
A short welcome tour covers the basics, and your pet appears on the desktop. Mischi comes with a pet built in, so there's nothing to set up before you can play.
Mischi is a menu bar app. Look for its icon at the top right of your screen. It stays out of the Dock unless you turn on Preferences → Advanced → Show Dock icon. To watch the tour again, go to Preferences → About → Welcome tour.
Updating
Download the latest version from the download page, quit Mischi, and drag the new copy into Applications, replacing the old one. Your pets, settings, reminders and API key are kept. Join the newsletter to hear when a new version is out.
Everyday use
Your pet lives in a transparent window above your other apps. It follows you to every Space and over full-screen apps, and it never steals focus from what you're doing.
| Do this | To |
|---|---|
| Click the pet | Run its click action, set in Preferences → Behavior → On click |
| Double-click | Play a random animation |
| ⌘ + double-click | Open Ask Mischi |
| ⌘ K in any app | Open Ask Mischi |
| Drag | Move it. Mischi remembers the spot, even across displays. |
| Right-click | Open the Mischi menu |
| Click the menu bar icon | Open the same menu |
The Mischi menu
The menu is the same wherever you open it: on the pet, in the menu bar, or on the Dock icon if you've turned it on.
- Show / hide the pet.
- Animation: play any animation you've named, or go back to the default loop.
- Speed, Scale and Behavior: quick versions of the settings below.
- Library: switch pets, reveal one in Finder, or delete it.
- Import Pet Folder… and Import Pet .zip…
- Preferences… and Quit Mischi.
Preferences has seven tabs: Pet, Behavior, Animations, Reminders, Window, Advanced and About. The sections below cover them.
Pets & library
A pet is a folder containing a pet.json and a spritesheet.webp. It's the same format OpenAI Codex uses, so every Codex pet works in Mischi.
Add pets
| Method | Use it when |
|---|---|
| Scan Codex | You already have pets in ~/.codex/pets/. Mischi adds any that aren't in your library yet. |
| Import Folder | You have a pet folder somewhere on your Mac. |
| Import .zip | You downloaded a pet as a .zip file. |
All three live in Preferences → Pet, and folder and .zip imports are in the Mischi menu too. Mischi copies each pet into its own library and never changes the original.
Switch and manage
Pick a pet in Preferences → Pet, or use Library → Switch to…in the menu. Deleting a pet only removes Mischi's copy.
Your library is in ~/Library/Application Support/mischi/Pets/. To open it, go to Preferences → Advanced → Pet library folder → Reveal in Finder.
If an import fails
| Message | What to check |
|---|---|
| This folder does not contain pet.json. | Pick the folder that holds pet.json directly, not the folder above it. |
| This folder does not contain spritesheet.webp. | The sheet must sit next to pet.json, named spritesheet.webp or whatever spritesheetPath says. |
| spritesheet.webp could not be decoded. | The file is damaged or in an unsupported format. Re-export it as a transparent WebP or PNG. |
| No animation states were found. | Check the sheet follows the 8 × 9 atlas layout. |
Behavior & animations
Modes
Preferences → Behavior → Mode sets what your pet does when you leave it alone. No mode plays the same animation twice in a row.
| Mode | What it does |
|---|---|
| Still | Never animates on its own. |
| Friendly | Plays an expressive animation every 8–18 seconds, with longer pauses now and then. |
| Busy | The same idea at a quicker pace, every 3–8 seconds. |
| Wander | Strolls a short way across your screen every few seconds and turns around at the edges. |
Other behavior settings
- On click: No action, Random animation, Toggle running, or any animation you've named.
- Playback speed: 0.5×, 0.75×, 1× or 1.5× for every animation.
- Idle chatter: the occasional speech bubble while you're inactive, using the chat lines you've written.
- Ask input: whether Ask Mischi opens in Text or Voice mode.
Character
At the top of the Behavior tab, each pet gets its own character: a name, a tone and a personality. The character shapes Ask Mischi's replies and any chatter Groq writes. ✨ Enhance turns a quick sketch into a fuller description, and When you're talking to it picks an animation to loop while the Ask prompt is open.
Animations
Mischi finds every row of a pet's spritesheet that has frames. In Preferences → Animations you can:
- Name each row, like “Wave” or “Drink water”. Names show up in the menu, the click action, reminders, and Ask Mischi (“wave hello”).
- Add chat lines, one per line. When the animation plays, the pet says one at random.
- Generate chatter with Groq: one request writes in-character lines for every named animation. Replace overwrites existing lines and Append adds to them. It needs a personality to write from.
- Swap left / right movement: turn this on if your pet runs backwards while wandering or being dragged.
Reminders
Mischi can nudge you to stretch, drink water or join a call. When a reminder fires, your pet says it in a chat bubble and can play an animation.
In Preferences → Reminders, a reminder has:
- What: the words your pet will say.
- When: the date and time it first goes off.
- Repeats: Once, Every minute, Hourly, Daily, Weekly, or Custom (every so many seconds, minutes, hours, days or weeks).
- Animation: optional, played when it fires.
You can edit or delete reminders at any time. With a Groq key you can also just ask: “remind me in 20 minutes to stretch”.
Window & startup
| Setting | Tab | What it does |
|---|---|---|
| Scale | Window | Pet size, from 25% to 200%. Pixel art stays crisp at every size. |
| Window level | Window | Floating and Always on Top keep the pet above your apps. Desktop tucks it behind every window. |
| Click-through | Window | Clicks pass through the pet to whatever is underneath. Reach Mischi from the menu bar icon while it’s on. |
| Start hidden | Window | Launch without showing the pet. Show it from the menu. |
| Launch at login | Advanced | Open Mischi automatically when you sign in. |
| Show Dock icon | Advanced | Put Mischi in the Dock and the ⌘-Tab switcher. |
AI with Groq
Mischi's AI features are optional, and you bring your own key. Your pet, animations and reminders all work without them. A Groq key adds:
- Ask Mischi, an assistant that can take actions on your Mac
- Voice mode, so you can talk instead of type
- Generated chatter and ✨ Enhance for your pet's character
Set up your key
- Create a free API key at console.groq.com.
- Open Preferences → Advanced → Groq · BYOK, then paste and save the key.
- Choose a Model. Mischi fetches the current list from Groq and only offers models that can use its tools.
- Click Test next to Connection to check everything works.
Seeing “too many requests”? You've hit your Groq plan's rate limit. Wait a minute or pick a smaller, faster model. Groq retires models from time to time, so if one stops working, choose another from the same list.
Ask Mischi
Press ⌘ K in any app, or hold ⌘ and double-click your pet. A prompt opens above the pet. Type your question and press ⏎, and Mischi answers in character.
Mischi decides by itself when to use one of its tools:
| Tool | Try saying |
|---|---|
| Take a screenshot | “Screenshot my screen to the clipboard” |
| Add a reminder | “Remind me in 20 minutes to stretch” |
| Read the clipboard | “Summarise what’s on my clipboard” |
| Play an animation | “Wave hello” |
| Save a note | “Remember I parked on level 3” |
| Recall notes | “Where did I park?” |
| Open an app or website | “Open Spotify” or “Go to news.ycombinator.com” |
| Search the web | “Search for pizza near me” opens the results in your browser |
Notes are saved on your Mac in ~/Library/Application Support/Standalone Codex Pets/notes.json.
Voice mode
Switch between text and voice with the badge on the prompt, or set the default in Preferences → Behavior → Ask input. In voice mode, just talk and pause when you're done. Groq's Whisper model transcribes the recording and Mischi sends your question. The audio is thrown away afterwards.
The first time, macOS asks for microphone access. If you declined, turn it on in System Settings → Privacy & Security → Microphone.
Create your own pet
Mischi uses the Codex pet format, so a pet you make works in both Mischi and Codex. It's a folder with two files:
biscuit/
├── pet.json
└── spritesheet.webpHatch one with Codex
The quickest way to a new pet is to let Codex draw it. OpenAI's hatch-pet skill turns a description or a reference image into a finished pet with every animation.
- In the Codex app, open Settings → Pets and choose Create pet. Codex installs the hatch-pet skill and starts a new chat.
- Describe your pet, or attach a picture: your cat, a mascot, a doodle. You can ask for a style too, like pixel, plush, clay or sticker.
- Codex draws every animation and saves the pet to
~/.codex/pets/<name>/. - In Mischi, open Preferences → Pet and click Scan Codex.
OpenAI's Codex pets guide has the details, including the sprite sheet rules Codex checks.
The spritesheet
To draw a pet yourself, or to check one before sharing it, here's the layout:
| Property | Value |
|---|---|
| Size | Exactly 1536 × 1872 pixels |
| Grid | 8 columns × 9 rows |
| Cell | 192 × 208 pixels per frame |
| Format | WebP or PNG with a transparent background, up to 20 MB |
| Unused cells | Fully transparent |
Each row is one animation, with frames running left to right. Codex orders the rows like this:
| Row | State | Shows |
|---|---|---|
| 0 | idle | Resting: a gentle breath or blink |
| 1 | running-right | Moving to the right |
| 2 | running-left | Moving to the left |
| 3 | waving | A wave |
| 4 | jumping | A hop |
| 5 | failed | Something went wrong |
| 6 | waiting | Waiting for you |
| 7 | running | Busy working |
| 8 | review | Leaning in to take a close look |
Mischi doesn't rely on that exact order. It plays row 0 as the default loop, works out how many frames each row has, and lets you name every row in Preferences → Animations.
pet.json
A Codex pet needs only a few fields:
{
"id": "biscuit",
"displayName": "Biscuit",
"description": "A sleepy corgi who supervises your commits.",
"spritesheetPath": "spritesheet.webp"
}| Field | Notes |
|---|---|
id | Unique, lowercase with hyphens. If it’s missing, the folder name is used. |
displayName | The name shown in menus and Preferences. |
description | An optional one-liner. |
spritesheetPath | The sheet's file name. Defaults to spritesheet.webp. |
For finer control, Mischi also reads frameWidth, frameHeight, columns and an animations map. Each entry takes a row, frameCount, fps and loop, keyed by idle, waving, jumping, failed, review, running, running-right or running-left. Mischi ignores fields it doesn't know, so the file still works in Codex.
"animations": {
"idle": { "row": 0, "frameCount": 6, "fps": 8, "loop": true },
"waving": { "row": 3, "frameCount": 4, "fps": 10, "loop": false }
}Draw one by hand
Any pixel art or animation tool works, such as Aseprite, Pixelorama or Photoshop. Set up a 1536 × 1872 canvas with a 192 × 208 grid, draw each animation left to right in its own row, and export a transparent WebP or PNG. Write a pet.json next to it, then import the folder.
- Keep a little space around your pet inside each cell. Anything past the cell edge gets cut off.
- If an animation flickers at the end, there are blank cells after its last frame. Set its
frameCountin pet.json. - If your pet runs the wrong way, turn on Swap left / right movement instead of redrawing it.
- To share a pet, zip its folder. People can add it with Import .zip in Mischi, or unzip it into
~/.codex/pets/for Codex.
Troubleshooting
| Problem | Try this |
|---|---|
| I can’t see my pet | Choose Show from the menu bar icon. Check that Start hidden is off and Window level isn’t set to Desktop. |
| There’s no menu bar icon | Open Mischi from Applications. On a crowded menu bar, the icon can hide behind the notch. |
| ⌘K does nothing | Another app may have the shortcut. ⌘-double-click your pet instead. |
| “Asking Mischi needs a Groq API key” | Add a key in Preferences → Advanced. See AI with Groq. |
| “Groq rejected your API key” | The key was revoked or pasted incompletely. Paste a fresh one from console.groq.com. |
| A model “can’t take actions” or stopped working | Groq retires models, and some can’t use tools. Pick another model in Preferences → Advanced. |
| “Too many requests” | You’ve hit your Groq rate limit. Wait a moment or choose a smaller model. |
| Voice mode fails straight away | Allow Mischi in System Settings → Privacy & Security → Microphone. |
| Screenshots fail or only show the wallpaper | Allow Mischi in System Settings → Privacy & Security → Screen & System Audio Recording, then quit and reopen Mischi. |
| My pet runs backwards | Turn on Swap left / right movement in Preferences → Animations. |
| My pet is a black box | The spritesheet has no transparency. Re-export it with an alpha channel. |
| An animation flickers | There are blank cells after the last frame. Set that state’s frameCount in pet.json. |
| Launch at login won’t stay on | Move Mischi into your Applications folder and try again. |
Still stuck? Tell us what's happening.
Uninstall & reset
Choose Quit Mischi from the menu, then drag Mischi from Applications to the Trash.
Your pets and settings stay on your Mac in case you reinstall. To remove everything, quit Mischi first and run this in Terminal:
rm -rf ~/Library/Application\ Support/mischi
rm -rf ~/Library/Application\ Support/Standalone\ Codex\ Pets
defaults delete app.mischi.macIf you added a Groq key, open Keychain Access, search for app.mischi.mac and delete the entry.
Get help
Found a bug or have an idea? In Mischi, go to Preferences → About → Found a bug? and click Report it. It opens our contact page with your app and macOS versions already filled in.
You can also write to us directly, or check the FAQ for quick answers.