Skip to content
MoELuaNMaTPublic

About

Animated desktop pet for OMP / Oh My Pi — visualize AI coding agent status, monitor multiple sessions, and reuse Codex pet bundles.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

OMPet 🐾

Your OMP coding sessions, alive on your desktop.

OMPet turns Oh My Pi / OMP session states into animated desktop pets, so you can see what your coding agents are doing without staring at every terminal.

Oh My Pi · AI coding agent · Desktop pet · Multi-session monitor · Codex pet compatible · Local only

License: MIT

English | 简体中文

OMPet monitoring multiple OMP sessions

Running, waiting, idle, done — let the pet show you what your agent is doing.

OMPet is a desktop-pet extension for Oh My Pi (OMP). The OMP extension watches session lifecycle events, while a lightweight desktop app turns those states into pet animations, session bubbles, and clickable shortcuts back to the matching terminal.

Why OMPet?

When several coding-agent sessions are running at once, the annoying part is no longer starting them — it is remembering which one is working, which one needs approval, and which terminal you need to return to.

OMPet makes that state visible at a glance:

  • See agent activity as animation — map running, waiting-for-approval, idle, and other OMP states to different pet animations.
  • Monitor multiple sessions at once — each active OMP session gets its own compact status bubble.
  • Jump back to the right terminal — click a pet or session bubble to focus the matching OMP terminal.
  • Reuse Codex-compatible pets directly — existing Codex pet bundles can be loaded without converting their assets or rewriting pet.json.
  • Configure animation rows visually — use /ompet to switch pets and map sprite-sheet rows to OMP states.
  • Stay local — Canvas rendering, local snapshots, no network requirement, no telemetry.

See every session at a glance

OMPet keeps multiple OMP sessions visible without turning your desktop into another dashboard.

Expanded OMP session status capsule

The pet shown in these screenshots comes from the remilia-codex-pet repository. Its original pet bundle is not included or redistributed in this repository; the screenshots are for demonstration only.

Bring your Codex pet with you

Already using a Codex-compatible pet bundle? OMPet can read it directly.

Put a bundle containing pet.json plus the file referenced by spritesheetPath (usually spritesheet.webp) in either location:

~/.codex/pets/<id>/
~/.omp/ompet/pets/<id>/

Then open /ompet and select it.

OMPet treats ~/.codex/pets/<id>/ as read-only. OMP-specific animation mappings are stored in OMPet's own global configuration and are never written back into the Codex pet bundle.

Quick start

Requirements

To run OMPet:

  • Windows 10+
  • Bun ≥ 1.3
  • WebView2 (normally included with supported Windows installations)

To build the desktop app from source:

  • Rust toolchain
  • Windows build prerequisites required by Tauri 2

Build and deploy

# Install root dependencies
bun install

# Build the desktop app on a fresh checkout
cd desktop
bun install
bunx tauri build --no-bundle --ci
cd ..

# Build and deploy the OMP extension
bun scripts/build-extension.ts

# Restart your OMP session so the extension loads at startup

scripts/build-extension.ts does not build or download the desktop executable. It only copies desktop/src-tauri/target/release/ompet-desktop.exe when that file already exists.

Use OMPet

Entry What it does
/ompet Open the OMPet panel, enable/disable the extension, switch pets, and configure animation-row mappings.
/onmypet Compatibility alias for /ompet.
Desktop pet Drag to move, resize from the corner, click the pet to focus the selected session, or click a bubble to focus that exact session.

How it works

OMP session events
       ↓
OMPet extension
       ↓
Local session snapshots
       ↓
Desktop renderer
       ↓
Pet animation + session bubbles + terminal focus
  1. The extension listens to OMP lifecycle events.
  2. It writes one local snapshot for each active session.
  3. The desktop app reads snapshots and global configuration.
  4. The UI updates pet animations, session bubbles, and the active-session target.
  5. Clicking a pet or bubble returns you to the corresponding terminal.

Local files

Path Purpose
~/.omp/ompet/config.json Global settings, selected pet, and animation-row mappings.
~/.omp/ompet/run/<encodedSessionId>.json Local snapshot for one OMP session.
~/.omp/agent/extensions/ompet/ Deployed extension files and desktop executable.

Project structure

Path Responsibility
extension/ OMP lifecycle integration, session snapshots, pet discovery, and /ompet UI.
desktop/ Tauri desktop window, pet rendering, session bubbles, and terminal focusing.
packages/shared/ Shared pet contract, session states, configuration types, and snapshot types.
scripts/build-extension.ts Builds and deploys the extension and any locally available pet bundles.

Pet assets and licensing

Sample pet assets are not included in Git because their licenses are separate from OMPet. The build script can deploy local remilia/ and elaina-2/ bundles when those directories already exist, but the original external assets are not part of this repository.

Bring your own compatible pet bundle, or use one you already have locally.

License

MIT © LuaNMaT

About

Animated desktop pet for OMP / Oh My Pi — visualize AI coding agent status, monitor multiple sessions, and reuse Codex pet bundles.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages