Skip to main content

Terminal dashboard for Claude Code: token usage + agent status with pixel sprites

Project description

Claude Code Dashboard

Python PyPI License

Claude Code Dashboard 是一個終端介面(TUI)工具,整合兩大功能於同一畫面:

  1. Token 用量面板 — 直接延用 claude-monitor (ccm) 的即時用量介面,顯示費用、Token 消耗量、燃燒率、預測等
  2. Agent 狀態面板 — 受 Pixel Agents 啟發,以像素精靈動畫顯示每個 Claude Code 工作階段的即時狀態

Claude Code Dashboard


功能特色

  • 即時刷新 — 畫面以 2 Hz 更新,資料依指定間隔掃描
  • 像素精靈動畫 — 5 種狀態各有兩幀動畫,使用 Unicode Braille 字元渲染(無需圖片協議支援)
  • 多工作階段偵測 — 同一專案可同時顯示多個 Agent(自動編號 #1, #2, ...)
  • 檔案式偵測 — 以 JSONL mtime 判斷工作階段存活,支援 macOS / Linux / Windows
  • 雙主題切換 — Token 面板支援預設佈局與 ccm 原版介面兩種主題
  • 12 / 24 小時制 — 時間顯示格式可透過 --time-format 切換
  • 多語系支援 — 自動偵測系統語系,支援英文、繁體中文、簡體中文、日文、韓文,可透過 --lang 切換
  • 跨終端相容 — 純 Unicode 文字輸出,VS Code 終端、iTerm2、Terminal.app 皆可使用

專案架構

claude-code-dashboard/
├── pyproject.toml
├── README.md
├── LICENSE
├── .gitignore
└── src/
    └── claude_code_dashboard/
        ├── __init__.py
        ├── __main__.py
        ├── cli.py                    # CLI 引數解析(argparse)
        ├── constants.py              # 全域常數(門檻值、預設值、顯示設定)
        ├── app.py                    # 主迴圈(Rich Live 即時刷新)
        ├── token_panel.py            # Token 面板(預設佈局 + ccm 原版主題)
        ├── agent_scanner.py          # 工作階段掃描(JSONL mtime 偵測)
        ├── agent_parser.py           # JSONL 解析(推斷 Agent 狀態)
        ├── agent_panel.py            # Agent 面板(精靈卡片渲染)
        ├── sprites.py                # 像素精靈定義與 Braille 渲染引擎
        └── messages.py               # 多語系訊息定義(EN / ZH_TW / ZH_CN / JA / KO)

模組依賴關係

graph TD
    CLI["cli.py<br/><i>CLI 引數解析</i>"] --> APP["app.py<br/><i>Rich Live 主迴圈</i>"]
    APP --> TP["token_panel.py<br/><i>Token 面板</i>"]
    APP --> AP["agent_panel.py<br/><i>Agent 面板</i>"]
    TP --> CCM["claude_monitor<br/><i>外部套件</i>"]
    AP --> PARSE["agent_parser.py<br/><i>JSONL 解析</i>"]
    AP --> SCAN["agent_scanner.py<br/><i>工作階段掃描</i>"]
    AP --> SPRITE["sprites.py<br/><i>Braille 渲染</i>"]
    PARSE --> CONST["constants.py<br/><i>全域常數</i>"]
    AP --> CONST
    SCAN --> CONST
    APP --> MSG["messages.py<br/><i>多語系訊息</i>"]
    TP --> MSG
    AP --> MSG
    PARSE --> MSG
    CONST --> MSG

    style CCM stroke:#999,stroke-dasharray: 5 5

Agent 偵測流程

flowchart TD
    A["掃描 ~/.claude/projects/\*/\*.jsonl"] --> B{"mtime 在時限內?"}
    B -- 否 --> Z["跳過"]
    B -- 是 --> C{"mtime < 30 秒?"}
    C -- 是 --> D["✅ 視為存活"]
    C -- 否 --> E["❌ 視為非活躍"]
    D --> J["讀取 JSONL 尾端 32KB"]
    E --> J
    J --> K{"有 tool_use<br/>無 tool_result?"}
    K -- 是 --> L{"非豁免工具<br/>且超過 7 秒?"}
    L -- 是 --> M["⏳ 等待授權"]
    L -- 否 --> N["✍ 工作中"]
    K -- 否 --> O{"最後為純文字?"}
    O -- 是 --> P{"超過 5 秒?"}
    P -- 是 --> Q["💬 等待輸入"]
    P -- 否 --> R["🧠 思考中"]
    O -- 否 --> S["💤 閒置"]

各模組職責

模組 職責
cli.py 定義 CLI 參數、進入點
app.py Rich Live 主迴圈,組合所有面板
token_panel.py Token 用量面板(預設主題:預設進度條 + 雙欄佈局;ccm 主題:原版介面)
agent_scanner.py 掃描 ~/.claude/projects/ 的 JSONL 檔案,以 mtime 判斷存活
agent_parser.py 讀取 JSONL 尾端 32KB,推斷工具使用狀態與 Agent 狀態
agent_panel.py 將工作階段與狀態組合為 Rich Panel 卡片
sprites.py 定義 14×12 像素網格,轉換為 Unicode Braille 字元
constants.py 所有門檻值、計時器、顏色、預設值的集中管理
messages.py 多語系訊息定義(Messages dataclass + EN/ZH_TW/ZH_CN/JA/KO 實例 + 語系自動偵測)

安裝方式

前置需求

  • macOS / Linux / Windows(需先安裝 Claude Code
  • Python 3.9+
  • uv — 新一代 Python 套件管理器(以 Rust 實作,速度極快)
  • claude-monitor (ccm) — Token 用量追蹤(安裝時自動安裝)

什麼是 uv?

uv 是 Astral 開發的 Python 套件管理器,用來取代 pipvenvpipx 等工具。 它會自動管理虛擬環境與相依套件,安裝速度比 pip 快 10–100 倍。

  • uv tool install <pkg> — 將套件安裝為全域命令列工具(類似 npm install -g
  • uv run <cmd> — 在專案的虛擬環境中執行命令(類似 npx
  • uv pip install <pkg> — 傳統 pip 的加速替代方案

安裝 uv:curl -LsSf https://astral.sh/uv/install.sh | sh

方法一:uv tool install(推薦)

claude-code-dashboard 安裝為全域命令列工具,自動建立隔離的虛擬環境

從 PyPI 安裝(推薦):

uv tool install claude-code-dashboard

或從本機原始碼安裝:

cd claude-code-dashboard
uv tool install .

安裝完成後,在任何目錄都可直接執行(全名或縮寫皆可):

claude-dash --plan max5
# 或
ccd --plan max5

更新到最新版:

uv tool upgrade claude-code-dashboard

方法二:uv run(開發用途)

不安裝,直接在專案目錄中執行。uv 會自動建立 .venv 並安裝相依套件

cd claude-code-dashboard
uv run claude-dash --plan max5
# 或 uv run ccd --plan max5

方法三:pip install(傳統方式)

cd claude-code-dashboard
python -m venv .venv && source .venv/bin/activate
pip install .
claude-dash --plan max5
# 或 ccd --plan max5

使用方式

名稱對照:本專案使用三個名稱,語境不同請對應使用。

語境 名稱 範例
PyPI 套件 / 專案目錄 claude-code-dashboard pip install claude-code-dashboardcd claude-code-dashboard
指令(全名) claude-dash claude-dash --plan max5
指令(縮寫) ccd ccd --plan max5

基本使用

以下範例以 claude-dash 為例,亦可改用縮寫 ccd

# 顯示所有面板(Token + Agent),使用 max5 方案
claude-dash --plan max5

# 僅顯示 Agent 面板
claude-dash --view agents

# 僅顯示 Token 面板
claude-dash --view tokens

CLI 參數一覽

參數 預設值 說明
--plan max5 Token 方案等級:pro / max5 / max20 / custom
--timezone Asia/Taipei IANA 時區名稱
--view all 顯示面板:all / tokens / agents
--refresh 10 資料刷新間隔(秒)
--idle-timeout 10 隱藏閒置超過 N 分鐘的 Agent
--max-agents 0 最多顯示的 Agent 卡片數量(0=不限)
--show-all false 顯示 30 分鐘內的所有工作階段
--no-sprites false 停用像素精靈,改用純文字模式
--token-theme default Token 面板主題:default / ccm
--time-format 24h 時間格式:24h / 12h(上午/下午)
--lang auto 介面語系:auto / en / zh_TW / zh_CN / ja / ko
--version 顯示版本號

使用範例

# 快速刷新,顯示所有工作階段
claude-dash --plan max5 --refresh 5 --show-all

# 純文字模式(適合螢幕閱讀器或低解析度終端)
claude-dash --view agents --no-sprites

# 僅顯示最多 4 個 Agent
claude-dash --max-agents 4

# 使用不同時區
claude-dash --timezone America/New_York

# 切換為 ccm 原版 Token 面板主題
claude-dash --token-theme ccm

# 使用 12 小時制時間格式
claude-dash --time-format 12h

# 指定繁體中文介面
claude-dash --lang zh_TW

# 指定日文介面
claude-dash --lang ja

運作原理

Token 面板

提供兩種主題(透過 --token-theme 切換):

  • default:預設的進度條 + 響應式雙欄佈局。上半部顯示 Cost / Tokens / Messages 三列全寬進度條;下半部為左右並排的 Models 堆疊色條 + Burn Rate 與 Reset In 倒數計時 + Predictions 時間預估。窄螢幕自動轉為單欄。
  • ccm:直接匯入 ccm 的 DisplayController.create_data_display() 方法,顯示效果與 ccm --view realtime 完全相同。

像素精靈渲染

使用 Unicode Braille 字元(U+2800–U+28FF)實現終端機中的「像素級」繪圖:

  • 每個 Braille 字元編碼 2×4 的點陣矩陣(8 個像素點)
  • 比一般方塊字元精細 8 倍
  • 14×12 像素的精靈網格渲染為 7 字元寬 × 3 行高
  • 每個 2×4 區塊以「多數決」選出代表顏色
  • 支援 7 種顏色(膚色、頭髮、上衣、褲子、強調色、家具、特效)
  • 每種狀態有 2 幀動畫,以 0.5 秒間隔交替

為什麼不用 Sixel / Kitty 圖片協議? 因為 VS Code 內建終端不支援任何圖片協議。Braille 字元是純 Unicode 文字,在所有終端都能正確顯示。


開發與發佈

詳見 CONTRIBUTING.md


致謝

本專案的靈感與技術基礎來自以下開源專案:

  • claude-monitor (ccm) — Token 用量面板直接呼叫 ccm 的 API,感謝 Maciej 提供優秀的 Token 追蹤工具(MIT License)
  • Pixel Agents — Agent 狀態偵測的啟發式邏輯與像素精靈概念源自此 VS Code 擴充套件,感謝 Pablo De Lucca 的創意(MIT License)

授權條款

本專案採用 MIT License 授權。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

claude_code_dashboard-1.0.0.tar.gz (1.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

claude_code_dashboard-1.0.0-py3-none-any.whl (44.9 kB view details)

Uploaded Python 3

File details

Details for the file claude_code_dashboard-1.0.0.tar.gz.

File metadata

  • Download URL: claude_code_dashboard-1.0.0.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for claude_code_dashboard-1.0.0.tar.gz
Algorithm Hash digest
SHA256 5b9688414a4353976f0330e357daa3aeae878634e69bcbafe416d9eebcbfa4d1
MD5 04fe8368016b04cfe5041247b19c385a
BLAKE2b-256 e73a8a2ae369f67ac6e358a0b9d1ec1d6517d1899461f3f760855748fbcffceb

See more details on using hashes here.

File details

Details for the file claude_code_dashboard-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: claude_code_dashboard-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 44.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for claude_code_dashboard-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6e4dca45caf03c1b7937126963553a30422b8dc816a4dec050ec9e04de0e06b5
MD5 bf69abbdeeba89dfa06f96c29be1271f
BLAKE2b-256 c8a9ffaa4f0f4a0d4ff871ab3aaea27ab57c7b6cb3c562f219f4562a66e8cd0e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page