# claude-dashboard

- **작성자:** 아파치
- **날짜:** 2026-02-07 23:56
- **게시판:** 팁 & 스킬스
- **조회:** 176

---

# claude-dashboard

[](https://github.com/uppinote20/claude-dashboard?tab=readme-ov-file#claude-dashboard)

[![License](https://camo.githubusercontent.com/815efe911b69c2754d7654c38940c166aa9f493f83c603c7d72a7aecf5f6c93c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f757070696e6f746532302f636c617564652d64617368626f617264)](https://camo.githubusercontent.com/815efe911b69c2754d7654c38940c166aa9f493f83c603c7d72a7aecf5f6c93c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f757070696e6f746532302f636c617564652d64617368626f617264) [![Stars](https://camo.githubusercontent.com/9362201227e65d22990b174ff9678b696a0bec12c045174a6d9a3121cadfecca/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f757070696e6f746532302f636c617564652d64617368626f617264)](https://camo.githubusercontent.com/9362201227e65d22990b174ff9678b696a0bec12c045174a6d9a3121cadfecca/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f757070696e6f746532302f636c617564652d64617368626f617264)

Comprehensive status line plugin for Claude Code with context usage, API rate limits, cost tracking, and modular widget system.

## Demo

[](https://github.com/uppinote20/claude-dashboard?tab=readme-ov-file#demo)

[![Demo](https://github.com/uppinote20/claude-dashboard/raw/main/demo.gif)](https://github.com/uppinote20/claude-dashboard/blob/main/demo.gif)

## Features

[](https://github.com/uppinote20/claude-dashboard?tab=readme-ov-file#features)

*   🤖 **Model Display**: Shows current model (Opus, Sonnet, Haiku) with effort level for Opus
*   📊 **Progress Bar**: Color-coded context usage (green → yellow → red)
*   📈 **Token Count**: Current/total tokens in K/M format
*   💰 **Cost Tracking**: Cumulative session cost in USD
*   ⏱️ **Rate Limits**: 5h session limit with reset countdown, 7d usage (supports day units: 3d2h)
*   📁 **Project Info**: Directory name with git branch (\* for uncommitted changes)
*   🔧 **Config Counts**: CLAUDE.md, rules, MCPs, hooks counts
*   ⚙️ **Tool Activity**: Running/completed tools tracking
*   ⏱️ **Session Duration**: Session time tracking
*   🤖 **Agent Status**: Subagent progress tracking
*   ✓ **Todo Progress**: Task completion rate
*   🔥 **Burn Rate**: Token consumption per minute
*   📦 **Cache Hit**: Cache hit rate percentage
*   ⏳ **Depletion Time**: Estimated time to rate limit
*   🔷 **Codex Usage**: OpenAI Codex CLI usage (model, 5h/7d limits) - auto-detected
*   💎 **Gemini Usage**: Google Gemini CLI usage (model, usage %) - auto-detected
*   🟠 **Z.ai/ZHIPU Usage**: z.ai/ZHIPU GLM usage (5h tokens, 1m MCP) - auto-detected
*   🌐 **i18n**: English and Korean support (auto-detect)
*   📐 **Multi-line**: Compact (1), Normal (2), Detailed (4) line modes

### Coming Soon

[](https://github.com/uppinote20/claude-dashboard?tab=readme-ov-file#coming-soon)

*   🎨 **Color Themes**: Choose from multiple color themes (pastel, classic, high-contrast)

## Output Examples

[](https://github.com/uppinote20/claude-dashboard?tab=readme-ov-file#output-examples)

**Compact (1 line) - Default:**

[![Compact](https://github.com/uppinote20/claude-dashboard/raw/main/images/compact.png)](https://github.com/uppinote20/claude-dashboard/blob/main/images/compact.png)

**Normal (2 lines):**

[![Normal](https://github.com/uppinote20/claude-dashboard/raw/main/images/normal.png)](https://github.com/uppinote20/claude-dashboard/blob/main/images/normal.png)

**Detailed (4 lines):**

[![Detailed](https://github.com/uppinote20/claude-dashboard/raw/main/images/detailed.png)](https://github.com/uppinote20/claude-dashboard/blob/main/images/detailed.png)

> `*` after branch name indicates uncommitted changes in git

**With z.ai/ZHIPU (zaiUsage replaces rateLimit widgets on line 1):**

```
🟠 GLM │ ████████░░ 80% │ 160K/200K │ $1.25 │ 5h: 42% (2h30m) │ 1m: 15% (25d3h)
📁 project (main*) │ ⏱ 45m │ 🔥 351/min │ ⏳ ~2h30m │ ✓ 3/5
CLAUDE.md: 2 │ ⚙️ 12 done │ 🤖 Agent: 1 │ 📦 85%
codexUsage, geminiUsage (if installed)
```

> 🟠 indicates z.ai/ZHIPU provider. `zaiUsage` widget shows 5-hour token usage and monthly MCP usage with reset countdown, replacing `rateLimit*` widgets.

## Installation

[](https://github.com/uppinote20/claude-dashboard?tab=readme-ov-file#installation)

### From Plugin Marketplace

[](https://github.com/uppinote20/claude-dashboard?tab=readme-ov-file#from-plugin-marketplace)

```
/plugin marketplace add uppinote20/claude-dashboard
/plugin install claude-dashboard
/claude-dashboard:setup
```

### Manual Installation

[](https://github.com/uppinote20/claude-dashboard?tab=readme-ov-file#manual-installation)

1.  Clone the repository:

git clone https://github.com/uppinote20/claude-dashboard.git ~/.claude/plugins/claude-dashboard

2.  Run setup:

```
/claude-dashboard:setup
```

## Configuration

[](https://github.com/uppinote20/claude-dashboard?tab=readme-ov-file#configuration)

### Interactive Mode

[](https://github.com/uppinote20/claude-dashboard?tab=readme-ov-file#interactive-mode)

Run `/claude-dashboard:setup` without arguments to use interactive mode:

```
/claude-dashboard:setup
→ Display mode? [compact/normal/detailed/custom]
→ (For custom: select widgets for each line)
```

> **Note**: Interactive mode is best for preset selection (compact/normal/detailed). For custom mode, widget order follows the option list order, and only 4 widgets can be shown per question. For full control, use **Direct Mode** or edit the JSON file.

### Direct Mode

[](https://github.com/uppinote20/claude-dashboard?tab=readme-ov-file#direct-mode)

# Preset modes
/claude-dashboard:setup compact             # 1 line (default)
/claude-dashboard:setup normal en pro       # 2 lines, English, Pro plan
/claude-dashboard:setup detailed ko max     # 3 lines, Korean, Max plan

# Custom mode: full control over widget order and line composition
# Format: "widget1,widget2,...|widget3,widget4,..." (| separates lines)
/claude-dashboard:setup custom auto max "model,context,cost|projectInfo,todoProgress"
/claude-dashboard:setup custom auto max "model,projectInfo,cost,rateLimit5h"  # 1 line, custom order
/claude-dashboard:setup custom auto max "context,model|todoProgress,sessionDuration|configCounts"  # 3 lines

### Available Widgets

[](https://github.com/uppinote20/claude-dashboard?tab=readme-ov-file#available-widgets)

Widget

Description

`model`

Model name with emoji, effort level for Opus (H/M/L)

`context`

Progress bar, percentage, tokens

`cost`

Session cost in USD

`rateLimit5h`

5-hour rate limit

`rateLimit7d`

7-day rate limit (Max only)

`rateLimit7dSonnet`

7-day Sonnet limit (Max only)

`projectInfo`

Directory name + git branch (\* if dirty)

`configCounts`

CLAUDE.md, rules, MCPs, hooks

`sessionDuration`

Session duration

`toolActivity`

Running/completed tools

`agentStatus`

Subagent progress

`todoProgress`

Todo completion rate

`burnRate`

Token consumption per minute

`cacheHit`

Cache hit rate percentage

`depletionTime`

Estimated time to rate limit (approx)¹

`codexUsage`

OpenAI Codex CLI usage (auto-hide if not installed)²

`geminiUsage`

Google Gemini CLI usage - current model (auto-hide if not installed)³

`geminiUsageAll`

Google Gemini CLI usage - all models (auto-hide if not installed)³

`zaiUsage`

z.ai/ZHIPU usage (auto-hide if not using z.ai)⁴

> ¹ **Depletion time approximation**: Assumes all current utilization came from this session. May be inaccurate if session started with pre-existing usage or multiple concurrent sessions are running. Estimate improves as session runs longer.
> 
> ² **codexUsage**: Auto-hides if Codex CLI is not installed (~/.codex/auth.json)
> 
> ³ **geminiUsage**: Auto-hides if Gemini CLI is not installed (~/.gemini/oauth\_creds.json)
> 
> ⁴ **zaiUsage**: Auto-hides if not using z.ai/ZHIPU (detected via ANTHROPIC\_BASE\_URL)

### Display Mode Presets

[](https://github.com/uppinote20/claude-dashboard?tab=readme-ov-file#display-mode-presets)

Mode

Lines

Line 1

Line 2

Line 3

Line 4

`compact`

1

model, context, cost, rateLimit5h\*, rateLimit7d\*, rateLimit7dSonnet\*, zaiUsage\*

\-

\-

\-

`normal`

2

(same as compact)

projectInfo, sessionDuration, burnRate, todoProgress

\-

\-

`detailed`

4

(same as normal)

(same as normal) + depletionTime

configCounts, toolActivity, agentStatus, cacheHit

codexUsage, geminiUsage

> \* `zaiUsage` and `rateLimit*` widgets are mutually exclusive based on provider detection

### Configuration File

[](https://github.com/uppinote20/claude-dashboard?tab=readme-ov-file#configuration-file)

Settings are stored in `~/.claude/claude-dashboard.local.json`:

{
  "language": "auto",
  "plan": "max",
  "displayMode": "compact",
  "cache": {
    "ttlSeconds": 60
  }
}

**Custom configuration:**

{
  "language": "auto",
  "plan": "max",
  "displayMode": "custom",
  "lines": \[
    \["model", "context", "cost", "rateLimit5h"\],
    \["projectInfo", "todoProgress"\]
  \],
  "cache": {
    "ttlSeconds": 60
  }
}

## Requirements

[](https://github.com/uppinote20/claude-dashboard?tab=readme-ov-file#requirements)

*   **Claude Code** v1.0.80+
*   **Node.js** 18+

## Color Legend

[](https://github.com/uppinote20/claude-dashboard?tab=readme-ov-file#color-legend)

Color

Usage %

Meaning

🟢 Green

0-50%

Safe

🟡 Yellow

51-80%

Warning

🔴 Red

81-100%

Critical

## Plan Differences

[](https://github.com/uppinote20/claude-dashboard?tab=readme-ov-file#plan-differences)

Feature

Max

Pro

5h rate limit

✅

✅

Reset countdown

✅

✅

7d all models

✅

❌

## Troubleshooting

[](https://github.com/uppinote20/claude-dashboard?tab=readme-ov-file#troubleshooting)

### Status line not showing

[](https://github.com/uppinote20/claude-dashboard?tab=readme-ov-file#status-line-not-showing)

1.  Check if plugin is installed: `/plugin list`
2.  Verify settings.json has statusLine config
3.  Restart Claude Code

### Rate limits showing ⚠️

[](https://github.com/uppinote20/claude-dashboard?tab=readme-ov-file#rate-limits-showing-%EF%B8%8F)

*   API token may be expired - re-login to Claude Code
*   Network issue - check internet connection
*   API rate limited - wait 60 seconds for cache refresh

### Wrong language

[](https://github.com/uppinote20/claude-dashboard?tab=readme-ov-file#wrong-language)

Run setup with explicit language:

```
/claude-dashboard:setup normal ko  # Korean
/claude-dashboard:setup normal en  # English
```

### Cache Issues

[](https://github.com/uppinote20/claude-dashboard?tab=readme-ov-file#cache-issues)

API response cache is stored in `~/.cache/claude-dashboard/`. To clear:

rm -rf ~/.cache/claude-dashboard/

Cache files are automatically cleaned up after 1 hour.

## Commands

[](https://github.com/uppinote20/claude-dashboard?tab=readme-ov-file#commands)

### `/claude-dashboard:setup`

[](https://github.com/uppinote20/claude-dashboard?tab=readme-ov-file#claude-dashboardsetup)

Configure the status line display mode, language, and plan. See [Configuration](https://github.com/uppinote20/claude-dashboard?tab=readme-ov-file#configuration) section above.

### `/claude-dashboard:check-usage`

[](https://github.com/uppinote20/claude-dashboard?tab=readme-ov-file#claude-dashboardcheck-usage)

Check usage limits for all AI CLIs (Claude, Codex, Gemini, z.ai) at once and get a recommendation for which CLI has the most available capacity.

# Interactive output with colors
/claude-dashboard:check-usage

# JSON output for scripting
/claude-dashboard:check-usage --json

# Specify language (en or ko)
/claude-dashboard:check-usage --lang ko

**Example output:**

[![check-usage](https://github.com/uppinote20/claude-dashboard/raw/main/images/check-usage.png)](https://github.com/uppinote20/claude-dashboard/blob/main/images/check-usage.png)

**JSON output (`--json`):**

[![check-usage-json](https://github.com/uppinote20/claude-dashboard/raw/main/images/check-usage-json.png)](https://github.com/uppinote20/claude-dashboard/blob/main/images/check-usage-json.png)

## Development

[](https://github.com/uppinote20/claude-dashboard?tab=readme-ov-file#development)

# Install dependencies
npm install

# Build
npm run build

# Test locally
echo '{"model":{"display\_name":"Opus"},"workspace":{"current\_dir":"/tmp"},"context\_window":{"context\_window\_size":200000,"current\_usage":{"input\_tokens":50000,"output\_tokens":0,"cache\_creation\_input\_tokens":0,"cache\_read\_input\_tokens":0}},"cost":{"total\_cost\_usd":0.5}}' | node dist/index.js

## License

[](https://github.com/uppinote20/claude-dashboard?tab=readme-ov-file#license)

MIT

---
*원본: https://www.openclaw.kr/boards/free/posts/claude-dashboard-h259e*