Building a Custom Status Line for Claude Code

我大部分时间都在使用 Claude Code。它充当了我的程序员和代码审查员。

几天后,我发现了一个问题。我不知道自己使用了多少 token,不知道当前会话的成本,也不知道还剩多少上下文。

我不想通过运行命令来检查这些信息。我希望实时看到它们。我希望扫一眼终端就能了解自己的状态。

于是,我构建了一个自定义状态栏。

我主要关注三个方面:

  • 会话成本:Claude Opus 并非免费。实时查看成本有助于我决定何时结束当前任务。
  • 上下文窗口:我想看到剩余上下文的百分比。这有助于我决定何时开启一个新会话。
  • 项目信息:我需要看到当前目录、git 分支以及我正在使用的模型。

状态栏 API 非常简单。你只需将 Claude Code 指向一个 shell 脚本。该工具会通过 stdin 向你的脚本发送一个 JSON 文档。你的脚本通过 stdout 输出结果。

它不需要任何 SDK 或框架。它只使用 stdin 和 stdout。它在本地运行,且不产生额外费用。

设置方法:

  1. ~/.claude/statusline.sh 创建一个脚本。
  2. 使用 jq 解析 JSON 数据。
  3. 格式化输出,显示你的路径、分支、模型、token 数量和成本。
  4. 将该脚本添加到你的 ~/.claude/settings.json 文件中。

你可以将刷新间隔设置为 1 秒。这将为你提供一个实时仪表盘。

如果你不想编写代码,Claude Code 提供了一个快捷方式。运行: /statusline show me model, branch, token counts, context percentage, and cost

这会自动为你生成一行状态栏。

使用简单的 shell 脚本自定义工具会改变你的工作方式。你不再需要等待新功能发布,而是开始构建自己的自动化流程。

Source: https://dev.to/ndrone/building-a-custom-status-line-for-claude-code-5822

Optional learning community: https://t.me/GyaanSetuAi