화면을 먹이고, 대화를 이어가는 macOS 펫 — YumYum Agent를 오픈소스로 출시했다
AI 에이전트를 쓸 때 가장 자주 반복하는 동작은 의외로 단순하다. 지금 보고 있는 화면을 보여주고, 파일 하나를 건네고, 그 맥락에서 짧게 물어보는 일이다.
그런데 이 흐름은 대개 화면 캡처 → 앱 전환 → 파일 첨부 → 질문 입력으로 이어진다. 에이전트는 점점 좋아지는데, 화면 위에서 에이전트에게 무언가를 건네는 경험은 아직 조금 멀게 느껴졌다.
그래서 YumYum Agent를 만들었다. 화면 위에 떠 있는 작은 펫에게 캡처나 파일을 “먹이면”, 사용자가 이미 로그인해 둔 로컬 AI CLI로 내용을 전달하고 답을 네이티브 말풍선과 채팅으로 보여주는 macOS 앱이다.
오늘 이 프로젝트를 오픈소스로 공개했다.
- 홈페이지: yumyumagent.app
- 소스 코드: github.com/kyu91/yumyum-agent
- 다운로드: GitHub Releases
로그인은 각자, 대화는 한곳에서.
YumYum Agent는 자체 모델이나 계정 시스템을 만들지 않는다. 이미 각자 설치하고 로그인한 로컬 CLI를 선택해서 연결하는 방식이다.




현재 Hermes, OpenCode, Codex, Claude Code, Gemini를 지원한다. 앱은 어떤 에이전트를 쓸지 명시적으로 선택하게 하고, 선택한 실행 파일의 경로와 동작 계약을 다시 확인한다. 경로가 유효하지 않으면 다른 설치본으로 조용히 넘어가지 않고, 사용자가 다시 선택해야 한다.
이 선택은 기능보다 경계를 분명하게 만드는 데 중요했다. 로그인과 모델 처리, 네트워크 사용은 각 CLI가 맡고, YumYum Agent는 그 앞단에서 사용자가 고른 입력을 전달하고 대화를 보여주는 인터페이스다.
화면 위 펫에게 건네는 네 가지 방식
앱의 입력 방식은 복잡하지 않다.
- 화면 캡처 — 펫을 오른쪽 클릭하고 캡처를 고른 뒤, 필요한 영역만 드래그하면 바로 보낼 수 있다.
- 클립보드 먹이기 — 펫을 왼쪽 클릭하거나 기본 단축키
Option+S를 누르면 클립보드의 파일, 이미지, 텍스트를 우선순위대로 채팅 초안에 담는다. - 파일 드롭 — Finder에서 파일을 펫 위로 끌어다 놓거나 파일 선택창에서 첨부한다.
- 대화 이어가기 — 답은 말풍선에 스트리밍으로 나타나고, 말풍선을 닫았다 열어도 여러 턴의 대화가 이어진다. 더 긴 내용은 상세 채팅창에서 Markdown으로 확인할 수 있다.
여기서 일부러 지킨 원칙이 하나 있다. 클립보드는 자동 전송하지 않는다. 초안에 담긴 뒤 사용자가 Return을 눌러야 실제로 전송된다. 화면 위의 빠른 인터페이스일수록, 무엇이 나가는지 사용자가 마지막에 한 번 더 확인할 수 있어야 한다고 생각했다.
설명을 읽는 것보다 한 번 보는 게 빠릅니다.
실제 앱에서 클립보드를 펫에게 건네고, 파일을 떨어뜨리고, 말풍선으로 답을 받는 흐름을 담았다.
짧은 입력을 화면 위에서 넘기고, 필요한 경우 그 자리에서 대화를 이어간다. 이 리듬이 YumYum Agent가 만들고 싶었던 경험의 중심이다. 매번 별도의 채팅 창을 열기보다, 지금 하던 작업의 맥락을 크게 깨지 않고 에이전트와 연결되는 방식이다.
편의성보다 먼저 설계한 건 프라이버시와 안전 경계다
화면과 파일을 다루는 앱인 만큼, 기능 설명보다 먼저 분명히 해야 할 내용이 있다.
YumYum Agent는 텔레메트리를 보내지 않고, macOS Keychain이나 CLI 로그인 파일·토큰 파일을 읽지 않는다. 사용자가 명시적으로 선택한 텍스트, 파일, 화면 캡처만 선택한 CLI에 전달한다. 대화가 이어질 때는 필요한 대화 맥락도 전달되지만, 로컬 첨부 파일 경로는 화면에 보이는 대화 기록에서 제외한다.
캐릭터의 말투와 성격은 앱이 소유하는 SOUL.md로 설정할 수 있다. 이 파일은 로컬의 ~/Library/Application Support/YumYum/SOUL.md에 평문으로 저장되고, 새 논리 세션의 첫 프롬프트에만 들어간다. 안전·프라이버시 정책보다 앞설 수 없고, 명령 실행이나 네트워크 접근 같은 기능도 없다.
무엇보다 현재 버전은 분석과 채팅 전용이다. YumYum Agent를 통해 에이전트가 사용자 시스템의 외부 상태를 바꾸는 기능은 제공하지 않는다. Hermes 권한 요청도 현재는 항상 취소한다. 에이전트가 편해질수록 “무엇을 할 수 있는가”만큼 “무엇을 아직 하지 않는가”를 제품 안에서 명확히 해야 한다고 봤다.
네이티브 macOS 앱으로 만든 이유
YumYum Agent는 Swift와 AppKit/SwiftUI, ScreenCaptureKit으로 만들었다. 항상 위에 떠 있으면서도 사용 중인 앱의 포커스를 빼앗지 않는 펫, 화면 영역 선택, Finder 파일 드롭, 네이티브 말풍선과 채팅을 자연스럽게 묶기 위해서다.
에이전트 실행은 셸을 거치지 않고 검증된 정확한 실행 파일 경로와 인자로만 호출한다. 파일도 일반 파일인지, 크기가 제한을 넘지 않는지, 알려진 자격증명 파일은 아닌지 확인한다. 현재 파일당 최대 크기는 20MB다.
이런 제약은 화려한 기능처럼 보이지 않을 수 있다. 하지만 사용자가 화면과 파일을 건네는 도구라면, 동작이 예측 가능하고 데이터 범위가 분명해야 한다는 쪽을 선택했다.
지금은 개발자 프리뷰다
현재 배포본은 macOS 14 이상에서 쓸 수 있는 Universal DMG이며, GitHub Releases에서 받을 수 있다. Apple Silicon과 Intel 아키텍처를 포함하지만, 이 배포본은 아직 Developer ID 서명과 Apple 공증을 거치지 않은 Unsigned 개발자 프리뷰다.
처음 실행할 때 macOS Gatekeeper가 막을 수 있고, 이 경우 시스템 설정 → 개인정보 보호 및 보안 → Open Anyway에서 실행을 허용해야 한다. 깨끗한 새 Mac에서의 Gatekeeper 동작과 Intel 실기기 실행은 아직 검증하지 못했다. App Store 배포와 자동 업데이트도 아직 제공하지 않는다.
그래서 지금은 완성된 배포 경험을 약속하기보다, 오픈소스로 코드를 공개하고 실제 사용 피드백을 받아 제품을 다듬는 단계에 가깝다.
오픈소스로 공개한다
YumYum Agent는 Apache License 2.0으로 공개했다.
에이전트는 점점 더 많은 일을 할 수 있게 되고 있다. 그만큼 중요한 건, 사용자가 자기 화면과 파일을 어떤 방식으로 에이전트에게 건네고 있는지 이해할 수 있는 인터페이스라고 생각한다.
YumYum Agent는 그 입구를 조금 더 가깝고, 가볍고, 분명하게 만들기 위한 시도다. macOS에서 로컬 CLI 에이전트를 쓰고 있다면 한 번 써보고, 불편했던 지점이나 더 필요한 흐름이 있으면 GitHub Issue로 알려주면 좋겠다.