CodeBurn – Claude Code, Cursor 등 AI 코딩 도구의 token 사용량을 태스크별로 분석하는 TUI 대시보드
Show HN: CodeBurn – Analyze Claude Code token usage by task
TL;DR Highlight
AI 코딩 도구에서 token이 어디에 얼마나 소모되는지 터미널 대시보드로 시각화해주는 오픈소스 도구로, 별도 API 키나 프록시 없이 로컬 세션 파일만 읽어서 동작한다.
Who Should Read
Claude Code, Cursor, Codex 등 AI 코딩 도구를 매일 쓰는데 비용이 얼마나 나가는지, 어떤 작업에서 token을 많이 태우는지 파악하고 싶은 개발자.
Core Mechanics
- CodeBurn은 Claude Code, OpenAI Codex, Cursor, OpenCode, Pi, GitHub Copilot 등 주요 AI 코딩 도구의 token 사용량을 태스크 유형·도구·모델·MCP 서버·프로젝트별로 분류해서 보여준다.
- 동작 방식이 독특한데, 별도 래퍼나 프록시, API 키가 전혀 필요 없고 각 도구가 디스크에 저장해두는 세션 파일을 직접 읽어서 분석한다. Claude Code는 ~/.claude/projects/, Codex는 ~/.codex/sessions/ 등의 경로를 사용한다.
- 태스크 유형별 '한 번에 성공한 비율(one-shot success rate)'을 추적해서, AI가 처음 시도에 바로 맞추는 작업과 edit/test/fix 재시도로 token을 낭비하는 작업이 어디인지 구분해서 볼 수 있다.
- 터미널에서 동작하는 인터랙티브 TUI(Terminal UI) 대시보드로, Ink(터미널용 React 프레임워크)를 기반으로 만들어졌으며 그래디언트 차트, 반응형 패널, 키보드 네비게이션을 지원한다.
- 오늘/7일/30일/월별/전체 기간 등 다양한 시간 범위를 지원하고, CSV/JSON 내보내기, macOS SwiftBar 메뉴바 위젯, auto-refresh 기능도 갖추고 있다.
- 가격 정보는 LiteLLM에서 자동으로 캐시해서 가져오므로, 지원하는 모든 모델의 비용을 별도 설정 없이 계산할 수 있다.
- 설치는 npm install -g codeburn 한 줄이면 되고, Node.js 20+ 환경이면 npx codeburn으로 바로 실행도 가능하다. Cursor/OpenCode는 SQLite 파일을 읽기 위해 better-sqlite3가 자동으로 설치된다.
- 제작자가 밝힌 제작 동기는 Claude Code에 주당 약 $1,400를 쓰고 있었는데 어디서 token이 소모되는지 전혀 보이지 않았기 때문이라고 한다.
Evidence
- Claude Code에 주당 $1,400를 쓴다는 제작자의 언급에 대해 한 댓글에서 '$200/달 정액 플랜으로도 300k LoC 코드베이스에서 에이전트 5개를 동시에 돌려도 rate limit에 한 번도 안 걸렸다'며 API 종량제 대신 정액 플랜을 쓰면 비용 걱정 자체가 없다는 의견이 나왔다.
- 비슷한 목적의 도구로 Claudoscope(github.com/cordwainersmith/Claudoscope)와 ClaudeRank(clauderank.com)가 댓글에서 언급됐고, 댓글 작성자들은 CodeBurn의 접근 방식이 더 마음에 든다는 반응을 보였다.
- Cursor Agent와의 호환성 문제가 보고됐는데, Cursor가 ~/.cursor 경로에 데이터를 저장하는 경우 제대로 인식이 안 된다는 이슈가 있었다.
- 터미널 UI에 Ink(React for terminals) 프레임워크를 쓴 것에 대해 'Claude Code 자체도 Ink로 만들어졌다'는 흥미로운 사실이 댓글로 공유됐다.
- 비용 비효율을 감지해서 개선 방안을 제안하는 기능이 있으면 좋겠다는 아이디어가 댓글로 제안됐고, 제작자도 흥미롭다고 반응했다.
How to Apply
- Claude Code나 Cursor를 매일 쓰면서 월말에 청구서가 예상보다 크게 나오는 상황이라면, npx codeburn 한 줄로 바로 실행해서 어느 프로젝트, 어느 태스크 유형에서 token이 집중적으로 소모되는지 즉시 확인할 수 있다.
- one-shot success rate가 낮은 태스크 유형을 찾아내면, 해당 작업의 프롬프트나 작업 분해 방식을 개선해서 재시도로 낭비되는 token을 줄이는 데 활용할 수 있다.
- 팀 단위로 AI 코딩 도구를 도입하고 있고 비용 정당화가 필요한 경우, codeburn report --format json으로 데이터를 추출해서 팀별·프로젝트별 비용 보고서를 만드는 데 활용할 수 있다.
- macOS 환경에서 token 사용량을 항상 모니터링하고 싶다면 SwiftBar 메뉴바 위젯을 연동해서 별도로 대시보드를 열지 않아도 현황을 확인할 수 있다.
Code Example
snippet
# 설치
npm install -g codeburn
# 설치 없이 바로 실행
npx codeburn
# 기본 인터랙티브 대시보드 (최근 7일)
codeburn
# 오늘 사용량
codeburn today
# 이번 달 사용량
codeburn month
# 최근 30일 rolling window
codeburn report -p 30days
# 전체 기간
codeburn report -p all
# JSON 형식으로 출력
codeburn report --format json
# 60초마다 자동 갱신
codeburn report --refresh 60
# 한 줄 요약 (오늘 + 이번 달)
codeburn status
# CSV 내보내기 (오늘/7일/30일)
codeburn export
# JSON 내보내기
codeburn export -f jsonTerminology
TUITerminal UI의 약자로, 웹 브라우저나 GUI 앱이 아닌 터미널(명령줄 창) 안에서 마우스/키보드로 조작할 수 있는 인터랙티브 화면을 말한다.
InkReact 문법으로 터미널 UI를 만들 수 있게 해주는 Node.js 라이브러리. Claude Code 자체도 이걸로 만들어졌다.
MCP serverModel Context Protocol 서버의 약자로, AI 모델이 외부 도구나 데이터 소스와 표준화된 방식으로 연결할 수 있게 해주는 서버 컴포넌트.
one-shot success rateAI에게 태스크를 주었을 때 수정 없이 첫 번째 시도만에 완료된 비율. 낮을수록 재시도(edit/fix)로 인한 token 낭비가 많다는 의미.
LiteLLM100개 이상의 LLM API를 통일된 인터페이스로 쓸 수 있게 해주는 오픈소스 라이브러리로, 모델별 가격 정보도 제공한다.
better-sqlite3Node.js에서 SQLite 데이터베이스 파일을 동기적으로 읽고 쓸 수 있게 해주는 라이브러리. Cursor/OpenCode는 세션 데이터를 SQLite로 저장해서 이게 필요하다.