Swift로 AI 뇌를 가진 데스크톱 타마고치 고양이를 만들었고, 그것이 내 macOS Doc에 살아 있습니다

발행: (2026년 3월 8일 PM 12:05 GMT+9)
5 분 소요
원문: Dev.to

Source: Dev.to

macOS Dock에 살아있는 Swift로 만든 데스크톱 타마고치 고양이 커버 이미지

2 AM에 코딩하면서 누군가 옆에 있으면 좋겠다고 느낀 적 있나요?

Murchi를 만나보세요 — macOS Dock에 살아있는 귀여운 데스크톱 고양이로, 화면을 돌아다니고, 음악에 반응하며, 이제는 Gemini AI 덕분에 실제로 대화도 할 수 있습니다.

이게 뭐죠?

Murchi는 macOS용 데스크톱 타마고치입니다. 작은 애니메이션 고양이로:

  • 🐾 선반처럼 Dock 위를 걷는다
  • 🎵 Apple Music / Spotify를 감지하고 춤을 춘다 (혹은 25 % 확률로 음악을 싫어한다)
  • 😿 꾸짖으면 구석으로 가서 울는다
  • 🖱️ 끌어당기면 목덜미에 매달린다
  • 💬 Gemini AI와 채팅 — 고양이 캐릭터 그대로
  • 🐟 먹이 주기, 목욕, 놀이 등 전형적인 타마고치 루프

메뉴 바에 =^.^= 로 자리 잡고 그냥… 살아갑니다.

기술 스택 (저주받았지만 사랑합니다)

전체 앱은 하나의 Swift 파일(~7 000줄)로 이루어졌습니다. Xcode 프로젝트도, 스토리보드도, SwiftUI도 없습니다.

  • 순수 AppKitNSPanel, NSImageView, 원시 CGContext 그리기
  • SVG 문자열을 NSImage 로 렌더링 – 모든 애니메이션 프레임이 코드로 만든 SVG
  • 스프라이트, 에셋 없음 – 고양이는 베지어 경로와 헥스 컬러로 직접 구성
  • 중력 물리, CGWindowListCopyWindowInfo 로 Dock 감지
  • AppleScript 로 음악 감지 (tell application "Spotify" to player state)
  • Gemini 2.0 Flash REST API와 URLSession 으로 AI 채팅
  • 100줄짜리 build-app.sh 로 빌드 및 패키징 – Xcode 불필요

AI 부분

고양이에게는 성격이 있습니다. 채팅을 하면 Gemini가 다음을 알고 있습니다:

  • 고양이 이름, 레벨, 진화 단계
  • 현재 기분, 배고픔, 행복 수치

고양이는 1‑3문장으로 고양이 소리(“mrrrow~!”, “purrr”)를 섞어 답합니다.

let systemPrompt = """
You are Murchi, an adorable kawaii desktop cat.
Your personality: playful, cute, a bit mischievous.
Keep responses SHORT. Use cat sounds like "mrrrow", "mew".
Current mood: \(stats.mood). Hunger: \(Int(stats.hunger))%.
"""

사용자는 설정에서 자신의 Gemini API 키를 입력할 수 있으며, 기본값으로도 바로 동작합니다.

전체 프로젝트는 Claude Code 로 제작

이 프로젝트는 거의 전부 Claude Code (Anthropic의 CLI 에이전트)와의 대화로 만들어졌습니다. 내가 원하는 것을 설명하면 코드를 작성하고, 내가 테스트하고 피드백을 주면 수정해 주었습니다.

작업 흐름 예시

  1. 나: “Dock 위를 걷는 고양이가 필요해.”
  2. Claude: 2 000줄짜리 SVG 렌더러를 작성.
  3. 나: “고양이가 주황색인데, 복숭아색으로 해줘.”
  4. Claude: 렌더러를 다시 작성.
  5. 나: “이제 AI와 대화하게 해줘.”
  6. Claude: 15분 만에 Gemini 통합을 추가.

레포지토리의 모든 커밋은 Claude와 공동 저작입니다. 이는 AI‑보조 개발이 개발자를 대체하기보다 보강할 수 있음을 보여줍니다.

사용해 보기

무료이며 오픈 소스이고, 모든 Mac(macOS 12+)에서 동작합니다:

Xcode 없이 빌드 가능 — bash build-app.sh 만 실행하면 됩니다.

음악 취향을 판단하고 가끔 화면에 똥을 놓는 데스크톱 반려동물을 원했다면, 바로 이것입니다.

mrrrow~! 🐱

0 조회
Back to Blog

관련 글

더 보기 »