ByteNoteByteNote

字节笔记本

2026年6月13日

Claude Code 和 Codex CLI 状态栏配置:两种截然不同的设计

API中转
¥120

用 Claude Code 或 Codex CLI 写代码,眼睛大多盯着对话区,很少注意终端最底部那一行。那里其实可以显示:当前模型、消耗的 token、上下文还剩多少、Git 分支、缓存命中率。一眼扫过去,你就知道这次对话距离上下文溢出还有多远,有没有必要开新会话。

配置这条状态栏,两个工具的方式截然不同。一个给你白纸自己画,一个给你菜单直接勾。

Claude Code: 给你一张白纸

Claude Code 的状态栏是脚本驱动的。它把当前会话的 JSON 数据喂给你写的 shell 脚本,脚本输出什么,底部就显示什么。完全自定义,代价是你得自己写脚本。

配置步骤

第一步,创建脚本文件:

bash
mkdir -p ~/.claude
touch ~/.claude/statusline-command.sh
chmod +x ~/.claude/statusline-command.sh

第二步,写脚本内容。 最基础的版本,显示模型名称加上下文用量:

bash
#!/bin/bash
input=$(cat)

model=$(echo "$input" | jq -r '.model // "unknown"')
context_used=$(echo "$input" | jq -r '.context_window.used // 0')
context_total=$(echo "$input" | jq -r '.context_window.total // 1')
percent=$(echo "scale=0; $context_used * 100 / $context_total" | bc)
git_branch=$(git -C "$(pwd)" rev-parse --abbrev-ref HEAD 2>/dev/null || echo "")

line="  $model"
[ -n "$git_branch" ] && line="$line  $git_branch"
line="$line  CTX ${percent}%"

echo "$line"

第三步,配置 settings.json:

编辑 ~/.claude/settings.json,加入 statusLine 配置:

json
{
  "statusLine": {
    "type": "command",
    "command": "bash ~/.claude/statusline-command.sh",
    "refreshInterval": 5
  }
}

refreshInterval 是刷新间隔,单位秒,设 5 就够了。

用自然语言配置

也可以直接在 Claude Code 里输入自然语言描述需求:

/statusline 在不增加视觉噪音的前提下,重构当前状态栏信息结构:删除非必要身份信息,强化 LLM 运行态可观测性(model / tokens / cache / context),目录与 git 分离为独立信息块,支持 1~2 行自适应布局

它会替你生成脚本并写入配置。

恢复默认

想卸载自定义状态栏,在 Claude Code 里输入:

/statusline delete

就清干净了。

Codex CLI: 给你一份菜单

Codex 的设计反过来。不需要写脚本,但也不能自定义格式。它给你一个选项列表,你勾选想显示的条目,确认保存。

TUI 内直接配置

启动 Codex 后输入 /statusline,方向键导航,空格键勾选,Enter 确认。有一个容易踩的坑:直接按 Esc 退出不会保存,必须按 Enter。

可选条目包括:model、tokens、cost、git-branch、context stats、rate limits、session id、当前目录。其中比较实用的是 five-hour-limit 和 weekly-limit,会实时显示订阅配额剩余百分比。想控制消耗速度的人会经常盯着这个。

直接编辑配置文件

等价的方式是编辑 ~/.codex/config.toml:

toml
[tui]
status_line = ["model", "tokens", "cost", "git-branch", "five-hour-limit"]

顺序即显示顺序,调换数组元素就能重排。

CI 环境下关闭状态栏

加一个 profile:

toml
[profiles.ci.tui]
status_line = []

跑 CI 时用 codex --profile ci 启动,状态栏不显示。

两种设计,各自合适

Claude Code 的脚本方式更灵活,但有一定上手成本,适合想精细控制显示内容、甚至接入外部数据源的人。Codex 的菜单方式更快,30 秒配完,适合只想看几个关键数字、不想动脚本的人。

两个工具都在往同一个方向走:让上下文状态更透明。原因很简单,AI 编程助手的核心资源是上下文窗口,不可见就容易浪费,快溢出的时候还在往里塞内容,或者明明有大量缓存可以命中、却因为不知道而开了新会话。

状态栏解决的是一个信息差问题,让你知道助手现在处于什么状态。

分享: