<div align="center">
<img src="https://raw.githubusercontent.com/missuo/tokens/HEAD/web/public/brand/tokens-mark-rounded.png" width="76" alt="" />
<h1>Tokens</h1>
<p><strong>AI 코딩 사용량 리더보드입니다.</strong></p>
<p>
<a href="https://tokens.ci/leaderboard">리더보드</a> ·
<a href="https://tokens.ci/docs">문서(Docs)</a> ·
<a href="https://tokens.ci/shame">수치심의 전당(Hall of Shame)</a>
</p>
</div>
You는 이미 하루 종일 토큰을 소모했습니다. **tokens.ci**가 이를 공개적인 순위로 변환합니다: 오늘 얼마나 많이 사용했는지, 그것이 클라이언트와 모델별로 어떻게 분할되는지, 그리고 같은 작업을 하는 다른 모든 사람들과 비교하여 어디에 랭크하는지 보여줍니다.
bunx tokens-cli@latest login
iOS 앱
<a href="https://apps.apple.com/app/id6793029466">
<img src="https://img.shields.io/badge/App%20Store-Download-000000?style=for-the-badge&logo=apple&logoColor=white" alt="App Store에서 다운로드" height="34" />
</a>
브라우저를 열지 않고도 휴대폰에서 당신의 순위와 사용량을 확인할 수 있습니다. 기기에서 렌더링된 공유 카드, 그리고 하루 토큰량, 누적 총합, 그리고 당신의 순위를 위한 홈 화면 및 잠금 화면 위젯을 제공합니다.
로그인이 필요하지 않습니다. GitHub 사용자 이름을 입력하면 앱이 해당 공개 프로필을 읽어오므로, 본인의 사용자 이름을 입력하거나 위젯을 사용하면 다른 사람의 사용량이 표시됩니다.
이 저장소가 공개인 이유
우리가 무엇을 전송하는지 확인할 수 있도록 하기 위해서입니다.
CLI는 AI 클라이언트가 이미 디스크에 작성한 세션 파일을 읽어와, 이를 로컬에서 합산하고, 오직 총합만 — 토큰 카운트, 모델 이름, 클라이언트 이름, 타임스탬프를 업로드합니다. 프롬프트, 완성 내용, 파일 내용 및 경로는 절대로 당신의 기기를 벗어나지 않습니다.
단순히 믿을 필요가 없습니다. 전체 파이프라인은 여기에 있습니다:
cli/tokens-core/src/sessions/ — 클라이언트별 파서로, 각 세션 파일에서 정확히 어떤 필드가 읽혀나가는지 보여줍니다.
cli/tokens-core/src/aggregator.rs — 이러한 읽기 작업이 어떻게 일일 총합으로 변환되는지 보여줍니다.
cli/tokens-cli/src/commands/ — 정확한 페이로드를 포함하여 제출 경로를 보여줍니다.
tokens submit --dry-run을 실행하면 실제 업로드 없이 어떤 내용이 업로드될지 미리 보여줍니다.
만약 게이트웨이가 모델 ID에 라우팅 접두사(routing prefixes)를 추가하는 경우, 해당 접두사들을 ~/.config/tokens/settings.json (또는 $TOKENS_CONFIG_DIR/settings.json) 파일에 나열해 주세요:
{
"modelIdPrefixesToStrip": ["gateway-a/", "gateway-b/"]
}
이 목록은 기본적으로 비어 있습니다. 일치 여부는 대소문자를 구분하지 않으며, 기존 모델 정규화(model normalization)가 이루어지기 전에 가장 긴 접두사 하나가 제거됩니다. 빈 접두사는 무시되며, 제거를 통해 빈 ID가 생성될 수는 없습니다. 나열되지 않은 네임스페이스는 별개로 유지됩니다. 이 규칙은 표시용인 modelAliases 설정과 달리 로컬 그룹화 및 업로드된 모델 ID에 영향을 미칩니다. 가격 책정(Pricing), 토큰 수, 비용, 그리고 원시 세션 파일 및 캐시는 변경되지 않습니다. 이후 제출(Subsequent submissions) 시에도 이 규칙이 과거 사용량에 적용됩니다. 동일한 사용량을 제출하는 장치에서도 같은 규칙을 사용해야 하며, 규칙을 변경하면 업로드된 모델의 ID가 바뀝니다.
저희는 누구에게도 자체 복사본을 실행하도록 요구하는 것이 아닙니다. 이 저장소(repo)는 읽기 위한 목적으로 존재합니다.
지원되는 클라이언트 (Supported clients)
41개의 모든 클라이언트가 자동으로 감지됩니다. 설치되어 있고 세션 기록이 있는 경우 카운트됩니다.
| | | |
|---|
| <img src="https://raw.githubusercontent.com/missuo/tokens/HEAD/.github/assets/client-amp.png" width="16" height="16" alt="" /> Amp | <img src="https://raw.githubusercontent.com/missuo/tokens/HEAD/.github/assets/client-antigravity.png" width="16" height="16" alt="" /> Antigravity | <img src="https://raw.githubusercontent.com/missuo/tokens/HEAD/.github/assets/client-antigravity.png" width="16" height="16" alt="" /> Antigravity CLI | <img src="https://raw.githubusercontent.com/missuo/tokens/HEAD/.github/assets/client-claude.jpg" width="16" height="16" alt="" /> Claude Code |
| ... | | | |
<details>
<summary>각 클라이언트가 데이터를 저장하는 위치</summary>
| Client | Data location |
|---|
| Claude Code | ~/.claude/projects/, ~/.claude/transcripts/ |
| ... | |
</details>
사용량을 계정 API를 통해서만 노출하는 클라이언트는 먼저 동기화(sync) 단계가 필요합니다 — tokens cursor sync, tokens antigravity sync, tokens trae sync, tokens warp sync와 같은 명령을 실행한 후 다른 모든 것과 마찬가지로 제출하게 됩니다.
가격은 다음 세 가지의 조합에서 발생합니다:
LiteLLM,
OpenRouter 및
models.dev
이 사용되며, 모델별로 가장 적합한 요율(rate)이 사용됩니다. 내장 오버라이드 기능은 상위 피드가 처리하지 못하는 계층형 요율과 캐시 할인을 처리합니다.
차별점
모든 것을 아우르는 하나의 수치. 대부분의 사용량 도구는 단일 클라이언트에 한정됩니다. 이 도구는 실행하는 모든 클라이언트를 하나로 합쳐, 클라이언트-일(client-day) 기준으로 중복을 제거한 총합계를 만듭니다. 따라서 오후에 Claude Code에서 Codex로 전환하더라도 하루가 두 개의 반쪽 이야기로 나뉘지 않습니다.
경쟁하도록 설계됨. 공개 리더보드는 부풀려진 수치를 유발합니다. 제출된 내용은 크로스 디바이스 중복 및 단조 감소(monotonic regressions) 여부를 검사하며, 총합계를 조작하는 계정은 금지되고 그 금지 기록은 Hall of Shame에 공개됩니다. 아무도 이를 감시하지 않으면 순위는 가치가 없습니다.
연결할 만한 프로필. GitHub 계정에 최소 두 개의 소셜 링크가 있고, 클라이언트 및 모델별 분할 내역, 기여 그래프(contribution graph), 그리고 README용 임베드 가능한 SVG 카드가 있는 경우 페이지에 검증 배지(verified badge)가 부여됩니다 — 총 10가지 템플릿이 서버 측에서 두 가지 테마로 렌더링됩니다.
기기에서는 작음. CLI는 하나의 작업만 수행합니다: 스캔, 합산, 제출. 백그라운드 서비스로 실행되며 그 외에는 방해되지 않습니다.
Tokscale과의 차이점
본 프로젝트는 Tokscale의 포크(fork)입니다. 데이터 수집 코어는 공유하며, 우리는 상위 파서, 가격 책정 및 정확성 수정 사항을 계속 가져옵니다. 그 이상의 모든 것은 분기되었습니다:
| Tokscale | Tokens |
|---|
| CLI surface | Full TUI dashboard plus report commands (models, monthly, hourly, graph, wrapped, pricing, …) | Submit only — login, submit, serve, status. The TUI and every report command are removed, ~11k lines and 15 dependencies with them |
| ... | | |
| 상위 스트림 동기화 정책 (Upstream sync policy): 데이터 기능 및 정확성 수정 사항이 반영되며, UI 구현은 반영되지 않습니다. 사이트는 자체 컴포넌트 세트를 유지하여 업데이트 전반에 걸쳐 디자인 일관성을 유지합니다. | | |
설치 (Install)
macOS
brew install owo-network/brew/tokens
tokens login
brew services start tokens
Linux
curl -fsSL https://tokens.ci/install.sh | sh
tokens login
설치 프로그램은 systemd 사용자 서비스를 설정하므로, 터미널을 닫아도 제출이 계속 실행됩니다.
**Windows 또는 일회성 사용 (Bun 또는 Node 18+)
bunx tokens-cli@latest login
bunx tokens-cli@latest submit
비공개 모드 (Private mode)
사용량을 리더보드에서 숨기고, 프로필, 장치, 배지 및 임베드를 계정이 존재하지 않았던 것처럼 처리합니다. 이 명령어는 읽기 토큰(read token)(tkr_…)을 한 번 출력하며, 이를 Authorization: Bearer tkr_…로 보내거나 배지 또는 임베드 URL에 ?token=tkr_…를 추가하여 자신의 데이터를 읽을 수 있습니다. 이미 로그인된 장치에서 실행하면 해당 계정을 전환합니다. 비공개 모드를 끄고 읽기 토큰을 생성하거나 취소하는 것은 설정 (Settings)에서 할 수 있습니다.
모든 공개 프로필에서 장치 이름은 마스킹되어 표시됩니다 (jo****ro).
누가 비용을 지불하는가 (Who pays for this)
<div align="center">
<a href="https://neon.com">
<img src="https://raw.githubusercontent.com/missuo/tokens/HEAD/web/public/icons/neon.svg" width="64" height="64" alt="Neon" />
</a>
<p><strong><a href="https://neon.com">Neon</a></strong>이 <a href="https://tokens.ci">tokens.ci</a>의 Postgres를 후원합니다.</p>
</div>
Tokens는 무료로 사용 가능하며, 자체 호스팅(self-host)도 할 수 있습니다. 그리고 리더보드는 캐시의 캐시가 아닌 Postgres에서 각 페이지를 읽어옵니다. 이것이 숫자를 정직하게 유지하는 비결이며, 또한 비용이 많이 드는 방식입니다. Neon이 그 비용을 부담하므로, 보드가 유료 장벽 뒤에 숨거나 예산 때문에 얇아질 필요가 없습니다.
라이선스
MIT — LICENSE를 참조하세요.
Junho Yeo가 Tokscale을 기반으로 구축했습니다. 원본 디자인 및 구현에 대한 공로는 상위 작성자(upstream author)와 기여자들에게 돌아갑니다.