跳到文章正文
Claude 实用教程

Claude Code怎么显示上下文用量?statusline配置、空值与刷新排查

用/statusline配置底部状态行,显示模型、目录与上下文比例;解释stdin JSON、空…

Claude Code怎么显示上下文用量?statusline配置、空值与刷新排查

同时开多个Claude Code会话时,容易弄混目录,也不容易直观看出上下文占用。自定义statusline会在界面底部显示脚本输出。本文先用官方自然语言命令配置,再解释数据字段与排错,不将状态行费用显示当成账户账单。

第一步:用内置命令生成最小状态行

/statusline show model name, current directory and context percentage

在Claude Code交互会话中输入此命令。它会生成脚本并更新设置;若出现文件编辑授权提示,先检查脚本与路径再批准。配置前备份已有settings.json和状态脚本,避免覆盖已经使用的自定义内容。先显示三个字段即可,不急着加网络查询与复杂图形。

官方说明状态行有自己的显示行,位于内置footer badges上方;自定义后部分键盘提示将不再显示。找不到某个快捷键提示时,不等于功能被禁用。若终端窗口太窄,先缩短目录和标签,不把多余内容挤到不可读的同一行。

第二步:理解输入数据来自哪里

Claude Code将会话JSON通过标准输入交给状态脚本,脚本输出文字到标准输出。常用字段包括model.display_name、workspace.current_dir和context_window.used_percentage。它不是每次自己调用一次大模型;脚本不需要API密钥,也不该把整份会话数据上传到外部服务。

#!/bin/bash
payload=$(cat)
printf "%s\n" "$payload" | jq -r '"[" + (.model.display_name // "unknown") + "] " + (.workspace.current_dir // "?") + " | " + ((.context_window.used_percentage // 0) | tostring) + "% context"'

这是macOS和Linux可用的Bash与jq示例,需要机器已安装jq。百分比为空时示例显示0,仅是回退值,不能解释为本轮确实没有上下文。想严格区分未知与零,可将缺失字段显示为unknown,不要因一个空字段让整行报错。

第三步:接入设置并测试样本

{
  "statusLine": {
    "type": "command",
    "command": "~/.claude/statusline.sh"
  }
}

将字段合并到已有用户或项目设置,不能用这个小对象替换整份配置。脚本路径与可执行权限按本机实际位置检查。Windows应参考官方PowerShell或Git Bash方式,不能把Bash路径原样当Windows命令执行。

printf '%s\n' '{"model":{"display_name":"Demo"},"workspace":{"current_dir":"/tmp/demo"},"context_window":{"used_percentage":23}}' | bash ~/.claude/statusline.sh

这是本地人工JSON样本,预期看见Demo、/tmp/demo与23%,不需要真实调用模型。再用缺少context_window的样本测试回退。若这一层就失败,先检查jq、引号和脚本路径;样本通过而界面不显示,再检查设置加载位置。

第四步:理解刷新与费用边界

默认按事件更新,状态不会像计时器一样每秒变化。需要时可用refreshInterval增加定时刷新,官方最小为1秒;仅显示会话字段通常无需高频刷新。不要在每次刷新中运行耗时扫描、安装命令或网络请求,避免界面卡顿。

上下文比例反映当前会话上下文状态,不是账户剩余额度。加入费用字段后也应注明对应会话口径,不能据此推断所有产品订阅余额或账单总额。若数值看起来跳变,先核对会话是否切换、是否发生压缩以及字段是否暂时为空。

第五步:排查与回滚

空行先检查脚本是否真的有标准输出;显示原始JSON则检查脚本是否误把输入直接打印;报错文字进入状态栏则在终端独立运行脚本排查。只读显示脚本不应修改仓库文件,测试后可查看git状态确认没有意外变化。

不再需要时用/statusline要求清除,或删除对应statusLine字段,并保留其他设置。验收包括样本通过、真实会话字段对应、窄窗口可读、刷新不拖慢以及回滚有效,不能只凭一张看起来正常的状态栏判断完成。

多人共用仓库时,项目设置中的命令脚本也属于需要审阅的代码。先确认它只读取必要字段并打印文字,不读取凭据、不执行仓库里来源不明的命令,再加入共享配置。团队成员的绝对路径不同,优先采用各自可解析的路径并分别测试。

官方资料

资料核对日期:2026年11月11日。

本文地址:https://www.163264.com/20444