<p align="center">
<img src="https://raw.githubusercontent.com/edilsonvilarinho/usage-monitor/HEAD/img/banner.svg" width="100%" alt="Usage Monitor — quotas, usage and cost of every AI coding tool you pay for">
</p>
<p align="center">
<a href="https://github.com/edilsonvilarinho/usage-monitor/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/edilsonvilarinho/usage-monitor/ci.yml?branch=main&label=CI" alt="CI"></a>
<a href="https://github.com/edilsonvilarinho/usage-monitor/releases/latest"><img src="https://img.shields.io/github/v/release/edilsonvilarinho/usage-monitor?sort=semver&display_name=tag" alt="Latest release"></a>
<img src="https://img.shields.io/badge/platform-Windows%20%7C%20Linux%20%7C%20macOS-informational" alt="Platforms">
<img src="https://img.shields.io/badge/Kotlin-2.4.20-7F52FF?logo=kotlin&logoColor=white" alt="Kotlin">
<a href="LICENSE"><img src="https://img.shields.io/github/license/edilsonvilarinho/usage-monitor" alt="License: MIT"></a>
</p>
<p align="center">영어 · <a href="README.pt-BR.md">포르투갈어 (브라질)</a></p>
사용료를 지불하는 모든 AI 코딩 도구의 할당량(quotas), 사용량 및 비용을 보여주는 데스크톱 HUD입니다: Claude Code,
Codex, MiniMax, DeepSeek, OpenCode Zen 및 Go, Kilo, OpenRouter,
Gemini CLI, Cursor 및 Antigravity CLI.
화면 가장자리에 장착되는 작은 노치(notch)는 계정당 하나의 링과 할당량당 하나의 아크를 표시합니다.
사용자가 이미 가지고 있는 자격 증명(credentials)을 읽고, 기록은 로컬 SQLite에 보관하며, 프롬프트나 응답 내용을 어떠한 곳에도 전송하지 않습니다.
이 앱은 터미널에서도 작동합니다: 상태 테이블, Claude Code 및 tmux용 상태 라인, 전체 화면 인터랙티브 모드, 그리고 화면이 없는 Linux 서버에서는 헤드리스 서비스(headless service)로 작동합니다.
The HUD notch: one ring per account, one arc per quota, and the details balloon
<img src="https://raw.githubusercontent.com/edilsonvilarinho/usage-monitor/HEAD/img/divider.svg" width="100%" alt="">
빠른 시작
창에서 사용하기. 설치 프로그램 다운로드를 다운로드하고 Usage Monitor를 열면, 노치(notch)가 화면 가장자리에 부착됩니다. Claude Code 및 Codex 계정은 별도로 찾을 수 있으며, API 키가 필요한 소스(MiniMax, DeepSeek, OpenCode Go, OpenRouter)는 설정(Settings) > API에서 입력합니다.
터미널에서 사용하기 — 동일한 앱을 자신의 컴퓨터나 SSH를 통해 서버에서 사용할 수 있습니다:
usage-monitor status
usage-monitor tui
usage-monitor setup
...
명령어는 다음과 같습니다:
| 설치 | 명령어 |
|---|
| Linux .sh | usage-monitor (~ ext{/.local/bin}에 위치) |
| ... | |
모든 명령어는 명령줄 및 터미널 모드에서 확인할 수 있습니다.
기능(Features)
- HUD 노치 — 계정당 하나의 링, 할당량당 하나의 아크가 있으며 (주간 외부, 내부 5시간), 모든 모니터의 가장자리에 부착됩니다. 링 위에 마우스를 올리면 상세 정보 풍선이 나타나며, 클릭하면 해당 계정을 새로고침할 수 있습니다. 이동 손(move hand) 옆에 있는 핀은 유휴 상태일 때 계정당 하나의 위험 점과 함께 가는 얇은 스트립으로 축소됩니다.
- Claude Code 세션 비용 — 로컬 전사본을 세션, 프로젝트, 브랜치 및 모델별로 나누어 표시하며, 예상 비용과 컨텍스트 상태 진단(context-health verdict)을 제공합니다. Codex CLI 세션도 토큰 수만 확인 가능합니다.
- 기록 및 예측 — 차트 위에 요약 정보가 있으며, 확장 가능한 할당량 및 창 상세 정보, 예상 소진량, 이전 기간 비교, 월별 USD 예산이 포함됩니다.
- 알림(Alerts) — 할당량이 75/90/100%를 초과하거나 세션이 포화 상태가 되면 트레이 알림을 제공하며, 무음 시간(quiet hours) 설정도 가능합니다.
- 지속 작동 — 각 소스는 자체적으로 실패하고 마지막으로 읽은 값을 유지하며; 속도 제한(rate limits)은 자동으로 완화됩니다.
- 내보내기(Export) — 세션 및 요약에 대한 CSV와 JSON 파일, 그리고 PDF 보고서를 제공합니다.
History PDF는 선택된 소스(source), 계정(account), 범위(range) 및 할당량(quota)을 따라가며, 접혀 있는 경우에도 사용 가능한 모든 창을 포함합니다.
- 터미널 모드 (Terminal mode) — 스크립트의
status, check, wait 기능, Claude Code와 tmux를 위한 상태 표시줄, 전체 화면 인터랙티브 모드 및 명령어를 통한 모든 설정이 가능하며, Linux 서버에서는 헤드리스 서비스(headless service)로 실행됩니다.
- 팀 뷰 (Team view) (선택 사항) — 사용자가 호스팅하는 서버가 여러 장치에 걸쳐 하나의 계정을 집계하며, 30일 추세 및 실시간 접속 현황을 제공합니다. server/README.md를 참조하십시오.
- 데스크톱 (Desktop) — 자동 시작, 라이트 및 다크 테마, 영어와 포르투갈어 지원, UI 크기 조절, 인앱 도움말(
F1), Windows 및 Linux에서의 자체 업데이트 기능을 제공합니다.
설치 (Install)
최신 릴리스 다운로드 →
설치 프로그램은 자체 Java 런타임을 번들로 포함합니다.
| 플랫폼 | 다운로드 | 자체 업데이트 지원 여부 |
|---|
| Windows | UsageMonitor-Setup-X.Y.Z.exe — 사용자별, 관리자 권한 불필요 | 예 |
| ... | | |
| Claude Code와 Codex는 별도로 찾을 수 있습니다. MiniMax, DeepSeek, OpenCode Go 및 OpenRouter는 설정 > API에 입력해야 하는 API 키가 필요하며, 환경 변수는 절대 읽지 않습니다. | | |
<details>
<summary>플랫폼 참고 사항</summary>
- Windows (이전 MSI 버전에서 마이그레이션된 경우):
UsageMonitor-Setup을 실행하기만 하면 됩니다. 이 프로그램은 먼저 MSI 설치를 제거하며, ~/.usage-monitor/에 있는 데이터는 유지됩니다. 만약 실패하면 설치 프로그램이 중단되며 메시지를 표시합니다 — *앱 및 기능(Apps & features)*에서 MSI를 제거한 후 다시 실행하십시오.
- Linux (.sh):
$HOME (XDG data dir와 ~/.local/bin/usage-monitor)에 설치됩니다. 항상 SHA-256을 확인하고, 롤백을 위해 이전 버전을 보관하며, .deb/.rpm 설치 위에는 실행하는 것을 거부합니다. 지원하지 않는 환경: musl/Alpine, ARM64, Flatpak, AppImage.
- macOS: DMG 파일은 Apple에 의해 서명되지 않았습니다.
/Applications에서 앱을 마우스 오른쪽 버튼으로 클릭하고 **열기(Open)**를 선택하거나 xattr -dr com.apple.quarantine "/Applications/Usage Monitor.app" 명령어를 실행하십시오.
</details>
명령어 라인 및 터미널 모드 (Command line and terminal mode)
The terminal mode: usage-monitor status, then usage-monitor tui going through its six tabs
<sub style="display: block;">앱 자체 터미널 코드를 사용하여 합성 데이터(`gradlew generateTerminalMedia")로 생성됩니다.</sub>
| Option | 기능 |
|---|
| “-h”, --help | 옵션을 출력하고 종료합니다 |
| ... | |
| 터미널 명령어는 앱의 마지막 수집 데이터를 읽을 뿐 API를 호출하지 않으므로, 데이터 수집 주체는 계속 앱입니다. 이들은 앱 언어를 따릅니다 (“--locale”도 여기에 적용됨): | |
| Command | 기능 |
|---|
status [--json] [--max-age <time>] | 모든 할당량(quota)을 출력합니다: 알림 임계값(alert thresholds)으로부터의 막대, 상태 및 재설정 시점과 함께, 각 5시간 및 주간 할당량에 대해 해당 기간이 얼마나 지났고 할당량 대비 얼마나 사용되었는지 보여줍니다. “--json”은 스크립트를 위한 안정적인 계약(stable contract)입니다 |
| ... | |
"statusLine": { "type": "command", "command": "usage-monitor statusline claude-code" }
set -g status-right '#(usage-monitor statusline tmux)'
usage-monitor tui는 파일과 데이터베이스를 읽기만 하고 쓰지 않습니다 (팀(Team) 탭만 앱의 팀 창처럼 팀 서버에 요청합니다). 탭은 1부터 5까지 번호가 매겨져 있으며, ↑ ↓로 이동하고, enter로 열고, r로 다시 읽으며, ?로 모든 키를 보여줍니다. 설정(Settings) 탭은 아래 명령어들과 동일한 것을 변경하며 그 출력을 보여줍니다. 계정을 추가하고 새로운 팀 서버에 가입하는 것은 여전히 명령어에서 처리됩니다. 최소 40×12 크기가 필요하며, 80~96열로 그려지며 더 넓은 터미널을 채웁니다.
설정(Settings) 창의 모든 작업은 또한 터미널에서도 수행할 수 있으며, 이는 헤드리스 서버가 필요로 하는 방식입니다. 이 명령어들은 앱 자체 파일을 작성합니다. 앱이나 서비스가 데이터를 수집하는 동안 변경 사항이 전송되고, 그 주체가 쓰기 작업을 하므로 즉시 적용됩니다 (앱에서처럼 재시작 후 프록시를 통해). 키와 토큰은 에코(echo) 없이 입력으로부터 읽으며, 절대 인자(argument)로부터 읽지 않습니다.
| Command | 기능 설명 |
|---|
setup | 최초 설정: 계정, API 키, 알림, Telegram, 언어 및 리눅스의 경우 서비스 설치 |
| ... | |
리눅스 디스플레이가 없는 서버에서는, service install을 사용하면 앱과 동일한 컬렉션 엔진(collection engine)이 창 없이 실행되는 systemd 사용자 서비스를 생성합니다 (service run). service status는 각 부분의 상태를 보여주며, service logs --follow로 저널(journal)을 추적할 수 있습니다. .deb/.rpm은 서버에서 작동하며, libGL, libX11, 그리고 fontconfig 라이브러리 없이는 Telegram 봇이 이미지 대신 텍스트로 답변합니다. | |
usage-monitor setup
sudo loginctl enable-linger "$USER"
usage-monitor service status
옵션 없이 사용하면 앱을 열거나 실행 중인 앱을 전면으로 가져옵니다. 윈도우에서는 usage-monitor.exe를 사용하세요: Usage Monitor.exe는 창 기반 프로그램이므로, 그 출력은 터미널에 도달하지 않습니다. 설치 프로그램은 설치 폴더를 사용자 PATH (HKCU\Environment)에 추가하므로, 설치 후 열린 터미널에서 usage-monitor --help가 실행됩니다. 이미 열려 있는 터미널은 다시 열기 전까지는 변경 사항을 인식하지 못합니다. 만약 사용자 PATH가 32,767자(환경 변수에 대한 Windows 제한)를 초과할 경우, 설치 프로그램은 이를 건드리지 않습니다. 이 경우 전체 경로를 사용하세요:
& "$env:LOCALAPPDATA\Usage Monitor\usage-monitor.exe" --help
지원되는 통합 기능 (Supported integrations)
| 통합 기능 | 읽는 정보 | 필요 사항 |
|---|
| Anthropic (Claude Code) | /api/oauth/usage | ~/.claude/.credentials.json |
| ... | | |
엔드포인트, 자격 증명 경로 및 통합별 제한: docs/integrations.md. | | |
개인 정보 보호 (Privacy)
- 자격 증명 파일(Credential files)은 읽기 전용입니다. 로그인, 로그아웃 또는 삭제 기능이 없습니다.
- 프롬프트나 응답 내용이 앱을 벗어나는 일은 절대 없습니다. 팀 통합(team integration)은 사용량 메타데이터만 전송합니다: ID, 타임스탬프, 모델, 토큰 수, 프로젝트 디렉터리, 브랜치 및 머신 이름.
- 트래픽은 위에 언급된 공급업체 API로만 전송되며, 설정한 경우 사용자 자체의 팀 서버로도 전송됩니다.
<details>
<summary>더 많은 화면 보기</summary>
앱 자체 컴포넌트에서 합성 데이터(gradlew.bat generateScreenshots)를 사용하여 렌더링되었습니다.
Claude Code sessions
History and forecast
Team usage
Settings
</details>
참고 가이드 (Reference guides)
<img src="https://raw.githubusercontent.com/edilsonvilarinho/usage-monitor/HEAD/img/divider.svg" width="100%" alt="">
이슈(Issues)와 풀 리퀘스트(pull requests)를 환영합니다 — CONTRIBUTING.md부터 시작하세요.
MIT © 2026 Edilson Vilarinho