在 Claude Code 底部状态栏实时显示上下文用量。适用于私有网关模型(API 不返回 token 数的场景),通过读取本地 transcript 文件估算上下文用量。

效果示例:

[pri-kimi-26] ▓▓░░░░░░░░░░░░░░ 10%(~21k/262k)

颜色说明:

  • 🟢 绿色:上下文使用 < 70%,正常
  • 🟡 黄色:上下文使用 70–89%,建议执行 /compact
  • 🔴 红色:上下文使用 ≥ 90%,立即执行 /compact/clear

文件说明

文件 说明
statusline.sh Claude Code 调用的入口脚本,自动检测 Python 路径
statusline.py 核心逻辑,读取 transcript 估算 token 用量并输出状态栏

两个文件必须放在同一目录下。

Windows 安装

前置条件
安装步骤

1. 创建脚本目录

在 PowerShell 中执行:

mkdir "$env:USERPROFILE\.claude\scripts"

2. 复制脚本文件

statusline.shstatusline.py 复制到:

C:\Users\<你的用户名>\.claude\scripts\

statusline.sh文件下载地址如下:statusline.sh

statusline.py文件下载地址如下:statusline.exe

注意:将下载下来的statusline.exe重命名为:statusline.py后使用,因为服务器上无法提供py后缀下载。

3. 配置 settings.json

编辑(或新建)C:\Users\<你的用户名>\.claude\settings.json,添加 statusLine 字段:

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

如果文件已有其他配置,只需加入 statusLine 字段,不要覆盖已有内容:

{
  "effortLevel": "low",
  "env": {
    "ANTHROPIC_API_KEY": "your-key",
    "ANTHROPIC_BASE_URL": "https://your-gateway/"
  },
  "statusLine": {
    "type": "command",
    "command": "~/.claude/scripts/statusline.sh"
  },
  "model": "your-model"
}

4. 验证安装

在 PowerShell 中运行(替换用户名):

'{"model":{"display_name":"test"},"transcript_path":"","context_window":{},"cost":{},"workspace":{}}' | & "C:\Program Files\Git\bin\bash.exe" C:/Users/<你的用户名>/.claude/scripts/statusline.sh

看到以下输出说明安装成功:

[test] ░░░░░░░░░░░░░░░░ 0%(0k/262k)

5. 重启 Claude Code

重启后发送一条消息,状态栏即出现在底部。

Ubuntu 安装

前置条件

Python 3(Ubuntu 通常自带):

python3 --version
# 如未安装:
sudo apt install python3
安装步骤

1. 创建目录并复制文件

mkdir -p ~/.claude/scripts
cp statusline.sh statusline.py ~/.claude/scripts/
chmod +x ~/.claude/scripts/statusline.sh

2. 配置 settings.json

如果 ~/.claude/settings.json 已存在,添加 statusLine 字段;如不存在,新建:

cat > ~/.claude/settings.json << 'CONF'
{
  "statusLine": {
    "type": "command",
    "command": "~/.claude/scripts/statusline.sh"
  }
}
CONF

3. 验证安装

echo '{"model":{"display_name":"test"},"transcript_path":"","context_window":{},"cost":{},"workspace":{}}' \
  | bash ~/.claude/scripts/statusline.sh

看到以下输出说明安装成功:

[test] ░░░░░░░░░░░░░░░░ 0%(0k/262k)

4. 重启 Claude Code

重启后发送一条消息,状态栏即出现在底部。

自定义配置

修改默认上下文窗口大小

编辑 statusline.py,找到以下行:

if ctx_max == 0:
    ctx_max = 262144  # 默认 256k

按实际模型的上下文长度修改:

模型上下文 对应数值
128k 131072
200k 204800
256k 262144
512k 524288
1M 1048576
修改颜色预警阈值

编辑 statusline.py,找到以下行:

bc = RD if pct >= 90 else YL if pct >= 70 else GR

9070 改为你想要的阈值。

常见问题

Q:状态栏不显示?

需要发送一条消息后才会触发,启动时不会立即显示。

Q:显示 [Claude] 未找到 Python

确认 Python 安装时勾选了 "Add Python to PATH"。或手动编辑 statusline.sh,在 find_python() 的 Windows 路径列表中加入你的 Python 安装路径。

Q:上下文显示为 0k?

发送第一条消息后会更新。token 数前带 ~ 表示本地估算值。

Q:如何排查其他问题?

--debug 启动 Claude Code,查看日志:

# Ubuntu
grep -i "statusline" ~/.claude/debug/*.txt

# Windows PowerShell
cat "$env:USERPROFILE\.claude\debug\*.txt" | Select-String "statusline"
Copyright © https://yan-jian.com 2023 - 2026 All Right Reserved all right reserved,powered by Gitbook更新时间: 2026-06-12 20:29:52

results matching ""

    No results matching ""