기술 기록 · 2026-05-10
맥 바탕화면 사용량 위젯 기록
OpenAI, Claude, Gemini 사용량과 YouTube 채널 숫자를 맥 바탕화면에서 확인하려고 만든 Übersicht 위젯 제작 기록입니다.
작업을 오래 하다 보면 제일 귀찮은 순간이 있습니다. “지금 Claude 5시간 한도가 얼마나 남았지?”, “Codex는 로그인 상태가 맞나?”, “YouTube 채널 숫자는 변했나?”를 확인하려고 창을 여러 개 여는 순간입니다. 그래서 이 확인 과정을 맥 바탕화면 한쪽으로 빼두기로 했습니다.
결과물은 두 가지입니다. 하나는 AI 사용량 위젯이고, 다른 하나는 YouTube 채널 통계 위젯입니다. 둘 다 맥 바탕화면 위에 얇게 떠 있는 카드처럼 쓰는 방식입니다.
만든 위젯 2개
- AI Usage Hub: OpenAI/Codex, Claude Code, Gemini CLI 사용량을 한 화면에 모아 보여줍니다.
- YouTube Desktop Stats: 지정한 YouTube 채널의 공개 구독자 수, 조회수, 영상 수를 바탕화면 카드로 보여줍니다.
AI Usage Hub는 맥북에 각 CLI가 설치되어 있고 로그인되어 있다는 전제로 움직입니다. 서버 상태를 대신 보여주는 방식이 아니라, 맥북에 있는 로컬 인증 정보와 사용량 파일을 읽어 확인하는 방식입니다.
AI 사용량 위젯에서 확인하는 것
- OpenAI/Codex: Codex는 터미널에서 쓰는 OpenAI 개발 도구입니다. 맥북의
~/.codex/auth.json을 읽고 OpenAI 사용량 API를 조회합니다. - Claude Code: Claude Code 사용 기록을 읽는
ccusage도구로 5시간 블록 사용량을 확인합니다. - Claude 주간 사용량: 현재 도구에서는 주간 총량만 나오고 100% 기준 한도는 나오지 않습니다. 그래서 이전 화면 사용률과 총량을 맞춰 기본 추정 한도 61,000,000 tokens를 두고 퍼센트를 계산합니다.
- Gemini CLI: 가능한 경우 Google quota API에서 Pro/Flash 남은 비율을 읽습니다. 계정이나 버전에 따라 막히면 경고만 띄우고 넘어갑니다.
남은 사용량이 30% 이하가 되면 카드 안에 경고 문구가 뜨게 했습니다. 긴 작업이나 이미지 생성처럼 사용량을 많이 쓰는 일을 시작하기 전에 한 번 멈춰 보라는 신호입니다.
만들면서 고친 부분
위젯을 만들면서 가장 많이 손본 부분은 화면 디자인보다 실행 방식이었습니다. Übersicht 위젯 안에서 Node 코드를 돌리다 보니, 맥 환경과 파서 차이 때문에 아래 문제가 차례로 나왔습니다.
- 위젯 안쪽 코드에 백틱 문자열을 넣었다가 Übersicht 파서가 중간에 끊긴 것으로 잘못 읽었습니다. 문자열 연결 방식으로 바꿨습니다.
- JSX를 쓰니 일부 환경에서
React변수를 찾지 못했습니다. 그래서 JSX를 빼고, 직접 element object를 만드는 방식으로 바꿨습니다. - Claude 5시간 사용량은 조회되는데 카드에는 총량만 보이는 문제가 있었습니다. 5시간 한도 추정값을 fallback으로 넣어 퍼센트가 항상 보이게 했습니다.
- Claude 주간 사용량은 공식 퍼센트가 나오지 않아, 총 토큰 기준 추정 한도로 계산하도록 했습니다.
맥북 설치 순서
아래는 AI Usage Hub 기준입니다. Codex 설치 명령은 맥 환경에 따라 cask가 안 잡힐 수 있어서, 안 되면 npm 설치로 넘어가면 됩니다.
brew install --cask ubersicht
open -a Übersicht
# OpenAI/Codex
brew install --cask codex
# 안 되면: npm install -g @openai/codex
codex
# Claude Code
claude --version
claude
# Gemini CLI
brew install gemini-cli
gemini
# 위젯 설치
cd ~/Downloads
unzip -o wangbiseo-openclaw-status-ai-merged-ubersicht-widget.zip
mkdir -p "$HOME/Library/Application Support/Übersicht/widgets"
cp -R ai-usage-hub.widget "$HOME/Library/Application Support/Übersicht/widgets/"
osascript -e 'tell application "Übersicht" to refresh'
Claude 주간 추정 한도를 바꾸고 싶으면 아래처럼 지정할 수 있습니다. 이 방식은 맥 로그인 세션 기준으로 적용되므로, 재부팅 뒤 값이 사라지면 다시 넣어야 합니다.
launchctl setenv CLAUDE_WEEKLY_TOKEN_LIMIT 61000000
launchctl setenv CLAUDE_5H_TOKEN_LIMIT 477515
여기서 61,000,000은 고정된 공식 한도가 아닙니다. 실제 Claude 화면에서 보이는 주간 퍼센트와 ccusage weekly 총량을 맞춰 잡은 개인용 추정값입니다.
다운로드
아래 파일은 바로 내려받아 테스트할 수 있게 넣어두었습니다.
둘 다 개인 환경에 맞춰 조금씩 고쳐 쓰는 것을 전제로 만든 파일입니다. 특히 사용량 위젯은 각 서비스 로그인이 되어 있어야 제대로 표시됩니다.
써보니 좋은 점
이런 위젯은 화려한 기능보다 “지금 멈출지, 계속 밀어붙일지”를 빠르게 판단하게 해주는 점이 좋았습니다. 사용량이 바닥나기 전에 작업 방식을 바꾸고, YouTube 숫자도 따로 열어보지 않고 흐름만 볼 수 있습니다.