用过 Claude Code 的人大概都有过这样的体验:聊着聊着,回复质量突然变差,仔细一看才发现上下文窗口已经快满了;或者跑到一半突然被限流,才发现 5 小时的用量额度已经用完。更头疼的是,Claude 在后台到底在干什么,哪些子 Agent 在跑、工具调用到哪一步了、任务完成了多少,你基本无从得知,除非盯着屏幕一行行日志看。
小金第一次装上这个插件的时候,第一反应是:为什么没有早点装。
Claude HUD是一个 Claude Code 的状态栏增强插件,干的事情很简单:在你的输入框下方实时显示上下文使用率、用量额度、工具调用、子 Agent 状态和 Todo 进度。装上之后,这些信息不用敲任何命令就能直接看到。
项目地址:**github.com/jarrodwatts...

Claude HUD 能看到什么
安装完成后,Claude HUD 默认会在你的输入框下方显示两行状态信息:
csharp
[Opus] │ my-project git:(main*)
Context █████░░░░░ 45% │ Usage ██░░░░░░░░ 25% (1h 30m / 5h)
- • 第一行:当前模型名称(如 Opus)、服务商标识(如 Bedrock)、项目路径、Git 分支
- • 第二行:上下文窗口使用率(带颜色进度条,绿 → 黄 → 红)、订阅用量限制
你还可以通过配置开启额外的信息行:
java
◐ Edit: auth.ts | ✓ Read ×3 | ✓ Grep ×2 ← 工具活动
◐ explore [haiku]: Finding auth code (2m 15s) ← Agent 状态
▸ Fix authentication bug (2/5) ← Todo 进度
这些信息为什么值得关注?因为 Claude Code 默认不会主动告诉你"我快忘了之前聊了什么"或者"你的额度快用完了"。
HUD 把这些关键指标变成了视觉信号:上下文进度条从绿变黄再变红,就是最直观的"该 /compact了"的提醒。项目路径和 Git 分支让你在多个项目间切换时不至于搞混。工具和 Agent 那几行回答的是"Claude 现在到底在干嘛"------不用盯着日志翻,它自己在状态栏里报进度。
安装步骤
系统要求:
| 要求 | 说明 |
|---|---|
| Claude Code | v1.0.80+ |
| 运行时 | Node.js 18+ 或 Bun |
| 操作系统 | macOS / Linux / Windows |
整个安装过程只需要三条命令,在 Claude Code 中依次执行即可。
血泪教训 :第二步装完一定要执行 /reload-plugins,不然第三步直接报 Unknown skill。别问小金怎么知道的。
第一步:添加插件市场
bash
/plugin marketplace add jarrodwatts/claude-hud

第二步:安装插件
bash
/plugin install claude-hud
安装完成后,执行 /reload-plugins重新加载插件(前面提过了,这一步很容易忘)。

第三步:配置状态栏
arduino
/claude-hud:setup
setup 过程会让你选择要开启哪些信息行:
-
- Tools activity--- 建议勾选。实时显示 Claude 在读文件、编辑文件还是搜索代码,不用盯着日志看。
-
- Agents & Todos--- 建议勾选。显示子 Agent 运行状态和任务完成进度,跑复杂任务时很有用。
-
- Session info--- 可选。显示会话时长和 CLAUDE.md、MCP 等配置数量,对调试环境配置有帮助。
-
- Session name --- 一般不需要。除非你经常用
/rename给会话起名字。
- Session name --- 一般不需要。除非你经常用
-
- 自定义行 --- 不需要填,直接跳过即可。

选完之后,重启 Claude Code(这一步不能省,因为状态栏配置是在启动时加载的)。
重启后,你就能在输入框下方看到 HUD 状态栏了。

Linux 用户注意事项
Linux 上 /tmp通常是独立的 tmpfs 文件系统,安装时会报 EXDEV: cross-device link not permitted错误。解决方法:
javascript
mkdir -p ~/.cache/tmp && TMPDIR=~/.cache/tmp claude
在这个会话中执行安装命令即可。
Windows 用户注意事项
如果 setup 提示找不到 JavaScript 运行时,需要先安装 Node.js:
winget install OpenJS.NodeJS.LTS
然后重启终端,重新执行 /claude-hud:setup。
工作原理
搞清楚它是怎么拿到数据的,你才能判断显示的信息靠不靠谱。
Claude Code 本身提供了一个叫 statusLine 的原生能力(你可以在 ~/.claude/settings.json里配置,也可以用 /statusline命令生成)。它的机制很简单:Claude Code 把当前会话的 JSON 数据(模型名称、Token 用量、上下文窗口百分比、订阅额度等)通过 stdin 管道喂给你指定的脚本,脚本解析后把要显示的内容打印到 stdout,Claude Code 再把输出渲染在终端底部的状态栏上。刷新频率大约每 300ms 一次。


你可以自己写一个 shell 脚本来做这件事,但大部分人不想折腾 jq 解析和 ANSI 颜色码。Claude HUD 本质上就是帮你把这个脚本写好了------它注册为 statusLine 的执行脚本,接收 stdin 的 JSON,额外再去读本地的 transcript 文件(JSONL 格式,记录了工具调用、子 Agent 活动和 Todo 变更),把两部分数据拼在一起,格式化成带颜色的多行状态栏输出。
所以 Claude HUD 显示的上下文百分比、用量余量这类核心指标是 Claude Code 自己算的,不是插件估的,数据来源可靠。工具活动、Agent 状态这些则来自 transcript 日志,也是真实数据。整个链路不消耗 API Token,不需要 tmux,不需要额外窗口,任何终端都能用。
配置详解
如果想调整 HUD 显示的内容,运行 /claude-hud:configure。它会提供三种预设方案,也可以逐项开关各个元素,配置过程中支持预览效果。
| 预设 | 显示内容 |
|---|---|
| Full | 全部开启------工具、Agent、Todo、Git、用量、时长 |
| Essential | 活动信息 + Git 状态,简洁不啰嗦 |
| Minimal | 只显示模型名称和上下文进度条 |
手动配置
高级用户可以直接编辑 ~/.claude/plugins/claude-hud/config.json。以下是一个推荐的完整配置示例:
json
{
"language": "zh",
"lineLayout": "expanded",
"pathLevels": 2,
"elementOrder": ["project", "tools", "context", "usage", "agents", "todos"],
"gitStatus": {
"enabled": true,
"showDirty": true,
"showAheadBehind": true,
"showFileStats": true
},
"display": {
"showTools": true,
"showAgents": true,
"showTodos": true,
"showDuration": true
}
}
常用配置项说明
| 配置项 | 类型 | 默认值 | 说明 | |
|---|---|---|---|---|
language |
en |
zh |
en |
界面语言,设为 zh可启用中文标签 |
lineLayout |
expanded |
compact |
expanded |
布局模式:多行展开或单行紧凑 |
pathLevels |
1-3 | 1 | 项目路径显示的目录层数 | |
display.showTools |
boolean | false | 显示工具活动行 | |
display.showAgents |
boolean | false | 显示 Agent 状态行 | |
display.showTodos |
boolean | false | 显示 Todo 进度行 | |
display.showCost |
boolean | false | 显示会话费用 | |
display.showDuration |
boolean | false | 显示会话时长 | |
display.showMemoryUsage |
boolean | false | 显示系统内存使用 | |
display.showClaudeCodeVersion |
boolean | false | 显示 Claude Code 版本号 |
Git 状态配置
Git 相关信息可以显示以下内容:
| 配置项 | 说明 | 效果示例 |
|---|---|---|
showDirty |
显示未提交修改标记 | git:(main*)中的 * |
showAheadBehind |
显示与远程分支的差异 | git:(main ↑2 ↓1) |
showFileStats |
显示文件变更统计 | git:(main* !3 +1 ?2) |
文件统计中:!= 已修改,+= 已暂存,✘= 已删除,?= 未跟踪。数量为 0 的项会自动隐藏。
颜色自定义
所有颜色都可以自定义,支持颜色名称(red、green、cyan、yellow、dim等)、256 色编号(0-255)或十六进制值(#rrggbb)。
用量监控
用量显示是 Claude HUD 默认启用的功能。它直接读取 Claude Code 推送的订阅额度数据(rate_limits),告诉你当前 5 小时滚动窗口内用了多少、还剩多少。当 7 天累计用量超过 80% 时,还会额外显示 7 天的消耗百分比,提醒你注意节奏。
效果类似这样:
scss
Context █████░░░░░ 45% │ Usage ██░░░░░░░░ 25% (1h 30m / 5h) | ██████████ 85% (2d / 7d)
不过这个功能并不是对所有人都生效。
**它只认订阅账户。**它依赖 Claude Code 主动提供额度数据,所以只有用 Claude 订阅账户登录的用户才能看到。如果你是通过 API Key 接入的(按 Token 付费,没有速率限制的概念),状态栏上就不会有用量信息。走 AWS Bedrock 等云厂商路由的用户也是类似------用量在云厂商侧管理,Claude Code 拿不到相关数据,所以 HUD 会直接隐藏这一行,而不是显示一个误导性的数字。
如果你发现用量信息始终不出现,大概率是 Claude Code 版本或订阅层级没有提供 rate_limits数据。可以在 config.json里确认 display.showUsage没有被设为 false,如果还是不行就等 Claude Code 更新。
实际效果展示
不同的配置会呈现不同的效果:
默认 2 行模式:
csharp
[Opus] │ my-project git:(main*)
Context █████░░░░░ 45% │ Usage ██░░░░░░░░ 25% (1h 30m / 5h)
开启全部扩展信息后:
less
[Opus] │ apps/my-project git:(main ↑2 !3 +1)
Context █████░░░░░ 45% (45k/200k) │ Usage ██░░░░░░░░ 25% (1h 30m / 5h) | ⏱️ 12m
◐ Edit: auth.ts | ✓ Read ×3 | ✓ Grep ×2
◐ explore [haiku]: Finding auth code (2m 15s)
▸ Fix authentication bug (2/5)
路径层级对比:
| 层级 | 效果 |
|---|---|
| 1 层(默认) | [Opus] │ my-project git:(main) |
| 2 层 | [Opus] │ apps/my-project git:(main) |
| 3 层 | [Opus] │ dev/apps/my-project git:(main) |
总结
Claude HUD 解决了一个很实际的问题:让你不用时刻盯着屏幕,也能掌握 Claude Code 的运行状态。
- • 上下文管理 :实时看到上下文使用率,在质量下降前及时
/compact - • 用量控制:直观看到用量消耗,避免关键时刻被限流
- • 任务追踪:看到 Agent 在做什么、任务完成了多少,不再"两眼一抹黑"
三条命令装完,配置随你调,性能开销基本感觉不到。
小金现在每次打开 Claude Code 第一个看的就是这个状态栏,建议你也装一个试试。
AI 应用开发面试指南
你好,我是 JavaGuide 的作者。最近几个月一直在继续补充完善 AI 应用开发部分的内容。
目前的话,这份面向后端开发者的 AI 应用开发、AI 编程实战与面试指南已免费开源,涵盖 LLM、Agent、RAG、MCP、Claude Code、Codex 等核心技术与工程实践。对标 JavaGuide!有帮助的话,欢迎 Star!
- 项目地址 :github.com/Snailclimb/...
- 在线阅读 :javaguide.cn/ai/
这应该是当前最全面系统的讲解,每一篇都花费了大量时间完善和优化,每篇文章都画了大量配图辅助理解:

发布之后,也是收到了很多读者朋友的好评和推荐。非常感谢,一定会持续用心维护!
