清晰高效!自定义Claude Code状态栏

我们可以为Claude Code 创建自定义状态行以显示上下文信息,如图所示:

清晰高效!自定义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状态栏

比如下面就是将模型颜色改成橙色,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='
企业落地数字员工新闻资讯

AI Agent:企业服务的新密码

2026-4-29 21:39:27

个人提效企业落地新闻资讯

AI提效:用微信和飞书多维表格打造票据自动处理工作流

2026-4-29 21:44:19

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
购物车
优惠劵
搜索