在 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 安装
前置条件
- 已安装 Git for Windows(提供 Git Bash)
- 已安装 Python 3,安装时勾选 Add Python to PATH
安装步骤
1. 创建脚本目录
在 PowerShell 中执行:
mkdir "$env:USERPROFILE\.claude\scripts"
2. 复制脚本文件
将 statusline.sh 和 statusline.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
将 90 和 70 改为你想要的阈值。
常见问题
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"