大家好,我是R哥。

使用 Claude Code 终端有一点不好就是,终端里信息密度很高,很多常用信息都需要敲命令才能看到,极不方便。

比如,总要敲 /status 看模型和思考程度,敲 /context 看上下文,要么凭感觉判断是不是该 /compact,等等,费时又费力。

虽然官方也支持使用 /statusline 命令自定义状态栏,但需要使用自然语言交流,还是通过脚本的形式,定制起来挺麻烦的。

今天我就推荐两个市面上比较火的状态栏工具,都是开源的,安装和配置比官方自带的都简单太多了,而且要更强、更美观。

它们都能给 Claude Code 装一个更好看的状态栏,把模型、目录、Git 分支、上下文、Token、用量这些信息,直接挂在终端底部。

装上状态栏之后,就不用来回切了,常用信息一眼就能看到。

Claude Code 安装和使用教程:

1、ccstatusline

ccstatusline 的安装和配置是最简单、最快的,官方提供了交互式配置界面,几乎不用动手写配置文件,而且比较灵活,配置起来非常方便、快速。

开源地址:

https://github.com/sirmalloc/ccstatusline

功能特性:

  • 📊 实时指标:实时显示模型名称、Git 分支、Token 使用量、各模型每周用量、额外使用额度、语音输入状态、会话时长、上下文压缩次数、阻塞计时器等信息。
  • 🎨 高度可定制:可自由选择显示内容,并为每个组件单独自定义颜色。
  • 支持 Powerline:提供精美的 Powerline 风格状态栏,支持箭头分隔符、端点样式及自定义字体。
  • 📐 支持多行状态栏:可配置多条相互独立的状态栏。
  • 🖥️ 交互式 TUI:内置基于 React/Ink 的交互式配置界面。
  • 🔎 快速组件选择器:支持按分类搜索并智能匹配,快速添加或切换状态栏组件。
  • ⚙️ 全局配置:支持统一设置所有组件的样式,包括内边距、分隔符、加粗、极简模式及颜色覆盖等。
  • 🚀 跨平台支持:同时兼容 Bun 和 Node.js 运行环境。
  • 🔧 灵活配置:支持通过 CLAUDE_CONFIG_DIR 环境变量指定自定义 Claude Code 配置目录。
  • 📏 智能宽度适配:自动适配终端宽度,并通过弹性分隔符优化布局。
  • 开箱即用:内置合理的默认配置,无需额外设置即可直接使用。

ccstatusline 最吸引我的地方,不是它花里胡哨,而是它把一些常用的信息放到了最显眼的位置,有了这些信息常驻,少敲命令,就是真正的效率。

安装方法

安装很简单,官方推荐直接用 npxbunx 启动配置界面。

如果你本机有 Node.js,可以直接执行:

# 使用 npx 启动 ccstatusline 配置界面。
# -y 表示自动确认安装临时依赖,不需要手动输入 yes。
# @latest 表示使用 npm 上最新发布的 ccstatusline。
npx -y ccstatusline@latest

如果你用 Bun,也可以这样:

# 使用 bunx 启动 ccstatusline 配置界面。
# bunx 和 npx 类似,都是临时运行 npm 包里的命令。
# 一般 Bun 启动会更快一点,但前提是你本机已经安装了 Bun。
bunx -y ccstatusline@latest

命令跑起来之后,会进入一个终端配置界面。

第一次安装时,按提示选择安装到 Claude Code,工具会帮你把 statusLine 配置写入 Claude Code 的 settings.json

如果你不想每次都跟着 @latest 自动更新,可以在安装流程里选择 Pinned global install。这样它会把当前版本固定安装到全局,后面直接执行:

# 打开已经全局安装好的 ccstatusline 配置界面。
# 适合选择过 Pinned global install 的用户。
ccstatusline

这个方式更稳一点,适合日常长期用。

配置指南

输入 ccstatusline 命令就能配置状态栏:

然后选择「Edit Lines」项回车,就可以在配置界面里添加、删除、调整状态栏组件:

最多可以添加 3 行状态栏,但是状态栏这东西,信息越多不一定越好,刚开始先保持清爽,后面再慢慢加。

所以,别一上来就塞满一整排。

我个人最建议先放这几项:

  • 模型:确认当前是不是你想用的模型。
  • 思考程度:确认当前模型的思考程度。
  • Git 分支:确认没改错分支。
  • 上下文:快满了就及时压缩。
  • 用量:避免一不小心把额度干穿。

以下是我自己的配置,供参考:

如果你喜欢更酷一点的终端风格,可以打开 Powerline 模式:

效果如下图所示:

不过我个人还是喜欢简洁点的,所以就没开 Powerline。

ccstatusline 会往 Claude Code 的配置里写入类似这样的内容:

{
  "statusLine": {
    // type 表示 Claude Code 要执行一个命令来生成状态栏。
    "type": "command",

    // command 是实际执行的命令。
    // 这里用 npx 运行 ccstatusline,由它读取会话 JSON 并渲染状态栏。
    "command": "npx -y ccstatusline@latest",

    // padding 控制状态栏左右缩进。
    // 设为 0 一般就够了,终端空间比较紧张时更清爽。
    "padding": 0,

    // refreshInterval 控制定时刷新间隔,单位是秒。
    // 比如显示时钟、用量重置倒计时这类信息时,定时刷新会更自然。
    "refreshInterval": 10
  }
}

这段不用你手写,走正常安装流程就行。

我放出来主要是为了让你知道它到底改了哪里。以后如果状态栏不显示,排查方向也很明确,可以先看 Claude Code 的 settings.json 里有没有 statusLine

配置文件一般在这里:

# Claude Code 用户级配置文件。
~/.claude/settings.json

ccstatusline 自己的配置一般保存在:

# ccstatusline 自己的样式和组件配置。
~/.config/ccstatusline/settings.json

以下是我自己的配置,供参考:

{
  "version": 3,
  "lines": [
    [
      {
        "id": "1",
        "type": "model",
        "color": "cyan"
      },
      {
        "id": "9bf7b6cb-12ae-4380-8216-cc70f7560ac1",
        "type": "thinking-effort"
      },
      {
        "id": "8c3eb2c4-15b4-472d-a1fa-125f8d009166",
        "type": "context-percentage"
      },
      {
        "id": "b0be5bdf-ad50-4e13-851f-59fb8174a345",
        "type": "git-branch"
      },
      {
        "id": "753b91ae-e939-44a4-bb70-b5412542f8e6",
        "type": "remote-control-status"
      }
    ],
    [
      {
        "id": "60a232da-9b74-43de-98d9-13c0753615fd",
        "type": "session-usage"
      },
      {
        "id": "98a1cd66-9da3-4753-8977-3525d042e2c5",
        "type": "reset-timer"
      },
      {
        "id": "7a0141be-d512-415c-84d3-2a8917875446",
        "type": "weekly-usage"
      },
      {
        "id": "0e449124-c3e7-483b-8f3a-13167b55fb59",
        "type": "weekly-reset-timer"
      }
    ],
    []
  ],
  "flexMode": "full-minus-40",
  "compactThreshold": 60,
  "colorLevel": 2,
  "defaultPadding": " ",
  "inheritSeparatorColors": false,
  "globalBold": false,
  "gitCacheTtlSeconds": 5,
  "minimalistMode": false,
  "powerline": {
    "enabled": false,
    "separators": [
      ""
    ],
    "separatorInvertBackground": [
      false
    ],
    "startCaps": [],
    "endCaps": [],
    "theme": "custom",
    "autoAlign": false,
    "continueThemeAcrossLines": false
  },
  "installation": {
    "method": "auto-update",
    "packageManager": "bun"
  },
  "defaultSeparator": "|"
}

所以,也可以通过这个配置文件,进行添加、删除、调整状态栏组件。

如何禁用

可以通过 ccstatusline 命令移除 Claude Code 的 statusLine 配置,或者直接把 settings.json 里的 statusLine 删除。

如果只想临时禁用,建议改配置文件,把 ~/.claude/settings.json 中的 statusLine 删除,或者改名即可:

"statusLine": {
    "type": "command",
    "command": "bunx -y ccstatusline@latest",
    "padding": 0,
    "refreshInterval": 10
}

比如,改成 statusLine1 状态栏就消失了。

2、claude-hud

claude-hud 也是最近比较火热的状态栏工具,功能和 ccstatusline 类似,但配置略微复杂一些,状态栏的配置也没有 ccstatusline 灵活。

开源地址:

https://github.com/jarrodwatts/claude-hud

安装方法

步骤 1:添加市场

/plugin marketplace add jarrodwatts/claude-hud

步骤 2:安装插件

/plugin install claude-hud

安装完成后,重新加载插件:

/reload-plugins

配置指南

使用下面的命令配置:

/claude-hud:setup

这个命令要和大模型进行交互,所以配置起来比较慢,而且不是固定的格式,命令后面可以跟自然语言,比如你想怎么定制这个状态栏,就直接告诉它。

原理都是一样的,claude-hud 也会往 Claude Code 的配置里写入 statusLine,然后通过它自己的命令来渲染状态栏。

claude-hud 的配置文件路径为:

~/.claude/plugins/claude-hud/config.json

以下是我自己的配置,供参考:

{
  "lineLayout": "expanded",
  "showSeparators": false,
  "elementOrder": ["project", "context", "usage", "addedDirs", "promptCache", "memory", "environment", "tools", "skills", "mcp", "agents", "todos", "sessionTime"],
  "display": {
    "showModel": true,
    "showContextBar": true,
    "showTools": false,
    "showAgents": true,
    "showTodos": true,
    "showProject": false,
    "showConfigCounts": false,
    "showTokenBreakdown": true,
    "showSpeed": false,
    "showUsage": true,
    "usageBarEnabled": true,
    "showSessionName": false,
    "showDuration": true,
    "showAddedDirs": false,
    "customLine": "",
    "showEffortLevel": true,
    "mergeGroups": [["project", "context"]]
  },
  "gitStatus": {
    "enabled": true,
    "showDirty": false,
    "showAheadBehind": false,
    "showFileStats": false
  }
}

效果如下:

如何禁用

和 ccstatusline 一样,可以通过 /plugin uninstall claude-hud 卸载插件,或者直接把 ~/.claude/settings.json 中的 statusLine 删除或者改名。

如果想临时关闭,官方也提供了环境变量 CLAUDE_HUD_DISABLE,启动 Claude 时进行设置:

CLAUDE_HUD_DISABLE=1 claude

这样启动 Claude 后,即可在本次会话中关闭 HUD,无需从 settings.json 中移除 statusLine 配置。不设置(或设为否定值:0falseoffno)则保持 HUD 启用。

写在最后

Claude Code 本身已经很强了,但它毕竟跑在终端里,信息密度很高。你一边让它改代码,一边还要盯着模型、上下文、目录、分支、成本、用量,时间一长,人就容易麻。

所以这一类状态栏的价值就是,把这套能力包装成了一个可配置的终端 UI,把一些关键状态常驻显示出来,不用你反复敲命令确认。

如果你也在重度使用 Claude Code,可以试试这类工具,因为 Claude Code 已经很强了,给它再装个好状态栏,就更强大了。

总的来说,ccstatusline 是最灵活、最简单、最炫酷的,官方的 /statusline 命令和 claude-hud 工具配置起来略微复杂,大家可以根据自己的喜好选择。

未完待续,R哥会继续分享更多 Claude Code、Codex、Grok、AI 编程等更多实战干货,关注「AI技术宅」公众号和我一起学 AI。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注