微信扫码
添加专属顾问
我要投稿
一键掌握Claude Code运行状态,自定义状态栏让开发效率翻倍!核心内容: 1. 自定义状态栏的直观价值与多场景应用优势 2. Claude Code提供的完整状态数据结构解析 3. 两种实现方式:快捷指令配置与脚本文件修改
我们可以为Claude Code 创建自定义状态行以显示上下文信息,如图所示:
这里就显示了项目名,Claude Code 目前使用的模型,还有已经使用的Token数量。
通过自定义状态行,可以让一些有用的上下文信息直接显示输入框的下方,最大的好处就是非常直观的展示运行情况。
尤其是在多窗口多项目情况下,Claude Code运行状态一键便知,类似于Token消耗也可以快速提醒我们是否达到了压缩的阈值,方便提前进行代码的收尾工作,以免触发不必要的压缩。
那么还可以显示哪些信息呢?
Claude Code本身提供发如下的输出结构
{
"hook_event_name": "Status",
"session_id": "abc123...",
"transcript_path": "/path/to/transcript.json",
"cwd": "/current/working/directory",
"model": {
"id": "claude-opus-4-1",
"display_name": "Opus"
},
"workspace": {
"current_dir": "/current/working/directory",
"project_dir": "/original/project/directory"
},
"version": "1.0.80",
"output_style": {
"name": "default"
},
"cost": {
"total_cost_usd": 0.01234,
"total_duration_ms": 45000,
"total_api_duration_ms": 2300,
"total_lines_added": 156,
"total_lines_removed": 23
}
}
要自定义自己个性化状态栏,最简单的方法是使用Claude Code内置的/statusline命令,我们只需要在这个命令后面加上需要配置和显示的内容就可以,非常的简单。
比如下面就是将模型颜色改成橙色,Claude Code会调用这个指令来配置文件。
/statusline show the model name in orange
除了指令,还可以修改自定义配置文件,具体来说就是在这个配置文件修改.claude/settings.json 中添加脚本文件 ,对应到statusLine 命令字段。
{
"statusLine": {
"type": "command",
"command": "~/.claude/statusline.sh",
"padding": 0 // Optional: set to 0 to let status line go to edge
}
}
我的statusline.sh脚本如下,他就充分解析了Claude Code的内置参数,可以拿去直接抄作业。
#!/bin/bash
# Claude Code 状态行 - 包含目录、git 分支、模型和 token 统计
input=$(cat)
# 提取数据
cwd=$(echo "$input" | jq -r '.workspace.current_dir // .cwd')
cwd_name=$(basename "$cwd")
model=$(echo "$input" | jq -r '.model.display_name // "Claude"')
transcript=$(echo "$input" | jq -r '.transcript_path')
# 获取 git 分支(跳过可选锁)
git_branch=""
if [ -d "$cwd/.git" ]; then
git_branch=$(cd "$cwd" && git --no-optional-locks branch --show-current 2>/dev/null)
if [ -n "$git_branch" ]; then
git_branch=" on ${git_branch}"
fi
fi
# 统计 token 数量(从 transcript 文件)
token_info=""
if [ -f "$transcript" ]; then
# 提取所有 input_tokens 和 output_tokens
input_tokens=$(grep -o '"input_tokens":[0-9]*' "$transcript" | cut -d: -f2 | awk '{s+=$1} END {print s}')
output_tokens=$(grep -o '"output_tokens":[0-9]*' "$transcript" | cut -d: -f2 | awk '{s+=$1} END {print s}')
# 如果成功获取到 token 数据
if [ -n "$input_tokens" ] && [ -n "$output_tokens" ]; then
total_tokens=$((input_tokens + output_tokens))
# 格式化为 K(千)
if [ $total_tokens -gt 1000 ]; then
total_k=$((total_tokens / 1000))
token_info=" | ${total_k}K tokens"
else
token_info=" | ${total_tokens} tokens"
fi
fi
fi
# 颜色定义
CYAN='\033[36m'
GREEN='\033[32m'
YELLOW='\033[33m'
MAgentA='\033[35m'
RESET='\033[0m'
# 输出格式:目录 [分支] | 模型 | token 统计
printf "${CYAN}%s${YELLOW}%s${RESET} ${GREEN}❯${RESET} ${MAGENTA}%s${RESET}%s\n" "$cwd_name" "$git_branch" "$model" "$token_info"
最后的显示效果:
不过要注意的是,修改完成配置后需要重新启动Claude Code,需要发送一条信息来激活状态,同时脚本也需要有完整的可执行权限才行。
通义Z-Image有点东西啊!消费级显卡可跑的SOTA级生图模型
黑五4折史低!每天无痛刷出 1500 词汇量,Ries 手机版上线!
黑五上车的GLM-4.6 Claude Code 套餐联网搜索、读图、读视频怎么用?
Anthropic 再发神作!长效运行 Agent 如何不断片?
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2025-11-29
AI 的“谄媚”与“幻觉”:如何用对抗性 Prompting 逼出真话?
2025-11-27
还在用 Gemini 3 写 PPT?这才是最酷炫的玩法(附提示词)
2025-11-27
Anthropic 更新了Claude 4.x 模型提示工程最佳实践
2025-11-27
Gemini Prompt: 认知劫持-放飞自由最新版
2025-11-21
拿到提示词只是开始,Know-how才是核心竞争力
2025-11-20
Reddit热帖:5个经常救我于水火的ChatGPT提示词技巧
2025-11-14
OpenAI Codex 实用技巧介绍
2025-11-09
提示词工程:用斯坦福发现的VS提示词技巧,解锁AI的无限创意
2025-10-09
2025-09-12
2025-11-14
2025-10-21
2025-09-23
2025-10-13
2025-09-05
2025-09-23
2025-09-08
2025-09-26