AI

Claude 5시간 칸이 사라지자 사용량 알림이 통째로 빠졌다

주간 값을 세션 줄 뒤에 붙이던 구조라 ChatGPT 줄만 남았다. 주간 % 기준 알림과 '이번 주 경과 평균' 표시로 바꿨다

한 줄로

11-01 00:16부터 claude.ai/usage 에 ‘현재 세션’(5시간) 칸이 없어지고 ‘이번 주’ 칸만 남았다. 사용량 알림(claude_usage_monitor.py)은 주간 값을 세션 줄 뒤에 붙여서만 보냈다. 그래서 세션 칸이 사라지자 Claude 줄이 통째로 빠지고 ChatGPT 줄만 찍혔다. 세션 칸이 없을 때는 주간 %로 알리도록 바꿨고, 이번 주에 흐른 시간으로 계산한 평균을 옆에 붙였다.

사용량 화면의 두 칸과 모니터의 구조

claude.ai/usage 는 사용량을 기간별 퍼센트로 보여준다. 원래는 두 칸이었다.

  • 현재 세션 — 5시간 단위
  • 이번 주 — 주 단위

claude_usage_monitor.py 는 이 화면과 ChatGPT(Codex) 사용량을 읽어서 알림을 보낸다. 문제는 Claude 줄을 만드는 방식이었다. 세션 값으로 줄을 먼저 만들고, 주간 값은 그 줄 뒤에 붙였다. 주간 값이 혼자 설 자리가 없었던 셈이다.

실제로 겪은 것: Claude 줄이 사라졌다

11-01 00:16 이후 화면에 ‘현재 세션’ 칸이 없었다. 세션 줄이 만들어지지 않으니 거기에 붙던 주간 값도 같이 빠졌다. 결과적으로 알림에는 Claude 가 아예 없고 ChatGPT 만 찍혔다.

주간 값은 화면에 그대로 있었다. 화면에서 세션 칸 하나가 빠졌을 뿐인데, 그 칸에 딸린 값까지 함께 사라진 것이다.

배경으로는 Anthropic 이 $200 플랜 이름을 Ultra 로 바꾸면서 5시간 한도를 없앴다는 보도가 있다(The New Stack). 다만 공식 발표 원문은 찾지 못했다.

고친 것 1: 세션 칸이 없으면 주간 %로 알린다

  • 세션 칸이 없으면 주간 %가 5% 단위를 넘을 때 알린다.
  • 5시간 칸이 다시 생기면 예전처럼 세션 기준으로 돌아간다.

즉 세션 칸이 있는지에 따라 알림 기준만 바뀐다. 세션 칸이 다시 생겨도 코드를 고칠 필요가 없다.

고친 것 2: 평균 표시

주간 % 하나만 보면 지금 많이 쓴 건지 적게 쓴 건지 판단하기 어렵다. 그래서 비교 기준으로 평균을 붙였다.

  • 평균 = 이번 주가 시작된 뒤 흐른 실제 시간 ÷ 7일
  • 주 시작 시점은 화면의 다음 리셋 시각에서 7일을 빼서 구한다.
  • 리셋 문구를 못 읽으면(화면이 영어로 바뀐 경우 등) / 평균 부분만 빠진다. 사용량 줄은 그대로 나간다.
  • 평균은 표시용이다. 알림 조건에는 쓰지 않는다.

지금 알림은 이렇게 생겼다.

text
Claude 주간 27% / 평균 45%
Codex 5시간 26% · 주간 55% / 평균 73% · ⏳ 2시간 18분

첫 줄은 이번 주의 45%가 지났고 사용량은 27%라는 뜻이다. Codex 는 여전히 5시간 칸이 있어서 세션 값과 주간 값이 함께 나온다. ⏳ 는 리셋까지 남은 시간이다(커밋 ed5b406 에서 Codex 와 함께 추가했다).

리셋 문구를 못 읽을 때 평균만 빼는 이유는 이번 사고와 같다. 부가 정보를 못 구했다고 사용량 줄 전체를 버리면 같은 일이 다시 생긴다.

고친 것 3: 형식 줄이기

형식은 사용자 요청에 따라 두 번 줄였다.

  1. 제목 1줄과 서비스마다 1줄씩, 모두 3줄로 만들었다.
  2. 이어서 📊 AI 사용량 제목도 뺐다.

지금은 2줄이고, 한쪽 조회가 실패하면 1줄이다. 서비스 이름도 ChatGPT (Codex) 에서 Codex 로 줄였다.

현재 상태

  • 테스트 17개가 통과했고 데몬도 재시작했다.
  • 14:01까지 고친 내용은 cron-job 정리 커밋 ed5b406 에 들어갔다.
  • 17:53에 넣은 평균 표시는 아직 커밋하지 않았다.