Building a Custom Status Line for Claude Code
我大部分时间都在使用 Claude Code。它充当了我的程序员和代码审查员。
几天后,我发现了一个问题。我不知道自己使用了多少 token,不知道当前会话的成本,也不知道还剩多少上下文。
我不想通过运行命令来检查这些信息。我希望实时看到它们。我希望扫一眼终端就能了解自己的状态。
于是,我构建了一个自定义状态栏。
我主要关注三个方面:
- 会话成本:Claude Opus 并非免费。实时查看成本有助于我决定何时结束当前任务。
- 上下文窗口:我想看到剩余上下文的百分比。这有助于我决定何时开启一个新会话。
- 项目信息:我需要看到当前目录、git 分支以及我正在使用的模型。
状态栏 API 非常简单。你只需将 Claude Code 指向一个 shell 脚本。该工具会通过 stdin 向你的脚本发送一个 JSON 文档。你的脚本通过 stdout 输出结果。
它不需要任何 SDK 或框架。它只使用 stdin 和 stdout。它在本地运行,且不产生额外费用。
设置方法:
- 在
~/.claude/statusline.sh创建一个脚本。 - 使用
jq解析 JSON 数据。 - 格式化输出,显示你的路径、分支、模型、token 数量和成本。
- 将该脚本添加到你的
~/.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
