Docs

Everything about Mischi

How to install it, what every setting does, how to set up AI, and how to make pets of your own.

BetaWritten for Mischi 0.9.11 on macOS 13 Ventura or later

Install

Mischi is a free, native Mac app. It's in public beta, so expect frequent updates and the occasional rough edge.

RequirementDetails
macOS13 Ventura or later
MacApple Silicon or Intel. One Universal download covers both.
Download5.9 MB disk image
Groq API keyOptional. Only needed for chat, voice and generated chatter.
MicrophoneOptional. Only needed for voice mode.

Download and install

  1. Download Mischi-0.9.11.dmg (5.9 MB).
  2. Open it from your Downloads folder. A window shows Mischi next to your Applications folder.
  3. Drag Mischi onto Applications.
  4. Open Mischi from Applications, Launchpad or Spotlight.
Why Applications?Mischi is signed with a Developer ID and notarised by Apple, so it opens without Gatekeeper warnings. Run it from Applications, not from the disk image or your Downloads folder: macOS only handles Launch at login reliably for apps installed there.

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 thisTo
Click the petRun its click action, set in Preferences → Behavior → On click
Double-clickPlay a random animation
+ double-clickOpen Ask Mischi
K in any appOpen Ask Mischi
DragMove it. Mischi remembers the spot, even across displays.
Right-clickOpen the Mischi menu
Click the menu bar iconOpen 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

MethodUse it when
Scan CodexYou already have pets in ~/.codex/pets/. Mischi adds any that aren't in your library yet.
Import FolderYou have a pet folder somewhere on your Mac.
Import .zipYou 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

MessageWhat 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.

ModeWhat it does
StillNever animates on its own.
FriendlyPlays an expressive animation every 8–18 seconds, with longer pauses now and then.
BusyThe same idea at a quicker pace, every 3–8 seconds.
WanderStrolls 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”.

Keep Mischi runningReminders come from the app itself, so they only fire while Mischi is open. Turn on Launch at login in Preferences → Advanced so none get missed.

Window & startup

SettingTabWhat it does
ScaleWindowPet size, from 25% to 200%. Pixel art stays crisp at every size.
Window levelWindowFloating and Always on Top keep the pet above your apps. Desktop tucks it behind every window.
Click-throughWindowClicks pass through the pet to whatever is underneath. Reach Mischi from the menu bar icon while it’s on.
Start hiddenWindowLaunch without showing the pet. Show it from the menu.
Launch at loginAdvancedOpen Mischi automatically when you sign in.
Show Dock iconAdvancedPut 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

  1. Create a free API key at console.groq.com.
  2. Open Preferences → Advanced → Groq · BYOK, then paste and save the key.
  3. Choose a Model. Mischi fetches the current list from Groq and only offers models that can use its tools.
  4. Click Test next to Connection to check everything works.
Where your key goesYour key is stored in the macOS Keychain. It's only ever sent to Groq, and requests go straight from your Mac to Groq with no Mischi servers in between. Usage counts against your own Groq account.

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:

ToolTry 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.

⌘K already taken?If another app uses ⌘K, the shortcut may not reach Mischi. ⌘-double-clicking your pet always works.

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.webp

Hatch 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.

  1. In the Codex app, open Settings → Pets and choose Create pet. Codex installs the hatch-pet skill and starts a new chat.
  2. 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.
  3. Codex draws every animation and saves the pet to ~/.codex/pets/<name>/.
  4. 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:

PropertyValue
SizeExactly 1536 × 1872 pixels
Grid8 columns × 9 rows
Cell192 × 208 pixels per frame
FormatWebP or PNG with a transparent background, up to 20 MB
Unused cellsFully transparent

Each row is one animation, with frames running left to right. Codex orders the rows like this:

RowStateShows
0idleResting: a gentle breath or blink
1running-rightMoving to the right
2running-leftMoving to the left
3wavingA wave
4jumpingA hop
5failedSomething went wrong
6waitingWaiting for you
7runningBusy working
8reviewLeaning 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"
}
FieldNotes
idUnique, lowercase with hyphens. If it’s missing, the folder name is used.
displayNameThe name shown in menus and Preferences.
descriptionAn optional one-liner.
spritesheetPathThe 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.

Tips for a smooth pet
  • 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 frameCount in 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

ProblemTry this
I can’t see my petChoose 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 iconOpen Mischi from Applications. On a crowded menu bar, the icon can hide behind the notch.
⌘K does nothingAnother 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 workingGroq 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 awayAllow Mischi in System Settings → Privacy & Security → Microphone.
Screenshots fail or only show the wallpaperAllow Mischi in System Settings → Privacy & Security → Screen & System Audio Recording, then quit and reopen Mischi.
My pet runs backwardsTurn on Swap left / right movement in Preferences → Animations.
My pet is a black boxThe spritesheet has no transparency. Re-export it with an alpha channel.
An animation flickersThere are blank cells after the last frame. Set that state’s frameCount in pet.json.
Launch at login won’t stay onMove 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.mac

If 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.