JSPM

  • Created
  • Published
  • Downloads 136
  • Score
    100M100P100Q97968F
  • License MIT

Pi-Pompom — A 3D raymarched virtual pet with voice, ambient weather sounds, AI side chat, agent tracking, and 23 layered sound effects for Pi CLI

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@codexstar/pi-pompom) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    English | 简体中文

    Pi-Pompom — a terminal pet for Pi CLI with voice, ambient weather, side chat, and agent-aware commentary.

    pi-pompom

    A 3D raymarched virtual pet with voice, ambient sounds, AI side chat, weather physics, and agent intelligence for Pi CLI.

    npm version npm downloads License: MIT TypeScript Platform

    Install · Why Pompom · Side Chat · Pi Listen · Agent Intelligence · Voice Setup · Commands · Shortcuts · Demo · Features · Settings


    Pompom — Do a flip!

    Pompom Demo


    Pompom is an interactive coding companion for Pi CLI. She lives in your terminal while you code, watches your agent work, and lets you talk to her about what's happening in your session without interrupting anything.

    Install

    pi install @codexstar/pi-pompom

    For the best experience, use a GPU-accelerated terminal like Ghostty or Kitty.

    Why Pompom

    Pompom is not just a cute face. She is a parallel AI assistant that runs alongside your main coding agent.

    • Side Chat (⌥/ or Alt+/) opens a floating AI panel. Ask her what the agent is doing, what went wrong, or get a full session recap. She watches every tool call and catches errors in real time.
    • Voice Input with Pi Listen. Hold Space to talk directly to Pompom when her chat is focused.
    • Agent Dashboard shows active tools, success rates, mood, and timing.
    • Stuck Detection alerts you when your agent is looping on errors or stalled.
    • Session Analysis gives you deep AI-powered insights and recommendations.

    While all of that works in the background, she is also playful. She asks you to pet her, give her treats, throw a ball, dance together, and sing songs. She reacts to real weather, wears accessories, plays ambient sounds, and has a full mood system.

    Side Chat

    Press ⌥/ (macOS) or Alt+/ (Windows/Linux) or run /pompom:chat to open a floating AI chat panel alongside the main agent.

    Pompom Side Chat

    • Pompom has her own AI instance running in parallel. She does not interrupt your main agent.
    • Read-only tools only. Safe inspection mode, no accidental file edits.
    • peek_main tool lets Pompom see what the agent is working on (with redacted tool output).
    • Type help in the chat for built-in shortcuts: analyze, stuck, recap, status.
    • Per-session conversations. Each new session starts fresh.
    • Anchored at the center of the viewport, 60% max height.
    • Press Esc to close, ⌥/ to toggle focus.

    Pi Listen / Voice Input

    Pompom integrates with Pi's built-in voice input system. When Pompom's side chat is focused, holding Space activates pi listen and your speech is transcribed directly into the chat.

    How it works:

    1. Open side chat with ⌥/ (macOS) or Alt+/
    2. Hold Space to start talking
    3. Release Space and your speech gets transcribed into the Pompom chat
    4. Pompom responds as a separate AI, with full context of what the main agent is doing

    What happens during voice input:

    • Pompom's mouth animates in sync with your audio level
    • All TTS playback pauses automatically so your mic stays clean
    • All sound effects are silenced
    • Ambient weather sounds duck to a lower volume
    • Everything resumes when you stop recording

    No extra setup needed. If pi listen works in your Pi CLI, it works with Pompom's chat.

    Agent Intelligence

    Pompom watches your coding agent and reacts in real time.

    AI Analysis Commands

    Command What it does
    /pompom:ask <question> Ask anything about the current session
    /pompom:recap Get a concise session summary
    /pompom:analyze Deep AI-powered analysis with recommendations
    /pompom:agents Real-time dashboard: active tools, success rate, mood, timing
    /pompom:stuck Check if agent is stuck in error loop

    7 Mood States

    idle, curious, focused, busy, concerned, celebrating, sleepy

    Mood is determined by tool call patterns, error rates, and activity timing. Weather reflects agent state. Storms on errors, snow on celebrations.

    Stuck Detection

    Monitors consecutive error streaks, stalled progress (>5 min), high error rate (>50%), and repetitive tool calls. Pompom alerts with a speech bubble when confidence is high.

    Commentary System

    10 event buckets with probability-based speech: agent start/end, tool calls, tool errors, messages. Commentary gap: 30s minimum between lines, 60s for same bucket.

    Voice Setup

    Pompom supports 3 TTS engines. ElevenLabs gives the best experience with expressive audio tags.

    Quick Setup

    /pompom:voice setup

    This walks you through picking an engine, selecting a voice, and testing it.

    Engines

    Engine Type Voices What makes it special
    ElevenLabs Cloud (best quality) 19 voices Expressive audio tags: [laughs], [sighs], [excited], [whispers], [crying]
    Deepgram Cloud 5 Aura-2 voices Natural prosody from punctuation
    Kokoro Local (free, no API key) 8 voices Runs entirely on your machine, no network needed

    Audio tags are engine-aware. ElevenLabs keeps [laughs], Kokoro and Deepgram get them stripped automatically.

    Voice Commands

    Command What it does
    /pompom:voice on|off Enable/disable TTS
    /pompom:voice setup Interactive configuration
    /pompom:voice test Play a test phrase
    /pompom:voice kokoro|deepgram|elevenlabs Switch engine
    /pompom:voice voices List available voices
    /pompom:voice set <id> Set voice by ID
    /pompom:voice volume <0-100> Adjust volume
    /pompom:voice quiet|normal|chatty|professional|mentor|zen Set personality

    6 Personalities

    Mode Behavior
    Quiet User actions + errors only
    Normal Moderate, casual (default)
    Chatty Frequent commentary
    Professional Errors, milestones, direct actions
    Mentor Guides on errors and completions
    Zen Near-silent, speaks only when addressed

    Commands

    Pet Actions

    Command What it does
    /pompom Toggle companion on/off
    /pompom help Show all commands and shortcuts
    /pompom status Check mood, hunger, energy, theme
    /pompom pet Pet Pompom
    /pompom feed Drop food
    /pompom treat Special treat (extra hunger boost)
    /pompom hug Give a hug (restores energy)
    /pompom ball Throw a ball
    /pompom dance Dance with sparkle particles
    /pompom music Sing a song
    /pompom game Catch the stars! (20s mini-game)
    /pompom theme Cycle color theme
    /pompom sleep Nap on a pillow
    /pompom wake Wake up
    /pompom flip Do a backflip
    /pompom hide Wander offscreen
    /pompom toggle Hide/show animation (voice + tracking stay active)
    /pompom give <item> Give an accessory (umbrella, scarf, sunglasses, hat)
    /pompom inventory See Pompom's bag

    Audio & Ambient

    Command What it does
    /pompom:ambient Ambient sound status
    /pompom:ambient on|off Enable/disable weather ambient sounds
    /pompom:ambient volume <0-100> Adjust ambient volume
    /pompom:ambient pregenerate Generate all 5 weather sounds now
    /pompom:ambient reset Delete generated sounds and regenerate on next weather change
    /pompom:ambient folder Show custom audio folder path

    Utilities

    Command What it does
    /pompom:chat Open side chat (parallel AI)
    /pompom:terminals Show all running Pompom instances
    /pompom:window Toggle native floating window (requires glimpseui)
    /pompom demo Autonomous ~135s narrated showcase
    /pompom-settings Interactive settings panel (9 tabs)

    Keyboard Shortcuts

    macOS Windows/Linux Action
    ⌥/ Alt+/ Side Chat (most important!)
    ⌥p Alt+p Pet
    ⌥n Alt+n Feed
    ⌥t Alt+t Treat
    ⌥u Alt+u Hug
    ⌥r Alt+r Ball
    ⌥x Alt+x Dance
    ⌥g Alt+g Game
    ⌥m Alt+m Music
    ⌥c Alt+c Theme
    ⌥s Alt+s Sleep
    ⌥a Alt+a Wake
    ⌥z Alt+z Flip
    ⌥o Alt+o Hide
    ⌥v Alt+v Toggle view

    Note: Alt+f, Alt+b, Alt+d, Alt+h, Alt+w are reserved by Pi's built-in editor. Pompom uses alternatives that don't conflict.

    Four input methods supported: Ghostty keybinds, ESC prefix, macOS Unicode, Kitty keyboard protocol.

    Demo Mode

    Run an autonomous narrated showcase of every feature (~135 seconds):

    /pompom demo

    Pompom narrates each feature as it happens: interactions, weather transitions, accessories, games, sleep/wake, color themes. Run /pompom demo again to stop early. Great for recording videos.

    Features

    3D Rendering

    • Raymarched body with real-time lighting, shadows, and floor reflections
    • Hybrid renderer: Unicode quadrant blocks at edges (2x detail), half-blocks in smooth areas
    • 4 color themes: Cloud, Cotton Candy, Mint Drop, Sunset Gold
    • Natural animations: blinking, breathing, ear wiggling, tail wagging
    • Widget renders at ~7 FPS via 150ms interval

    Weather & Physics

    • Smooth sky color transitions (dawn to dusk)
    • Sun disk with halo, crescent moon with glow, twinkling stars
    • Rolling hills, swaying grass with flowers, drifting cloud wisps
    • 5 weather types: clear, cloudy, rain, storm, snow
    • Rain splash particles with ripple effects
    • Snow accumulation as sparkle particles at ground level
    • Wind system: storms push ears, antenna, body, and tail
    • Ball physics with air resistance and spin transfer
    • Firefly that glows brighter at night
    • Weather-aware reactions every 2-5 minutes

    Ambient Weather Sounds

    Background audio that matches the current weather with 23 layered sound effects.

    • Custom audio: drop files in ~/.pi/pompom/ambient/custom/
    • Falls back to ElevenLabs Sound Effects API (cached locally)
    • Auto-ducks during voice playback and sleep
    • Linux ALSA support with WAV format generation
    Category Effects
    Weather thunder, bird chirp, bee buzz, wind gust, rain drip, cricket chirp
    Actions pet purr, eat crunch, ball bounce, hug squeeze, sleep snore, wake yawn, dance sparkle, flip whoosh
    Events star chime, game start/end, hide tiptoe, peek surprise, firefly twinkle, color switch, weather transition, accessory equip, footstep
    Agent agent tick (subtle tick during tool execution)
    Needs hunger rumble, tired yawn
    Session session chime, session goodbye, milestone chime

    Emotional Reactions

    Pompom expresses emotions based on her needs:

    • Hungry (<30%): asks for food with sad expressions
    • Starving (<15%): dramatic hunger pleas
    • Tired (<15%): sleepy whispers and yawns
    • Happy (>80%): laughing and singing
    • Playful (>60%): asks to play, dance, throw balls

    19 spontaneous activity requests. She asks you to play, sing, dance, hug, and feed her during positive emotional states.

    Weather Accessories

    • /pompom give umbrella for rain/storm
    • /pompom give scarf for snow
    • /pompom give sunglasses for clear weather
    • /pompom give hat as a cute collectible
    • Accessories persist across sessions

    Mini-Game: Star Catcher

    • /pompom game starts a 20-second challenge
    • Golden stars fall from the sky with sparkle effects
    • Score announced with game-end jingle

    Multi-Terminal Awareness

    • Primary instance election via heartbeat files (oldest terminal wins)
    • Only the primary terminal plays ambient audio, weather SFX, and greetings
    • /pompom demo narration plays in the terminal that starts it
    • User-triggered SFX play on the active terminal
    • /pompom:terminals shows all running instances

    Settings Panel

    Run /pompom-settings to open the interactive 9-tab settings panel. No commands to memorize. Everything is right there.

    Pompom Settings Panel

    Tab What you can do
    Pompom Pet, feed, play with 12 action buttons and mood/hunger/energy bars
    Voice Pick engine, select voice, adjust volume, toggle on/off, test
    Sound Toggle weather sounds, adjust volume, pregenerate ambient + SFX
    Personality Choose from 6 speech modes
    Theme Pick from 4 color palettes
    Accessories Give items with descriptions
    Model Select AI model for chat/ask/analyze
    Keys Full keyboard reference card
    About Dashboard with mood, hunger, energy, weather, voice, ambient, agent stats

    Navigate with arrow keys, Enter to select, Esc to close.

    Pompom adds a compact, information-rich status bar at the bottom of your Pi terminal.

    Pompom Footer

    • Pompom's mood face + name (always visible)
    • Hunger/energy bars with color-coded thresholds
    • Weather icon + agent activity indicator
    • Session timer, context usage bar, working directory, cost tracker
    • Voice and ambient audio indicators
    • Model name (intelligently shortened)
    • All Nerd Font icons, Catppuccin Mocha colors, Powerline separators
    • Adapts content based on terminal width: ultra-narrow shows just the face, ultra-wide shows everything

    Theme

    Pompom ships with a Catppuccin Mocha warm theme (themes/pompom.json) that auto-activates on install:

    • Warm pink accent with rosewater text
    • Cozy message bubbles, gentle green/red tool result glows
    • Thinking level borders that progress from cold/dark to warm/pink
    • 51 color tokens fully compliant with Pi's theme schema

    Contributing

    See CONTRIBUTING.md for development setup and guidelines.

    Security

    See SECURITY.md for reporting vulnerabilities.

    License

    MIT. See LICENSE.


    Made by Abhishek Tiwari

    Website · 𝕏 Twitter · GitHub · npm · Report a Bug · Pi CLI