Skip to content

状态栏增强(Statusline)

让 Claude Code 终端底部显示实时信息:当前模型、Git 分支、token 用量、限速进度等。

不只是好看

看到上下文用量 → 知道何时 /compact;看到模型 → 防止误用 Opus 烧钱;看到 Git 分支 → 避免改错分支。实用性 > 装饰性

顶级选择:CCometixLine

Haleclipse/CCometixLine — Rust 写的高性能状态栏,目前最强

显示信息

🌿 main │ 🤖 opus-4-7 │ 📊 23.5k/200k (12%) │ 💰 $0.42

包含:

  • 当前 Git 分支 + 改动状态
  • 当前模型名
  • 上下文用量(已用/总量 + 百分比)
  • 本次会话累计成本
  • 限速进度(如已订阅 Max 等)

安装

bash
npm install -g @cometix/ccline
bash
mkdir -p ~/.claude/ccline
# 从 release 下载对应平台二进制
curl -fsSL -o ~/.claude/ccline/ccline \
  https://github.com/Haleclipse/CCometixLine/releases/latest/download/ccline-linux-x86_64
chmod +x ~/.claude/ccline/ccline
bash
cargo install ccometixline

启用

~/.claude/settings.json

json
{
  "statusLine": {
    "command": "ccline"
  }
}

或交互式让 Claude Code 自己装:

/statusline

Claude 会引导你完成安装。

字体要求

CCometixLine 用了图标,需要 Nerd Font(带图标的字体):

终端推荐字体
iTerm2 / Terminal.appJetBrainsMono Nerd Font
AlacrittyFiraCode Nerd Font
Windows TerminalCaskaydiaCove Nerd Font
Ghostty内置 Nerd Font

nerdfonts.com 下载。

主题

bash
ccline --theme cometix          # 默认
ccline --theme gruvbox          # 经典 vim 主题色
ccline --theme nord             # 北欧冷色
ccline --theme tokyo-night      # 紫调

或编辑 ~/.claude/ccline/config.toml

toml
theme = "gruvbox"

[modules.git]
enabled = true
show_dirty = true

[modules.model]
enabled = true
short_name = true     # 显示 "opus" 而非 "claude-opus-4-7"

[modules.tokens]
enabled = true
warning_threshold = 0.7    # 70% 上下文用量时变黄
critical_threshold = 0.9   # 90% 时变红

[modules.cost]
enabled = true
session_only = true

备选状态栏工具

工具语言特点
Haleclipse/CCometixLineRust最快,主题多,社区活跃
sirmalloc/ccstatuslineTypeScriptPowerline 风格,配置灵活
chongdashu/cc-statuslineBash极简,无依赖
daniel3303/ClaudeCodeStatusLinePython实时 rate limit 显示
ding113/ccline-packyccRustPackyCode 专用变体

自己写 statusline

~/.claude/settings.json

json
{
  "statusLine": {
    "command": "/path/to/your/script.sh"
  }
}

script.sh 必须输出一行文本(stdout):

bash
#!/bin/bash
MODEL="${CLAUDE_MODEL:-unknown}"
BRANCH=$(git branch --show-current 2>/dev/null || echo "no-git")
TOKENS="${CLAUDE_TOKENS_USED:-0}/${CLAUDE_TOKENS_TOTAL:-0}"
echo "🤖 $MODEL  🌿 $BRANCH  📊 $TOKENS"

Claude Code 每秒调一次刷新。

可用环境变量:

变量内容
$CLAUDE_MODEL当前模型
$CLAUDE_TOKENS_USED已用 token
$CLAUDE_TOKENS_TOTAL总 token 容量
$CLAUDE_CWD当前目录
$CLAUDE_SESSION_COST本次会话成本
$CLAUDE_PROJECT_NAME项目名(从 CLAUDE.md 读)

性能影响

CCometixLine 用 Rust 写,响应延迟 < 5ms,对 Claude Code 性能基本无影响。Bash 脚本版可能拖慢刷新(每秒重启进程)—— 用 Rust/Node 的常驻进程版更稳。

配合 Skills 一起用

写一个 /cost-warning skill:

markdown
---
name: cost-warning
description: 当 statusline 显示成本 > $1 时主动提醒用户
---

如果用户在会话中累计花费超过 $1,主动提示:
- 是否需要切换到更便宜的模型?
- 是否要 /compact 压缩历史?
- 是否要 /clear 重新开始?

不要在每条回复里都提,只在阈值触发时。

主 Claude 看到 statusline 信息,结合 skill 决策。

常见问题

状态栏不显示

  1. ~/.claude/settings.json 里有 statusLine.command 字段
  2. 重启 claude
  3. 终端宽度够吗(< 80 字符可能被截断)

图标显示成方块

字体没换 Nerd Font,看上面"字体要求"。

数字不更新

某些 statusline 工具有缓存延迟,等 1-2 秒。CCometixLine 实时刷新。

资源

内容采用 CC BY-NC-ND 4.0 协议 · 禁止商业使用 / 禁止改编 / 禁止训练 AI 模型