{
  "markdown": "# agent-status-tmux\n\nDisplay AI coding agent usage (tokens, cost, duration) in your tmux status bar. Supports **Claude Code** and **Gemini CLI** simultaneously.\n\n<!-- screenshot: replace with your own after install -->\n![tmux status bar showing Claude and Gemini usage](screenshot.png)\n\n```\n◆ claude │ 8% │ 80k │ $3.50 │ 22m │ 5h:12% 7d:32%  ◇ gemini │ 1% │ 9k │ ~$0.01 │ 2m\n```\n\n## Quick Start\n\n**One-liner** (no git clone needed):\n\n```bash\ncurl -fsSL tmux.jimmyliao.net/install | bash\n```\n\nOr manually:\n\n```bash\ngit clone https://github.com/jimmyliao/agent-status-tmux.git\ncd agent-status-tmux\n./scripts/install.sh\n```\n\nThat's it. Every tmux session (`tmux new -s xxx`) will automatically show AI status. Works whether your status bar is at the top or bottom.\n\nInstalls to `~/.agent-status-tmux` by default. Override with `AGENT_STATUS_TMUX_DIR=/your/path`.\n\n## Requirements\n\n- **tmux >= 3.2** (hex color `#[fg=#rrggbb]` support; tested on 3.4–3.6)\n- **jq**\n- Claude Code and/or Gemini CLI\n\n## Features\n\n- Real-time token usage, cost, and session duration in tmux status-right\n- Claude Code: context %, tokens, actual cost, duration, rate limits (5h/7d)\n- Gemini CLI: context %, tokens, estimated cost, duration\n- Shows both providers simultaneously when both are active\n- Process-aware: detects running AI sessions, not just stale cache files\n- Gemini CLI Extension with AfterAgent/SessionStart hooks\n- Fallback: direct-reads Gemini chat recordings when hooks are unavailable\n- Tokyo Night color scheme (customizable)\n\n## Installation Details\n\n```bash\ngit clone https://github.com/jimmyliao/agent-status-tmux.git\ncd agent-status-tmux\n./scripts/install.sh\n```\n\nThe install script will:\n\n1. Create cache directory (`~/.cache/ai-usage/`)\n2. Patch `~/.claude/statusline.sh` to write session data (with backup)\n3. Update `~/.tmux.conf` to display AI status (with backup)\n4. Link the Gemini CLI extension (if Gemini CLI is installed)\n5. Reload tmux config\n\nAll modifications are idempotent and create timestamped backups.\n\nOnce installed, **every new tmux session** (`tmux new -s xxx`) automatically shows AI status — no extra setup needed. The config lives in `~/.tmux.conf` which tmux loads on startup.\n\n> **Note:** You don't need to be inside tmux to run `install.sh`. The cache-writing patches (Claude statusline, Gemini hooks) work independently. You just need tmux running to see the display.\n\n### Gemini CLI Extension\n\nThe installer automatically runs `gemini extensions link` to register the extension. If you installed Gemini CLI after running install.sh, link manually:\n\n```bash\ngemini extensions link /path/to/agent-status-tmux\n```\n\nVerify with:\n\n```bash\ngemini extensions list\n```\n\nThe extension provides `AfterAgent` and `SessionStart` hooks that write token data to `~/.cache/ai-usage/gemini.json` after each turn.\n\n## How It Works\n\n```\nClaude Code                    Gemini CLI\n     │                              │\n     ▼                              ▼\nstatusline.sh                 AfterAgent hook\n(patched, 3 lines)            (or fallback reader)\n     │                              │\n     ▼                              ▼\n~/.cache/ai-usage/            ~/.cache/ai-usage/\n  claude.json                   gemini.json\n     │                              │\n     └──────────┬───────────────────┘\n                ▼\n      ai-tmux-status.sh\n      (called by tmux every 5s)\n                │\n                ▼\n        tmux status-right\n```\n\n## Display Format\n\n| Provider | Fields |\n|----------|--------|\n| Claude | context % ・ tokens ・ cost ・ duration ・ 5h rate ・ 7d rate |\n| Gemini | context % ・ tokens ・ ~estimated cost ・ duration |\n\nActive detection: process alive + cache exists, or cache mtime < 5 minutes after process exits.\n\n## File Structure\n\n```\nagent-status-tmux/\n├── gemini-extension.json       # Gemini CLI extension manifest\n├── hooks/\n│   └── hooks.json              # AfterAgent + SessionStart hooks\n├── scripts/\n│   ├── after-agent.sh          # Gemini hook: extract tokens from transcript\n│   ├── session-start.sh        # Gemini hook: initialize session\n│   ├── gemini-reader.sh        # Fallback: read Gemini chat recordings\n│   ├── ai-tmux-status.sh       # tmux status-right script (core)\n│   └── install.sh              # One-command installer\n├── LICENSE\n├── PLAN.md\n└── README.md\n```\n\n## Uninstall\n\nRestore from backups created during installation:\n\n```bash\n# Check for backups\nls ~/.claude/statusline.sh.bak.*\nls ~/.tmux.conf.bak.*\n\n# Restore\ncp ~/.claude/statusline.sh.bak.<timestamp> ~/.claude/statusline.sh\ncp ~/.tmux.conf.bak.<timestamp> ~/.tmux.conf\ntmux source-file ~/.tmux.conf\n```\n\n## License\n\nMIT\n\n---\n\n# agent-status-tmux（繁體中文）\n\n在 tmux 狀態列顯示 AI 編程助手的使用量（tokens、費用、時間），同時支援 **Claude Code** 和 **Gemini CLI**。\n\n<!-- 截圖：安裝後替換為你自己的 -->\n![tmux 狀態列顯示 Claude 和 Gemini 使用量](screenshot.png)\n\n```\n◆ claude │ 8% │ 80k │ $3.50 │ 22m │ 5h:12% 7d:32%  ◇ gemini │ 1% │ 9k │ ~$0.01 │ 2m\n```\n\n## 快速開始\n\n**一行安裝**（不需要 git clone）：\n\n```bash\ncurl -fsSL tmux.jimmyliao.net/install | bash\n```\n\n或手動：\n\n```bash\ngit clone https://github.com/jimmyliao/agent-status-tmux.git\ncd agent-status-tmux\n./scripts/install.sh\n```\n\n就這樣。每個 tmux session（`tmux new -s xxx`）都會自動顯示 AI 狀態。不管 status bar 在上方或下方都能用。\n\n預設安裝到 `~/.agent-status-tmux`。可用 `AGENT_STATUS_TMUX_DIR=/your/path` 自訂路徑。\n\n## 需求\n\n- **tmux >= 3.2**（hex 色碼支援；已測試 3.4–3.6）\n- **jq**\n- Claude Code 和/或 Gemini CLI\n\n## 功能\n\n- 即時顯示 token 用量、費用、Session 時長\n- Claude Code：context %、tokens、實際費用、時長、頻率限制（5h/7d）\n- Gemini CLI：context %、tokens、估算費用、時長\n- 兩個 provider 可同時顯示\n- 偵測 process 是否存活，非僅依賴快取時間\n- Gemini CLI Extension 提供 AfterAgent/SessionStart hooks\n- Fallback 機制：hooks 未安裝時直讀 Gemini chat recording 檔案\n\n## 安裝詳情\n\n```bash\ngit clone https://github.com/jimmyliao/agent-status-tmux.git\ncd agent-status-tmux\n./scripts/install.sh\n```\n\n安裝腳本會自動：\n1. 建立快取目錄 `~/.cache/ai-usage/`\n2. 修改 `~/.claude/statusline.sh`（寫入 session 資料，已備份）\n3. 更新 `~/.tmux.conf`（顯示 AI 狀態，已備份）\n4. 連結 Gemini CLI Extension（若已安裝 Gemini CLI）\n5. 重新載入 tmux 設定\n\n安裝後，**每個新的 tmux session**（`tmux new -s xxx`）都會自動顯示 AI 狀態，不需額外設定。\n\n> **備註：** 不需要在 tmux 裡面執行 `install.sh`。快取寫入（Claude statusline、Gemini hooks）獨立運作，只有顯示需要 tmux。\n\n### Gemini CLI Extension\n\n安裝腳本會自動執行 `gemini extensions link`。若之後才安裝 Gemini CLI，手動連結：\n\n```bash\ngemini extensions link /path/to/agent-status-tmux\ngemini extensions list  # 驗證\n```\n\n## 授權\n\nMIT\n",
  "bytes": 6313,
  "sha": "2b6b0f16b35bd4a39d3291edefdc4d11a9093d6006ce1c1f1631578344246ce8",
  "repo_slug": "jimmyliao/agent-status-tmux",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_jimmyliao_agent_status_tmux_9e40451d/readme"
}