에이전트 컴퍼니

프로그램

진행 중인 Claude Code 프로젝트의 에이전트들을 가상 회사의 직원 NPC로 시각화하는 데스크톱 툴. 전체 창이 아니라 화면 하단에 얇게 상주하는 앰비언트 스트립이며, 실제 세션 로그가 연출의 데이터 소스다.

Tauri 2React 19pixi.jsTypeScriptRust

개요

클로드 코드에서 실제로 돌고 있는 프로젝트의 에이전트들을, 가상 회사 오피스 속 직원 NPC 로 보여주는 데스크톱 툴입니다. 전체 창을 띄우는 프로그램이 아니라 "Rusty's Retirement" 처럼 화면 하단에 얇게 상주하는 앰비언트 스트립이라, 작업 중 곁눈질로 흘끗 보는 용도입니다.

연출의 데이터 소스는 실제 세션 로그(~/.claude/projects/*/*.jsonl)입니다. 세션 이벤트가 NPC 행동으로 매핑돼, 지금 무슨 일이 벌어지는지가 말풍선과 움직임으로 드러납니다.

핵심

  • 프로젝트 = 오피스 1동: 프로젝트를 여러 개 열면 오피스 건물이 스트립 위에 가로로 나란히 늘어서 동시에 돌아갑니다. 세션은 그 건물 안의 방으로, 세션 간 컨텍스트가 격리되듯 방 사이에도 NPC 왕래가 없습니다.
  • 양방향: 관전만 하는 게 아니라 각 오피스에서 그 프로젝트의 클로드 코드로 명령을 직접 보냅니다. 권한 요청·인터뷰·완료 알림은 위로 펼쳐지는 패널로 처리합니다.
  • 사용자 환경 자동 적응: 유저마다 설치된 에이전트·커맨드·스킬이 다르므로, 로스터를 하드코딩하지 않고 각자의 클로드 구성을 탐지해 NPC 직원·직책·오피스를 런타임에 생성합니다. 프리셋에 없는 커스텀 에이전트는 기본 직책으로 폴백합니다.
  • 아트 디렉션: 카이로소프트 "게임개발 스토리" 감성의 아이소메트릭(2:1 다이아몬드 타일) 픽셀 뷰. 평면 이동이 아니라 아이소 격자의 대각 축으로 움직이고, 앞뒤 겹침은 z-정렬로 처리합니다.

스택

Tauri 2 + React 19 + Vite 7 + pixi.js 8. 네이티브 쪽(Rust)이 세션 파일 감시·파싱과 클로드 구성 탐지를 맡고, 렌더링은 pixi.js 아이소메트릭 뷰가 담당합니다. 로컬 파일만 읽는 로컬 우선 구조입니다.

스크린샷은 접힌 상태의 스트립입니다 — 화면 하단에 실제로 얹혀 있는 모습 그대로이며, 캡처 당시 이 포트폴리오 홈페이지 세션을 관전하고 있습니다.