TokenNotch

skill
Security Audit
Fail
Health Pass
  • License รขโ‚ฌโ€ License: MIT
  • Description รขโ‚ฌโ€ Repository has a description
  • Active repo รขโ‚ฌโ€ Last push 0 days ago
  • Community trust รขโ‚ฌโ€ 13 GitHub stars
Code Fail
  • rm -rf รขโ‚ฌโ€ Recursive force deletion command in install.sh
Permissions Pass
  • Permissions รขโ‚ฌโ€ No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

๐Ÿฆ€ MacBook notch widget for Claude Code & Codex CLI usage โ€” official Clawd & Codex pet mascots show your remaining quota, HP bars, and reset countdowns

README.md

TokenNotch

ํ•œ๊ตญ์–ด | English

MacBook ๋…ธ์น˜ ์ฃผ๋ณ€์˜ ํ”ฝ์…€ ์บ๋ฆญํ„ฐ์™€ ์‚ฌ์šฉ๋Ÿ‰ ํŒจ๋„์„ ํ‘œํ˜„ํ•œ TokenNotch ํžˆ์–ด๋กœ ์ด๋ฏธ์ง€

๋งฅ๋ถ ๋…ธ์น˜ ์˜†์—์„œ Clawd(Claude Code ๊ณต์‹ ํ”ฝ์…€ ๊ฒŒ) ์™€ Codex ํŽซ(Codex CLI ๊ณต์‹ ์ปดํŒจ๋‹ˆ์–ธ) ์ด ์‚ด๋ฉด์„œ
Claude Code / Codex CLI์˜ ๋‚จ์€ ์‚ฌ์šฉ๋Ÿ‰๊ณผ ์„ธ์…˜ ๋ฆฌ์…‹ ์‹œ๊ฐ„์„ ์•Œ๋ ค์ฃผ๋Š” ์œ„์ ฏ์ž…๋‹ˆ๋‹ค.

TokenNotch ๋ฐ๋ชจ โ€” ๋…ธ์น˜ ์˜† ์บ๋ฆญํ„ฐ, ํ˜ธ๋ฒ„ ์‹œ ํ™•์žฅ ํŒจ๋„, ํ‘œ์‹œ ํ† ๊ธ€

ํ™•์žฅ ํ™”๋ฉด ์ž์„ธํžˆ โ€” ์„œ๋น„์Šค๋ณ„ ์นด๋“œ, HP๋ฐ”, ๋ฆฌ์…‹ ์นด์šดํŠธ๋‹ค์šด ํ™•์žฅ ๋ทฐ 2ํŽ˜์ด์ง€ โ€” ์ขŒ์šฐ ์Šค์™€์ดํ”„๋กœ ์˜ค๋Š˜/์ด๋ฒˆ ์ฃผ/์ผ๋ณ„ ํ† ํฐ ์‚ฌ์šฉ๋Ÿ‰ ํ†ต๊ณ„

  • ๐Ÿฆ€ ๋…ธ์น˜ ์™ผ์ชฝ โ€” Clawd: Claude Code CLI์— ์‹ค์ œ ๋‚ด์žฅ๋œ ๊ณต์‹ ์Šคํ”„๋ผ์ดํŠธ(์ฟผ๋“œ๋ŸฐํŠธ ๋ธ”๋ก ์•„ํŠธ,
    clawd_body ์ƒ‰์ƒ rgb(215,119,87), ํฌ์ฆˆ 4์ข…)๋ฅผ 1:1 ์žฌํ˜„. ์˜†๊ฑธ์Œ์œผ๋กœ ์ˆœ์ฐฐํ•˜๋ฉฐ ๋‚จ์€ % ํ‘œ์‹œ
  • ๐Ÿค– ๋…ธ์น˜ ์˜ค๋ฅธ์ชฝ โ€” Codex ํŽซ: Codex CLI์˜ ๊ณต์‹ ๋Œ€ํ‘œ ํŽซ "The original Codex companion".
    ์Šคํ”„๋ผ์ดํŠธ์‹œํŠธ๋Š” ์ €์žฅ์†Œ์— ํฌํ•จํ•˜์ง€ ์•Š๊ณ  Codex CLI์™€ ๋™์ผํ•˜๊ฒŒ OpenAI CDN์—์„œ ์‹คํ–‰ ์‹œ ๋‹ค์šด๋กœ๋“œํ•ด ์บ์‹œ

1. ์š”๊ตฌ ์‚ฌํ•ญ

ํ•ญ๋ชฉ ์กฐ๊ฑด
ํ•˜๋“œ์›จ์–ด ๋…ธ์น˜๊ฐ€ ์žˆ๋Š” MacBook (Pro/Air 2021 ์ดํ›„)
OS macOS 14 (Sonoma) ์ด์ƒ
๋นŒ๋“œ ๋„๊ตฌ Xcode ๋˜๋Š” Xcode Command Line Tools (xcode-select --install)
Claude ๋ฐ์ดํ„ฐ Claude Code ๋กœ๊ทธ์ธ ์ƒํƒœ (Pro/Max ๊ตฌ๋…)
Codex ๋ฐ์ดํ„ฐ (์„ ํƒ) Codex CLI ๋กœ๊ทธ์ธ ์ƒํƒœ (ChatGPT Plus/Pro)

ํ•œ์ชฝ๋งŒ ์จ๋„ ๋ฉ๋‹ˆ๋‹ค. ์•ˆ ์“ฐ๋Š” ์ชฝ์€ ์œ„์ ฏ์—์„œ ๋Œ ์ˆ˜ ์žˆ์–ด์š” (์•„๋ž˜ ํ‘œ์‹œ ํ† ๊ธ€ ์ฐธ๊ณ ).

2. ์„ค์น˜ & ์‹คํ–‰

git clone https://github.com/Borelchu/TokenNotch.git
cd TokenNotch

# ๋ฐฉ๋ฒ• A) ์•ฑ์œผ๋กœ ์„ค์น˜ (๊ถŒ์žฅ)
./install.sh                 # ๋นŒ๋“œ ํ›„ dist/NotchUsage.app ์ƒ์„ฑ
open dist/NotchUsage.app     # ์‹คํ–‰ โ€” ๋…ธ์น˜ ์–‘์˜†์— ์บ๋ฆญํ„ฐ๊ฐ€ ๋‚˜ํƒ€๋‚จ

# ๋ฐฉ๋ฒ• B) ๋กœ๊ทธ์ธ ์‹œ ์ž๋™ ์‹คํ–‰๊นŒ์ง€ ๋“ฑ๋ก
./install.sh --autostart

# ๋ฐฉ๋ฒ• C) ๊ฐœ๋ฐœ์šฉ์œผ๋กœ ๋ฐ”๋กœ ์‹คํ–‰
swift build && .build/debug/NotchUsage

์ฒซ ์‹คํ–‰ ์‹œ ํ•˜๋Š” ์ผ:

  • ํ‚ค์ฒด์ธ์˜ Claude Code ์ž๊ฒฉ ์ฆ๋ช…์„ ์ฝ์Šต๋‹ˆ๋‹ค (๊ถŒํ•œ ๋Œ€ํ™”์ƒ์ž๊ฐ€ ๋œจ๋ฉด "ํ•ญ์ƒ ํ—ˆ์šฉ")
  • Codex ํŽซ ์Šคํ”„๋ผ์ดํŠธ์‹œํŠธ๋ฅผ OpenAI CDN์—์„œ ๋‚ด๋ ค๋ฐ›์•„ ~/Library/Caches/NotchUsage/์— ์บ์‹œํ•ฉ๋‹ˆ๋‹ค
  • ์ดํ›„ 5๋ถ„๋งˆ๋‹ค ๋‘ ์„œ๋น„์Šค์˜ ๊ณต์‹ ์‚ฌ์šฉ๋Ÿ‰ API๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค

Dock ์•„์ด์ฝ˜๊ณผ ๋ฉ”๋‰ด๋ฐ” ์•„์ด์ฝ˜์€ ์—†์Šต๋‹ˆ๋‹ค. ์˜ค์ง ๋…ธ์น˜ ์˜†์—๋งŒ ์‚ฝ๋‹ˆ๋‹ค.

UI ์–ธ์–ด๋Š” macOS ์‹œ์Šคํ…œ ์–ธ์–ด๋ฅผ ๋”ฐ๋ผ๊ฐ‘๋‹ˆ๋‹ค (ํ•œ๊ตญ์–ด / ์˜์–ด).

3. ํ™”๋ฉด ์ฝ๋Š” ๋ฒ•

์ปดํŒฉํŠธ (ํ•ญ์ƒ ํ‘œ์‹œ)

  ๐Ÿฆ€ 72%     [ ๋…ธ์น˜ ]     96% ๐Ÿค–
  • ์ˆซ์ž = 5์‹œ๊ฐ„ ์„ธ์…˜ ๊ธฐ์ค€ ๋‚จ์€ ์–‘ (Codex๊ฐ€ ์ฃผ๊ฐ„ ํ•œ๋„๋งŒ ์žˆ๋Š” ์š”๊ธˆ์ œ๋ฉด ์ฃผ๊ฐ„ ๊ธฐ์ค€)
  • ์ƒ‰์ƒ = ์ดˆ๋ก(50% ์ดˆ๊ณผ) / ๋…ธ๋ž‘(20~50%) / ๋นจ๊ฐ•(20% ๋ฏธ๋งŒ)
  • ์บ๋ฆญํ„ฐ ํ–‰๋™์œผ๋กœ๋„ ์ƒํƒœ๋ฅผ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:
๋‚จ์€ ์–‘ Clawd Codex ํŽซ
50% ์ดˆ๊ณผ ๋А๊ธ‹ํ•œ ์˜†๊ฑธ์Œ ์ˆœ์ฐฐ, ๋ฐ˜ํ™˜์ ์—์„œ ๋งŒ์„ธ ์‹ ๋‚˜๊ฒŒ ๋‹ฌ๋ฆฌ๊ธฐ
20~50% ๋•€ ํ˜๋ฆฌ๋ฉฐ ์ข…์ข…๊ฑธ์Œ ๋…ธํŠธ๋ถ ํŽด๊ณ  ์—ด์‹ฌํžˆ ํƒ€์ดํ•‘ + ๋•€
20% ๋ฏธ๋งŒ ๋งŒ์„ธ ์ž์„ธ๋กœ ํŒจ๋‹‰, ๋ถ€๋“ค๋ถ€๋“ค ์Šฌํ”ˆ ํ‘œ์ •(x_x), ๋ถ€๋“ค๋ถ€๋“ค
์˜ค๋ฅ˜/ํ† ํฐ ๋งŒ๋ฃŒ ์ž ๋“ค์–ด์„œ zzz ์ž ๋“ค์–ด์„œ zzz

ํ™•์žฅ ๋ทฐ (๋…ธ์น˜์— ๋งˆ์šฐ์Šค ์˜ฌ๋ฆฌ๋ฉด)

  • ์„œ๋น„์Šค๋ณ„ ์นด๋“œ์— HP๋ฐ”(์ฑ„์›Œ์ง„ ๋งŒํผ์ด ๋‚จ์€ ์–‘)์™€ ๋‚จ์€ % ๋ฐฐ์ง€
  • โฐ ๋ฆฌ์…‹ ์‹œ๊ฐ + ์นด์šดํŠธ๋‹ค์šด (์˜ˆ: 17:59 ๋ฆฌ์…‹ ยท 2์‹œ๊ฐ„ 12๋ถ„ ํ›„)
  • Claude๋Š” 5์‹œ๊ฐ„ ์„ธ์…˜/์ฃผ๊ฐ„(์ „์ฒดยทOpusยทSonnet), Codex๋Š” ์š”๊ธˆ์ œ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์ฐฝ(์„ธ์…˜/์ฃผ๊ฐ„)์„ ํ‘œ์‹œ
  • ์บ๋ฆญํ„ฐ ๋งํ’์„ : "์•„์ง ๋“ ๋“ ํ•ด์š”!" โ†’ "์•„๊ปด ์จ์•ผ ํ•ด์š”โ€ฆ" โ†’ "๊ฑฐ์˜ ๋‹ค ์ผ์–ด์š”!!" โ†’ "์‰ฌ๋Š” ์ค‘โ€ฆ zzz"
  • ์šฐ์ธก ์ƒ๋‹จ โป ๋ฒ„ํŠผ = ์•ฑ ์ข…๋ฃŒ
  • ์ขŒ์šฐ๋กœ ๋“œ๋ž˜๊ทธํ•˜๋ฉด(๋˜๋Š” ํ•˜๋‹จ ์  ํด๋ฆญ) 2ํŽ˜์ด์ง€ = ํ† ํฐ ํ†ต๊ณ„: ์„œ๋น„์Šค๋ณ„๋กœ
    ์˜ค๋Š˜ / ์ด๋ฒˆ ์ฃผ ์‚ฌ์šฉ ํ† ํฐ(์ž…๋ ฅยท์ถœ๋ ฅ ๊ตฌ๋ถ„)๊ณผ ์ตœ๊ทผ 7์ผ ๋ง‰๋Œ€ ๊ทธ๋ž˜ํ”„.
    usage API๋Š” %๋งŒ ์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์ ˆ๋Œ€๋Ÿ‰์€ CLI์˜ ๋กœ์ปฌ ๊ธฐ๋ก์—์„œ ์ง‘๊ณ„ํ•ฉ๋‹ˆ๋‹ค
    (~/.claude/projects/**.jsonl, ~/.codex/sessions/**) โ€” ๊ธฐ๋ก์ด ๋กœ์ปฌ์—
    ๋‚จ์•„ ์žˆ๋Š” ๊ธฐ๊ฐ„๋งŒ ์ง‘๊ณ„๋ผ์š” (Claude Code ๊ธฐ๋ณธ ๋ณด๊ด€ 30์ผ)

4. ํ‘œ์‹œ ํ† ๊ธ€

ํ™•์žฅ ๋ทฐ ํ—ค๋” ์˜ค๋ฅธ์ชฝ์˜ ์บ๋ฆญํ„ฐ ์–ผ๊ตด ์นฉ์„ ํด๋ฆญํ•˜๋ฉด ํ•ด๋‹น ์„œ๋น„์Šค๋ฅผ ์ผœ๊ณ  ๋•๋‹ˆ๋‹ค.

  • ๊บผ์ง„ ์„œ๋น„์Šค๋Š” ํ™•์žฅ ๋ทฐ ์นด๋“œ์™€ ๋…ธ์น˜ ์˜† ์ปดํŒฉํŠธ ํ‘œ์‹œ ๋ชจ๋‘์—์„œ ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค
  • ๊บผ์ง„ ์นฉ์€ ํ‘๋ฐฑ์œผ๋กœ ํ๋ ค์ง‘๋‹ˆ๋‹ค
  • ์„ค์ •์€ ์ž๋™ ์ €์žฅ๋˜์–ด ์žฌ์‹œ์ž‘ํ•ด๋„ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค (defaults ๋„๋ฉ”์ธ์— showClaude/showCodex)
  • ๋‘˜ ๋‹ค ๋Œ ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค โ€” ๋งˆ์ง€๋ง‰ ํ•˜๋‚˜๋ฅผ ๋„๋ฉด ๋ฐ˜๋Œ€์ชฝ์ด ์ž๋™์œผ๋กœ ์ผœ์ง‘๋‹ˆ๋‹ค

5. ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋””์„œ ๊ฐ€์ ธ์˜ค๋‚˜

์ธ์ฆ ์—”๋“œํฌ์ธํŠธ ์ˆ˜์น˜์˜ ์˜๋ฏธ
Claude Code macOS ํ‚ค์ฒด์ธ Claude Code-credentials์˜ OAuth ํ† ํฐ api.anthropic.com/api/oauth/usage /usage ๋ช…๋ น๊ณผ ๋™์ผํ•œ ๊ณต์‹ ์ˆ˜์น˜
Codex CLI ~/.codex/auth.json์˜ access_token + account_id chatgpt.com/backend-api/wham/usage /status ๋ช…๋ น๊ณผ ๋™์ผํ•œ ๊ณต์‹ ์ˆ˜์น˜
  • 5๋ถ„ ์ฃผ๊ธฐ ํด๋ง: Claude usage ์—”๋“œํฌ์ธํŠธ๋Š” CLI User-Agent๊ฐ€ ์•„๋‹ˆ๊ฑฐ๋‚˜ ํ˜ธ์ถœ์ด ์žฆ์œผ๋ฉด
    ํ•œ ๋ฒˆ ๊ฑธ๋ฆฌ๋ฉด ~10๋ถ„ ์ง€์†๋˜๋Š” sticky 429๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ 5๋ถ„ ์ฃผ๊ธฐ + 429 ์‹œ 15๋ถ„ ์ฟจ๋‹ค์šด์„ ์”๋‹ˆ๋‹ค.
  • ํ† ํฐ ๊ฐฑ์‹ ์€ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค: ๋งŒ๋ฃŒ๋˜๋ฉด ์นด๋“œ์— ์•ˆ๋‚ด๊ฐ€ ๋œจ๊ณ , ํ•ด๋‹น CLI(claude ๋˜๋Š” codex)๋ฅผ
    ํ•œ ๋ฒˆ ์‹คํ–‰ํ•˜๋ฉด ์ž๋™์œผ๋กœ ๊ฐฑ์‹ ๋ฉ๋‹ˆ๋‹ค. ํŠนํžˆ Codex์˜ ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ์€ ์ผํšŒ์šฉ์ด๋ผ ์œ„์ ฏ์ด ์ง์ ‘
    ๊ฐฑ์‹ ํ•˜๋ฉด CLI ๋กœ๊ทธ์ธ์ด ๊นจ์งˆ ์ˆ˜ ์žˆ์–ด ์˜๋„์ ์œผ๋กœ ์ฝ๊ธฐ ์ „์šฉ์ž…๋‹ˆ๋‹ค.
  • Codex์˜ ์„ธ์…˜/์ฃผ๊ฐ„ ์ฐฝ์€ ์œ„์น˜๊ฐ€ ์•„๋‹ˆ๋ผ limit_window_seconds๋กœ ํŒ๋ณ„ํ•ฉ๋‹ˆ๋‹ค
    (Plus ์š”๊ธˆ์ œ๋Š” ์ฃผ๊ฐ„ ์ฐฝ๋งŒ ๋‚ด๋ ค์˜ค๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Œ).

6. ์ข…๋ฃŒ / ์ œ๊ฑฐ

# ์ข…๋ฃŒ: ํ™•์žฅ ๋ทฐ์˜ โป ๋ฒ„ํŠผ, ๋˜๋Š”
pkill -x NotchUsage

# ์ž๋™ ์‹คํ–‰ ํ•ด์ œ
launchctl unload ~/Library/LaunchAgents/local.notchusage.plist
rm ~/Library/LaunchAgents/local.notchusage.plist

# ์™„์ „ ์ œ๊ฑฐ
rm -rf dist ~/Library/Caches/NotchUsage

7. ํŒŒ์ผ ๊ตฌ์„ฑ

  • Sources/NotchUsage/main.swift โ€” ์•ฑ ์ง„์ž…์  (Dock ์•„์ด์ฝ˜ ์—†๋Š” accessory ์•ฑ)
  • Sources/NotchUsage/AppDelegate.swift โ€” DynamicNotch ์ƒ์„ฑ, ํ˜ธ๋ฒ„ ์‹œ ํ™•์žฅ/์ถ•์†Œ, 5๋ถ„ ํด๋ง ๋ฃจํ”„
  • Sources/NotchUsage/UsageModel.swift โ€” Claude ํ‚ค์ฒด์ธ/Codex auth.json ์ฝ๊ธฐ, usage API ํ˜ธ์ถœ, ์ƒํƒœ ๋ชจ๋ธ
  • Sources/NotchUsage/Characters.swift โ€” ๊ณต์‹ Clawd ์Šคํ”„๋ผ์ดํŠธ ๋ Œ๋”๋Ÿฌ (+ Codex ํด๋ฐฑ ๋กœ๋ด‡)
  • Sources/NotchUsage/CodexPet.swift โ€” ๊ณต์‹ Codex ํŽซ ์Šคํ”„๋ผ์ดํŠธ์‹œํŠธ ๋กœ๋”/์• ๋‹ˆ๋ฉ”์ดํ„ฐ
  • Sources/NotchUsage/TokenStats.swift โ€” ๋กœ์ปฌ CLI ๊ธฐ๋ก์—์„œ ์ผ๋ณ„ ํ† ํฐ ์‚ฌ์šฉ๋Ÿ‰ ์ง‘๊ณ„
  • Sources/NotchUsage/L10n.swift โ€” ์‹œ์Šคํ…œ ์–ธ์–ด ๊ธฐ๋ฐ˜ ํ•œ๊ตญ์–ด/์˜์–ด ๋ฌธ์ž์—ด
  • Sources/NotchUsage/Views.swift โ€” ์ปดํŒฉํŠธ/ํ™•์žฅ SwiftUI ๋ทฐ, ํ‘œ์‹œ ํ† ๊ธ€, HP๋ฐ”
  • install.sh โ€” ๋ฆด๋ฆฌ์Šค ๋นŒ๋“œ โ†’ .app ๋ฒˆ๋“ค ์ƒ์„ฑ (+ --autostart๋กœ LaunchAgent ๋“ฑ๋ก)

Reviews (0)

No results found