/statusline: 为 Claude Code 打造你的梦想状态栏

发布: (2026年1月19日 GMT+8 02:30)
8 min read
原文: Dev.to

Source: Dev.to

(请提供您希望翻译的正文内容,我将为您翻译成简体中文。)

问题

标准终端和 AI 界面会给出它们认为你需要的内容。问题是,它们往往是错误的——或者至少是不完整的。

  • 你在多个 Git 分支之间工作,需要随时了解当前所在的分支。
  • 你对预算很敏感,想实时跟踪 token 使用情况。
  • 你是自由职业者,需要记录可计费的工作时间。
  • 你跨时区工作,需要在发送信息前先知道东京的时间。

默认的答案是:“打开另一个终端标签页”, “查看其他应用”,或 “记住它”。
所有这些都需要切换上下文,增加摩擦,让你去做本该由工具帮你完成的工作。

解决方案

Claude Code 的 /statusline 命令会在界面的底部放置一个 可自定义的信息栏。你可以决定其中显示什么——可能性真的无穷无尽。

如何使用

基本用法

/statusline

运行该命令会打开状态栏配置 UI,您可以在其中定义显示哪些信息以及它们的格式。

快速配置示例

/statusline git:branch model tokens

现在状态栏会显示:

  • 当前 Git 分支
  • 活动的 Claude 模型
  • 会话的令牌使用情况

内置信息类型

Component显示内容
git:branch当前 Git 分支
git:status工作目录是否干净/脏
model当前 Claude 模型
tokens会话中使用的令牌
tokens:remaining估计剩余令牌
time当前时间
session当前会话名称
cwd当前工作目录

示例配置

/statusline git:branch git:status | model | tokens | time

结果

main ● | claude-3-opus | 12,847 tokens | 14:32

自定义命令和脚本

您可以将 任何 命令的输出添加到状态栏。

天气

/statusline "$(curl -s wttr.in/?format=%t)"

比特币价格

/statusline "BTC: $(curl -s https://api.coindesk.com/v1/bpi/currentprice.json \
               | jq -r '.bpi.USD.rate')"

系统负载

/statusline "Load: $(uptime | awk -F'load average:' '{print $2}' | cut -d, -f1)"

番茄工作法计时器

/statusline "$(cat ~/.pomodoro_status 2>/dev/null || echo 'No timer')"

祈祷时间(适用于遵守者)

/statusline "Next prayer: $(~/.scripts/next_prayer.sh)"

Wordle 连胜

/statusline "🟩 Wordle: $(cat ~/.wordle_streak)"

是的,真的。 如果您可以从命令行获取它,就可以把它放进状态栏。

专业技巧

TipAdvice
🎯 提示 1保持可快速浏览。 状态栏在你能一眼看到并在一秒内获取信息时最有用。不要塞得太满。
🎯 提示 2使用分隔符要明智。 管道字符 (`
🎯 提示 3创建上下文特定的状态栏。 不同项目需要不同信息。保存配置并在它们之间切换。
🎯 提示 4刷新间隔很重要。 对于动态数据(如 API 价格),考虑刷新频率。调试代码时,你可能不需要每秒更新的比特币价格。
🎯 提示 5与 tmux/screen 结合使用。 如果你已经在使用终端复用器,请协调你的状态栏以避免冗余信息。

针对提示 3 的示例别名

# In your shell config
alias statusline-work="/path/to/claude statusline git:branch jira-ticket model tokens"
alias statusline-personal="/path/to/claude statusline git:branch weather time"

实际使用案例

Alex — DevOps 工程师

/statusline git:branch | "k8s: $(kubectl config current-context)" \
          | "pods: $(kubectl get pods --no-headers | wc -l)" | time

结果

main | k8s: prod-cluster | pods: 47 | 16:22

Alex 总是能随时了解当前分支、正在使用的 Kubernetes 集群以及运行中的 Pod 数量——这对可能误将代码部署到生产环境的人来说至关重要。

Jordan — 自由职业开发者

/statusline session | tokens | "$( ~/.scripts/billable_time.sh )" \
          | "Rate: $$(~/.scripts/hourly_rate.sh)"

结果

client‑acme‑api | 8,234 tokens | 2h 34m billable | Rate: $127.50

Jordan 可以一眼看到客户会话、令牌使用量、可计费时间以及每小时费率。

Maya — 远程全栈开发者

/statusline git:branch | time | "BTC: $(curl -s https://api.coindesk.com/v1/bpi/currentprice.json \
               | jq -r '.bpi.USD.rate')" | "Prayer: $(~/.scripts/next_prayer.sh)"

结果

feature/login | 09:45 | BTC: 28,734.12 | Prayer: 10:12

Maya 能在不离开终端的情况下,随时掌握 Git 工作进度、本地时间、比特币价格以及下一次祈祷时间。

开始使用

  1. 打开 Claude Code。
  2. 运行 /statusline
  3. 使用内置标签或自定义命令替换添加所需组件。
  4. Enter 保存。

你的终端现在你工作,而不是相反。祝编码愉快!

绿色模式

跟踪会话、令牌使用以进行成本估算、计费时间以及当前计算的费率。开票变得更简单。

Morgan — 专注的开发者

/statusline git:branch | model | "Focus: $(($(date +%s) - $(cat ~/.focus_start))) seconds"

Morgan 的状态栏显示:

feature/auth | claude-3.5-sonnet | Focus: 2847 seconds

最小化干扰。只显示分支、模型和一个专注计时器,以鼓励深度工作。

构建完美的设置

以下是构建理想状态栏的流程:

  • 从最小化开始。 仅使用 git 分支和 token。使用一天。
  • 注意你手动检查的内容。 每次切换到另一个窗口获取信息时,问自己:“这可以放进我的状态栏吗?”
  • 逐步添加。 每次添加一个新组件。观察它是增加价值还是只会产生噪音。
  • 无情迭代。 如果一周内没有查看某个状态栏组件,就将其移除。
  • 为状态栏切换上下文。 不同项目可能需要不同的设置。没关系。

结论

/statusline 功能体现了一种哲学:你的工具应当适应你,而不是相反。

无论你需要实用的 git 信息、用于预算管理的 token 追踪,亦或——是的——你的 Wordle 连胜,Claude Code 的 statusline 都会把它们放在你需要的地方。无需额外窗口。无需切换上下文。只需一眼,你便了然。

最好的 statusline 是你为自己构建的。那就动手吧。

明日第 15 天: 我们将彻底无限制。假如 Claude Code 再也不请求权限会怎样?进入 YOLO 模式:--dangerously-skip-permissions。它功能强大。它也很冒险。名字里就带有“danger”。我们来讨论何时使用它。⚠️

你的 statusline 上有什么?分享你的配置,并关注接下来 31 天的 Claude Code 功能系列!

Back to Blog

相关文章

阅读更多 »