# 대시보드 계정 드롭다운에 사용량 표시 (statusline rate_limits 방식)

## 한정승인: 끝까지 진행

## 배경
대시보드 상단 계정 드롭다운에서 계정 전환 가능한 상태. 여기에 **계정별 사용량(리밋 대비 현재 사용량 %)**도 같이 표시하고 싶음.

## 구현 방식: statusline rate_limits

Claude Code v2.1.80+에서 statusLine에 rate_limits 필드가 공식 추가됨.
- `rate_limits.five_hour.used_percentage` — 5시간 사용량 %
- `rate_limits.five_hour.resets_at` — 리셋 시간
- `rate_limits.seven_day.used_percentage` — 7일 사용량 %

### 데이터 수집 방법
1. `claude` CLI 실행 시 statusline JSON에서 rate_limits 추출
2. 또는 `claude status` 명령 결과 파싱
3. 주기적으로 (1분~5분 간격) 수집하여 대시보드에 제공

### 구현 사항

**1. server.py — 사용량 데이터 수집 API**
- `GET /api/usage-status` — 현재 계정의 rate_limits 반환
- claude CLI의 statusline에서 rate_limits 추출
- 5시간/7일 사용량 % + 리셋 시간

**2. App.js — 계정 드롭다운에 사용량 표시**
- 계정 드롭다운 열었을 때 각 계정별 사용량 % 표시
- 5시간 사용량: 프로그레스 바 (초록→노랑→빨강)
- 예: `jonghyuk (37% / 5h)` `drumband (82% / 5h ⚠️)`
- 80% 이상이면 경고 색상(빨강)
- 리셋 시간도 표시

**3. 계정별 사용량 조회**
- 현재 활성 계정: statusline에서 바로 조회
- 비활성 계정: 잠시 전환 → 조회 → 복원 (또는 캐시된 마지막 값 사용)

## 참조
- task-1168.1 보고서: `/home/jay/workspace/memory/reports/task-1168.1.md` — statusline rate_limits 상세 정보
- settings.json: `~/.claude/settings.json`
- 계정 전환 스크립트: `/home/jay/workspace/scripts/switch-account.sh`
- App.js 계정 드롭다운: `/home/jay/workspace/dashboard/components/App.js`

## task-timer
- task_id: task-1175.1
- team: dev1-team
