主题
状态栏增强(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/cclinebash
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/cclinebash
cargo install ccometixline启用
~/.claude/settings.json:
json
{
"statusLine": {
"command": "ccline"
}
}或交互式让 Claude Code 自己装:
/statuslineClaude 会引导你完成安装。
字体要求
CCometixLine 用了图标,需要 Nerd Font(带图标的字体):
| 终端 | 推荐字体 |
|---|---|
| iTerm2 / Terminal.app | JetBrainsMono Nerd Font |
| Alacritty | FiraCode Nerd Font |
| Windows Terminal | CaskaydiaCove 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/CCometixLine | Rust | 最快,主题多,社区活跃 |
| sirmalloc/ccstatusline | TypeScript | Powerline 风格,配置灵活 |
| chongdashu/cc-statusline | Bash | 极简,无依赖 |
| daniel3303/ClaudeCodeStatusLine | Python | 实时 rate limit 显示 |
| ding113/ccline-packycc | Rust | PackyCode 专用变体 |
自己写 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 决策。
常见问题
状态栏不显示
~/.claude/settings.json里有statusLine.command字段- 重启 claude
- 终端宽度够吗(< 80 字符可能被截断)
图标显示成方块
字体没换 Nerd Font,看上面"字体要求"。
数字不更新
某些 statusline 工具有缓存延迟,等 1-2 秒。CCometixLine 实时刷新。
