A Story of Finding Home
Foxy
From a lonely jungle to your desktop โ€” one fox's journey
โง
I ยท The Book
II ยท The Jungle
III ยท The City
IV ยท Becoming Foxy
0:00
๐Ÿ”‡
โ†บ

Continue the journey

Get Started

Download Foxy

Choose your plan and bring Foxy to your desktop. Free forever or unlock the full companion experience.

Free
The Wanderer
$0/mo
Foxy finds her home on your desktop. The essentials, forever free.
  • Desktop companion with 4 emotion states
  • Window tracking & idle animations
  • Basic CPU/RAM alerts
  • Click to drag & reposition
Best Value
The Guardian
$39 once
Lifetime access. One payment. Foxy stays with you forever.
  • Everything in Companion, forever
  • Lifetime updates included
  • Priority support channel
  • Early access to new features
  • Custom fox name & personality settings

Windows 10/11 ยท Python 3.10+ required ยท PyQt6 ยท Open source core

โœฆ โœฆ โœฆ

What Foxy Does

A companion that
actually cares

Foxy isn't decoration. She reacts to your world, watches over your machine, and talks back when you need her.

๐Ÿง 
System Guardian
Watches CPU, RAM, and battery in real time. Cries when your battery hits 20%. Panics when your CPU hits 85%.
๐Ÿ’ฌ
AI Chat
Click Foxy to open a chat popup. She's powered by Claude, GPT-4, or your local Ollama model. She remembers context.
๐ŸชŸ
Window Tracker
Foxy follows your active window and sits on top of it. She roams autonomously when no window is in focus.
๐ŸŽญ
12 Emotional States
Sleep, alert, loving, shy, cheering, crying, thinking, standing, cuddling โ€” she feels everything you do.
โŒจ๏ธ
Input Reaction
Foxy reacts every time you type or scroll. She paws the screen when you're typing and chores when you scroll fast.
๐Ÿ”‹
Battery Guardian
She monitors your battery and power state. If you forget to plug in, she'll cry until you do.
โœฆ โœฆ โœฆ

User Manual

Getting Foxy
up and running

Everything you need to install, configure, and live with your new companion.

01

Installation

Foxy requires Python 3.10 or higher and a few packages. Run the following in your terminal to get everything set up:

# Install dependencies pip install PyQt6 psutil pynput requests # Download Foxy git clone https://github.com/yourusername/foxy-companion cd foxy-companion # Run Foxy python omni_fox.py
  • Make sure you have Python 3.10+ installed: python --version
  • On Windows, run your terminal as Administrator if you see permission errors
  • Keep ultimate_fox_spritesheet.png in the same folder as omni_fox.py
02

First Launch

When Foxy first appears, she'll be in the bottom-right corner of your screen. She's a little shy at first โ€” give her a moment to settle in.

  • Left-click Foxy to open the AI chat popup
  • Right-click to open the context menu with all emotion controls
  • Drag her by left-clicking and holding to reposition anywhere on screen
  • She'll start following your active window automatically within a few seconds
  • Foxy always stays on top of other windows โ€” she'll never get buried
03

AI Chat Setup

Foxy can talk back using Claude, GPT-4, or a local Ollama model. Open clay_chat_popup.py and set your preferred provider:

# In clay_chat_popup.py โ€” set your API key ANTHROPIC_API_KEY = "sk-ant-..." # Claude OPENAI_API_KEY = "sk-..." # GPT-4 # Or use local Ollama (no API key needed) OLLAMA_MODEL = "llama3" OLLAMA_URL = "http://localhost:11434"
  • Ollama is free and runs locally โ€” recommended for privacy
  • Claude gives the most natural personality for Foxy
  • The chat popup remembers context within a session
  • Right-click โ†’ "Ask PC Health" to let Foxy read your system stats aloud
04

Interactions

Foxy reacts to everything you do. Here's the full interaction map:

  • Typing โ†’ Foxy plays the PAWING animation
  • Scrolling โ†’ Foxy plays the CHORE animation
  • High CPU (85%+) โ†’ Foxy cries until it drops
  • Low battery (20%) โ†’ Foxy cries until plugged in
  • 3 minutes idle โ†’ Foxy curls up and sleeps
  • Active window changes โ†’ Foxy walks to the new window
  • Right-click menu โ†’ Manually trigger any emotion
05

Customisation

Foxy's behaviour is fully configurable at the top of omni_fox.py:

# Speed (ms per frame) โ€” lower = faster animations self.anim_timer.start(125) # Tracking speed (0.01 = slow, 0.15 = fast) new_x = current_x + (target_x - current_x) * 0.08 # Idle sleep threshold (seconds) if now - self.last_interaction_time > 180: # Roaming interval (ticks at 60fps) if self.roam_timer > 300:
  • Replace ultimate_fox_spritesheet.png with any compatible spritesheet
  • Add new ROW constants to expose custom animations in the context menu
  • The CELL_WIDTH/HEIGHT must match your spritesheet's frame dimensions exactly
06

Troubleshooting

Common issues and how to fix them:

  • Foxy doesn't appear โ€” Check that the spritesheet PNG is in the same folder
  • Window tracking doesn't work โ€” Windows only; ctypes needs Win32 API access
  • Chat popup is blank โ€” Check your API key in clay_chat_popup.py
  • Foxy freezes โ€” Reduce animation speed or increase the timer interval
  • High CPU from Foxy herself โ€” The tracking timer runs at 16ms; increase to 32ms if needed
  • pynput errors โ€” Run pip install --upgrade pynput
  • PyQt6 import error โ€” Run pip install PyQt6 --force-reinstall
โœฆ โœฆ โœฆ

We're Here

Support & Contact

Foxy's team is small but quick. Reach us through any of these channels and we'll get back to you.

Send a Message