Claude Code 로그를 영수증 형태로 출력해 봤습니다. 200달러 요금제로 API 정가 기준 8,300달러어치 토큰을 썼네요
I made my Claude Code logs print a store receipt. $8.3k of tokens at API prices on a $200/mo plan
핵심 요약
Claude Code 사용 로그를 열전사 영수증처럼 시각화하는 도구를 개발하여 공유했습니다.
- 로그 시각화 — Claude Code 사용 기록을 영수증 이미지로 변환함
- 비용 절감 효과 — 200달러 요금제로 8,300달러 상당의 API 사용량을 기록함
- 도구 기능 — 로그 분석, 비용 계산, PNG 저장 기능을 제공함
- 개인정보 보호 — 외부 의존성 없이 로컬에서만 작동하도록 설계됨
내 Max 20x 플랜이 도대체 뭘 커버하는지 궁금했는데, JSONL을 일일이 읽으려니 금방 질리더라. 그래서 Claude Code한테 로그를 감열 영수증 형태로 뽑아주는 툴을 만들라고 시켰음. 이게 내 실제 영수증임, 역대 기록 다 합친 거.
Claude Code만 API 정가 기준으로 $8,313어치 썼고(나머지는 OpenCode로 $221 정도), 4개월 동안 $200씩 냈으니 $800 쓴 셈이라 서류상으로는 $7.7k를 "아낀" 꼴임. 뭐 재미로 보는 숫자지 실제 돈은 아님. 구독제는 토큰당 과금이 아니니까, 그냥 똑같은 트래픽을 API로 썼으면 이만큼 나왔을 거라는 뜻임.
재미있었던 건 예상치 못한 카운터들이었음:
-
"You're absolutely right"라고 한 게 딱 한 번임. 나도 안 믿김. "Perfect!"는 15번 나옴.
-
내가 94번이나 말을 끊었고, 3번은 빡쳐서 프롬프트 날림(rage tax).
-
새벽 12시부터 5시 사이에 프롬프트 297개 날렸고, 제일 길게 쓴 세션은 17시간 27분이었음. 나 멀쩡함.
써보기: npx github:glmn-ai/vibereceipt (아직 npm에는 안 올라가서 github: 형식으로 써야 함). Claude Code, Codex CLI, OpenCode가 이미 디스크에 저장해둔 로그를 읽어서 한 줄씩 영수증으로 출력하고 PNG로 저장해줌. --plan max20 붙이면 YOU SAVED 줄이 추가되고, --short는 4:5 비율 이미지, --demo는 그냥 구경용임.
프라이버시: 의존성 제로에 네트워크 코드 아예 없음. http/https/net/fetch 같은 거 안 씀. 나 못 믿겠으면 dist 폴더 grep 해보든가(README에 한 줄짜리 명령어 있고, CI가 푸시할 때마다 검사함). 프롬프트 텍스트는 읽는 즉시 타임스탬프랑 빡침 여부(yes/no)로만 남음. --projects 옵션 안 넣으면 프로젝트 이름도 안 나옴.
Claude Code 활용법: 코드는 전부 얘가 짰음. 커밋 3개 다 얘랑 공동 저자임: 로그 스캐너, 영수증 레이아웃, node:zlib 기반의 초소형 PNG 인코더, 비트맵 폰트(Spleen)를 픽셀 단위로 렌더링해서 의존성 없애기, 그리고 테스트 코드까지. 파서랑 가격 테이블은 우리 오픈소스 에이전트 슈퍼바이저인 nsq 코어 패키지에서 가져옴.
배운 점:
-
Claude Code 토큰을 단순하게 계산하면 과대평가됨. 콘텐츠 블록마다 로그 한 줄씩 남기고, 세션 재개하거나 포크하면 옛날 메시지까지 다 복사되거든. 메시지 ID로 병합 안 하면 숫자 뻥튀기됨.
-
부동소수점 쓰면 돈 계산 틀어지니까, 피코달러(picodollars) 단위 정수로 계산하고 마지막에만 반올림해서 보여줌.
-
가격 책정 안 되는 모델(로컬, 리셀러 등)은 $0이 아니라 "no price"로 뜸. 내 영수증에 그런 요청이 8,605건(884M 토큰) 있는데, 이걸 그냥 공짜로 퉁치지 않고 총액에서 제외했음.

