Claude Code용 비용 계산기 및 상태 표시줄, goccc
요약
goccc는 Claude Code 환경을 위한 비용 계산기 및 상태 표시줄 CLI 도구입니다. 이 도구는 모델별, 일별, 프로젝트별로 상세한 사용량과 비용 내역을 제공하며, 터미널 프롬프트에 실시간으로 사용자 정의 가능한 대시보드를 구현할 수 있습니다.
핵심 포인트
- Claude Code 환경에서 비용 및 사용량을 추적하는 CLI 도구입니다.
- 세션/일별/프로젝트별 상세 비용 분석이 가능합니다.
- 터미널 프롬프트에 실시간 상태 표시줄(Statusline)을 제공합니다.
- 사용자 정의 가능한 세그먼트와 색상 코딩 기능을 지원합니다.
빠르고 의존성(dependency)이 없는 CLI 비용 계산기, 도구 분석기, 그리고 Claude Code를 위한 사용자 정의 가능한 상태 표시줄입니다. 모델별, 일별, 프로젝트별, 브랜치별로 상세 내역을 제공합니다. 단일 바이너리이며 런타임 환경이 필요 없습니다.
- 설치 (Installation)
- 사용법 (Usage)
- Claude Code 상태 표시줄 (Statusline)
- 세션 종료 후 실행 기능 (Session Exit Hook)
- 도구 및 스킬 분석기 (Tool & Skill Analytics)
- 설정 (Configuration)
- 플래그 (Flags)
- 로그 기록 보존 (Preserving Log History)
brew install backstabslash/tap/goccc
go install github.com/backstabslash/goccc@latest
macOS, Linux, Windows(amd64 / arm64)용 릴리스 페이지에서 이용 가능합니다.
git clone https://github.com/backstabslash/goccc.git && cd goccc
go build -o goccc . # macOS / Linux
go build -o goccc.exe . # Windows
goccc # 전체 사용량 요약
goccc -days 7 -all # 지난 7일간 일별 및 프로젝트 상세 내역
goccc -daily # 일별 상세 내역만
...
goccc는 Claude Code 상태 표시줄 역할을 할 수 있습니다. 이는 터미널 프롬프트에 직접 표시되는 완전히 사용자 정의 가능한 실시간 비용 대시보드입니다.
💸 $1.23 세션 · 💰 $5.67 오늘 · 💭 45% 컨텍스트 · 🔋 94% (1.5/5h) · 🤖 Opus 4.6
💸 세션 비용(Session cost)— goccc의 가격표를 사용하여 현재 세션의 JSONL 파일에서 파싱됩니다.
💰 오늘 총액(Today's total)— 오늘 모든 세션을 통합하여 집계된 금액입니다 (세션 비용보다 높을 때만 표시).
💭 컨텍스트 % (Context %)— 컨텍스트 창 사용 비율입니다.
🔋 5h / 7d 기간(Window)— 경과 시간과 함께 남은 사용량 기간의 백분율입니다 (구독 사용자 전용; API 청구 시에는 숨겨짐). 배터리 이모지(Emoji)는 25% 미만일 때 🪫로 변경됩니다.
🤖 모델(Model)— 현재 사용 중인 모델입니다.
mcp 세그먼트 (활성 MCP 서버)는 기본적으로 비활성화되어 있지만, segments에 추가하여 활성화할 수 있습니다.
값들은 색상 코딩 되어 있습니다: 비용과 컨텍스트가 증가함에 따라 노란색에서 빨간색으로 변하며; 비율 제한 기간(rate limit windows)은 반전됩니다 — 50% 미만일 때 노란색, 남은 용량이 25% 미만일 때 빨간색입니다.
~/.claude/settings.json에 추가하세요:
{
. 설정이 없으면 위에서 표시된 기본 레이아웃을 얻게 됩니다.
{
"statusline": {
"segments": ["session_cost", "today_cost", "ctx", "model", "|", "5h", "cwd", "branch"],
...
}
** segments** — 표시할 세그먼트의 순서가 지정된 목록입니다. 나열된 세그먼트만 표시되며, 데이터가 없는 세그먼트는 자동으로 숨겨집니다.
`"|"`
은 줄 바꿈을 강제합니다. 위의 설정은 다음을 생성합니다:
🤑 $1.23 sess · 💰 $5.67 day · 🧠 45% context · 🤖 Opus 4.6
⏳ 94% (1.5/5h) · 📁 my-project · 🔀 feature/auth
사용 가능한 세그먼트:
| Segment | Default | Auto-hides when | Overrides |
|---|---|---|---|
`session_cost` | `💸 $X.XX session` | 비용이 $0일 때 | emoji, label |
`today_cost` | `💰 $X.XX today` | 비용이 $0일 때 | emoji, label |
`ctx` | `💭 XX% ctx` | — | emoji, label |
`model` | `🤖 Model Name` | — | emoji |
`mcp` | `🔌 N MCPs (...)` | MCP가 감지되지 않을 때 | emoji, label |
`branch` | `🌿 branch-name` | 브랜치가 없을 때 | emoji |
`5h` | `🔋 XX% (X/5h)` | 부재할 때 (API 청구) | emoji |
`7d` | `🔋 XX% (X/7d)` | 부재할 때 (API 청구) | emoji |
`tokens` | `📊 XK in / XK out` | 둘 다 0일 때 | emoji |
`lines` | `📝 +N -N` | 둘 다 0일 때 | emoji |
`duration` | `⏱️ Xm` | 0일 때 | emoji |
`cwd` | `📁 dirname` | 비어있을 때 | emoji |
`worktree` | `🌳 worktree-name` | 연결된 worktree가 아닐 때 (submodules는 계산하지 않음) | emoji |
`version` | `🏷️ X.Y.Z` | 비어있을 때 | emoji |
** separator** — 세그먼트 사이의 문자열입니다(기본값: `
플래그는 각 도구와 스킬이 세션 전반에 걸쳐 얼마나 자주 호출되었는지 보여줍니다 — 이는 워크플로우 패턴을 이해하고, MCP 도구 사용량을 감사하며, 사용되지 않는 스킬을 발견하는 데 유용합니다.
goccc -tools # 전체 기간 도구 사용량
goccc -tools -days 7 # 지난 7일간
goccc -tools -project myapp # 프로젝트별 필터링
...
────────────────────────────────────────────────────────────────────────────────
도구 상세 내역 (총 3,960개, 고유 24개, 82회 세션)
────────────────────────────────────────────────────────────────────────────────
...
비용 보고서와 동일한 모든 필터링 플래그(`-days`, `-project`) 및 출력 모드(`-json`)를 지원합니다.
모든 설정은 `~/.goccc.json`에 저장됩니다. 모든 필드는 선택 사항입니다.
| 키 | 설명 |
|---|---|
`currency` | ISO 4217 통화 코드 (예: `EUR`, `GBP`, `JPY`). 환율은 자동으로 가져와서 24시간 동안 캐시합니다. |
`warn_threshold` | 노란색 색상 코딩 임계값 (기본값: `$25`, 통화에 따라 자동 조정; 사용자 지정 값은 그대로 사용) |
`alert_threshold` | 빨간색 색상 코딩 임계값 (기본값: `$50`, 통화에 따라 자동 조정; 사용자 지정 값은 그대로 사용) |
`statusline` | 상태 표시줄 사용자 정의 — 세그먼트, 구분자, 세그먼트별 재정의 |
`~/.goccc.json`에서 `
| Flag | Short | Default | Description |
|---|---|---|---|
`-days` | `-d` | `0` | 마지막 N개의 달력 일만 표시합니다 (0 = 전체 기간) |
`-project` | `-p` | — | 프로젝트 이름으로 필터링합니다 (부분 문자열, 대소문자 구분 안 함) |
`-daily` | — | `false` | 일별 상세 내역을 표시합니다 |
`-monthly` | `-m` | `false` | 월별 상세 내역을 표시합니다 (-daily와 상호 배타적) |
`-projects` | — | `false` | 프로젝트별 상세 내역을 표시합니다 |
`-all` | — | `false` | 모든 상세 내역을 표시합니다 (일별 + 프로젝트별) |
`-top` | `-n` | `0` | 상세 내역의 최대 항목 수입니다 (0 = 전체) |
`-tools` | — | `false` | 도구 및 스킬 사용 분석을 표시합니다 |
`-json` | — | `false` | JSON 형식으로 출력합니다 |
`-no-color` | — | `false` | 색상 출력을 비활성화합니다 (NO_COLOR 환경 변수도 준수) |
`-base-dir` | — | `~/.claude` | Claude Code 데이터의 기본 디렉토리입니다 |
`-utc` | — | `false` | 현지 시간 대신 UTC 기준으로 일별 데이터를 집계합니다 (Anthropic API 보고서와 일치) |
`-session-end` | — | `false` | 세션 종료 후크 모드입니다 (stdin에서 SessionEnd JSON을 읽습니다) |
`-statusline` | — | `false` | Claude Code의 상태 표시줄 모드입니다 (stdin에서 session JSON을 읽습니다) |
`-currency-symbol` | — | — | 통화 기호를 재정의합니다 (반드시 `-currency-rate`가 필요함) |
`-currency-rate` | — | `0` | USD로부터 환율을 재정의합니다 (반드시 `-currency-symbol`이 필요함) |
`-version` | `-V` | — | 버전을 출력하고 종료합니다 |
Claude Code는 주기적으로 오래된 로그 파일을 삭제합니다. 비용 추적을 위해 더 많은 기록을 유지하려면 `~/.claude/settings.json`에서 정리 기간(cleanup period)을 늘리세요.
:
{
"cleanupPeriodDays": 365
}
기본값은 30일입니다. 이 값을 더 높게 설정하여 goccc가 분석할 데이터를 더 많이 보존하세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기