🌱 Desktop Pet

코딩하는 동안
옆에서 사는 펫.

A pet that lives
beside your code.

메뉴바에 사는 작은 다마고치. 밥 주고 놀아 주면 자라고, Claude Code·Codex가 일하는 동안 같이 일하고, 다른 창 위를 걷고, 노치와 위젯에도 삽니다.

A tiny Tamagotchi in your menu bar. Feed it and it grows, it works alongside Claude Code and Codex, walks on your windows, and lives in the notch and a desktop widget.

⬇ macOS용 다운로드⬇ Download for macOS
무료 · macOS 13 이상 · Apple Silicon/Intel · 외부 의존성 없음Free · macOS 13+ · Apple Silicon/Intel · no third-party dependencies ·

하던 일은 그대로

Never in your way

클릭은 펫 몸 위에서만 받고 나머지는 통과. 포커스를 뺏지 않고, 전체 화면·회의 앱 앞에서는 알아서 숨어요. 조용히 모드 단축키 하나로 전부 멈춰요.

Clicks land only on the pet's body; everything else passes through. Never steals focus, hides during full-screen apps and calls. One shortcut for quiet mode.

에이전트의 지금을 슬쩍

Glance at your agent

Claude Code·Codex 훅, 프로세스 감지, pure-pet 호환 HTTP API. 일하는 중 ⚙️ · 완료 ✓ · 확인 필요 ❗ · 검토 대기 👀 · 실패 ✕ 를 펫·노치·메뉴바·위젯에서.

Claude Code & Codex hooks, process detection, a pure-pet compatible HTTP API. Working ⚙️, done ✓, attention ❗, review 👀, failed ✕ — on the pet, the notch, the menu bar and the widget.

살아 있는 상태

Actually alive

배고픔·행복·에너지, 알 → 아기 → 성체. 꺼 둔 시간도 반영돼요. 스스로 돌아다니고, 졸리면 자고, 높은 데서 낮잠을 자요.

Hunger, happiness, energy; egg → baby → adult. Time passes while the app is closed. It wanders, naps when tired, sleeps on high ledges.

창에 걸어 두기

Hang it on a window

창 옆·아래 테두리나 화면 가장자리에 끌어다 놓으면 고무줄처럼 붙어요. 창을 옮기면 따라오고, 가려지면 떨어졌다가 돌아오면 다시 붙어요.

Drop it near a window edge or the screen edge and it snaps on like a rubber band. Follows the window, falls when covered, climbs back when it returns.

월드 레이어

World layer

바닥 높이·발판·최대 높이를 직접 그려요. 계단·선반·탑 프리셋. 다른 앱 창 윗변 위도 걸어 다녀요.

Draw your own ground height, platforms and ceiling. Stairs, shelves and tower presets. Walks on top of other apps' windows too.

내 캐릭터를 AI로

Your own character, by AI

설명 한 줄이면 Codex가 스프라이트 시트를 만들어요. 성장 단계 행, 액세서리, 어울리는 바탕화면까지. pure-pet 시트도 가져와요.

One line of description and Codex draws the sprite sheet — growth rows, accessories, a matching wallpaper. Imports pure-pet sheets too.

노치 아일랜드 · 위젯

Notch island & widget

노치에 마우스를 올리면 펫 패널이 펼쳐지고, 에이전트가 일하는 동안 노치 옆에 펫이 붙어 있어요. 데스크톱 위젯에서 밥·놀기 버튼.

Hover the notch and a pet panel unfolds; while the agent works the pet sits beside the notch. Feed and play from a desktop widget.

여럿이 함께

More than one

펫을 여러 마리 띄우고, 서로 인사하고, 공을 던져 맞히고(기절!), 룰렛·제비뽑기를 펫에게 시켜요.

Several pets at once: they greet each other, throw balls (stun!), and pick your lunch for you.

꾸미기

Dress up

말풍선 테마 6종, 고깔모자·화관·안경·목도리, 그리고 PNG 한 장이면 내 액세서리. 전부 무료, 전부 파일.

Six bubble themes, a party hat, flower crown, glasses, scarf — and any PNG becomes an accessory. All free, all files.

설치

Install

  1. Releases에서 zip을 받아 풀고 DesktopPet.app을 응용 프로그램 폴더에 옮깁니다.
  2. Grab the zip from Releases, unzip, move DesktopPet.app to Applications.
  3. 그냥 더블클릭하면 열려요. Developer ID 서명 + Apple 공증을 마쳐서 Gatekeeper 경고가 없어요.
  4. Just double-click it. Signed with a Developer ID and notarized by Apple — no Gatekeeper warning.

앱은 하루 한 번 이 저장소의 latest.json만 읽고, 그 외 어떤 것도 보내지 않아요.

The app reads this repo's latest.json once a day and sends nothing else.

에이전트 연동 한 줄

One-line agent integration

# URL 스킴 / URL scheme
open -g "desktoppet://agent/working?agent=Claude%20Code&label=빌드%20중"
open -g "desktoppet://agent/done"

# petctl (설정 → 연동 → petctl 설치)
petctl agent attention "Claude Code" "확인해 주세요"

# pure-pet 호환 HTTP (설정 → 연동에서 켜기)
curl -X POST localhost:9090/task/start -d '{"name":"테스트","agent":"Codex"}'   # {"task_id":1}
curl -X POST localhost:9090/task/complete -d '{"task_id":1}'

FAQ

펫이 다른 창 뒤에 숨어요The pet hides behind windows

설정 → 펫 → 표시 위치가 "앞"인지 확인하세요. "뒤"는 일부러 창 아래, "월페이퍼"는 바탕화면 그림처럼 두는 모드예요.

Settings → Pet → Placement should be "Front". "Behind" and "Wallpaper" deliberately keep it under windows.

월페이퍼 모드에서 못 잡아요Can't grab it in wallpaper mode

마우스를 펫 위에 0.3초 올려 두면 살짝 커지면서 잡을 수 있게 올라와요. Finder 아이콘 층 아래에 있어서 그래요.

Hover for 0.3 s — it pops up above the Finder icon layer so you can grab it.

알림이 안 와요No notifications

설정 → 일반 → "알림 권한 요청" 버튼으로 시스템 설정에서 허용해 주세요. 조용히 모드(기본 ⌃⌥Q)가 켜져 있으면 전부 멈춰요.

Settings → General → request permission, then allow it in System Settings. Quiet mode (⌃⌥Q by default) silences everything.

위젯이 비어 있어요The widget is blank

macOS 14 이상에서, 위젯을 지웠다가 다시 추가한 뒤 "위젯 편집"에서 펫을 고르세요. 앱이 한 번은 실행돼 있어야 해요.

Needs macOS 14+. Remove and re-add the widget, then pick a pet in "Edit Widget". The app must have run at least once.

무엇을 수집하나요?What does it collect?

아무것도요. 화면 내용·키 입력·파일을 읽지 않고, 네트워크는 업데이트 확인(latest.json)과 사용자가 직접 켠 AI 캐릭터 생성(Codex/OpenAI)뿐이에요.

Nothing. No screen contents, keystrokes or files. Network use is the update check (latest.json) and AI character generation you start yourself (Codex/OpenAI).