首页 › tutorials › Claude Code 配置入门:自造状态栏

概述

本教程面向第一次接触 Claude Code 的开发者,目标是用一份 settings.json 让工具"默认就懂你":选定模型、设定中文回复、自动清理历史,并亲手写一个状态栏脚本,把当前模型、本次会话花费、增删行数实时显示在终端底部。学完后你将掌握 Claude Code 的五层配置优先级,并拥有一个可复用、可提交团队共享的配置基线。

前置条件

正文

第 1 步:理解五层配置优先级——为什么你的设置"没生效"

Claude Code 的配置不是一个文件说了算,而是五层叠加,从高到低依次为:

优先级 位置 是否共享 用途
1 托管设置(Managed,组织下发) 是 安全策略,不可被覆盖
2 命令行参数(claude --model opus) 否 单次会话临时覆盖
3 .claude/settings.local.json 否(git 忽略) 个人在该项目的私有偏好
4 .claude/settings.json 是(提交到 Git) 团队共享的项目配置
5 ~/.claude/settings.json 否 全局个人默认值

两条铁律记牢:

预期结果:当你发现某个设置"改了没反应",先问自己——是不是被更高优先级的层压住了?是不是命令行参数临时覆盖了?

常见问题:

第 2 步:写出你的第一个 settings.json

用户级配置位于 ~/.claude/settings.json,这是个人所有项目的默认基线。新建并编辑它:

mkdir -p ~/.claude
cat > ~/.claude/settings.json <<'EOF'
{
  "$schema": "https://json.schemastore.org/claude-code-settings.json",
  "model": "sonnet",
  "language": "chinese",
  "cleanupPeriodDays": 30,
  "autoCompactEnabled": true,
  "alwaysThinkingEnabled": false
}
EOF

字段逐条解释:

预期结果:再次运行 claude,向它提问,应直接用中文回答;用 /model 查看时默认停留在 sonnet。

常见问题:

第 3 步:自造状态栏——把模型、花费、改动量焊到终端底部

状态栏(status line)是 Claude Code 在交互界面底部显示的一行信息。默认很简陋,但它支持你用任意脚本接管:Claude Code 会把当前会话的 JSON 数据通过标准输入喂给你的脚本,你的脚本打印什么,底部就显示什么。

先确认数据格式。Claude Code 传给脚本的 JSON 大致长这样:

{
  "model": { "id": "claude-sonnet-4-6", "display_name": "Sonnet" },
  "workspace": { "current_dir": "/home/you/myapp", "project_dir": "/home/you/myapp" },
  "version": "2.1.199",
  "cost": {
    "total_cost_usd": 0.0234,
    "total_duration_ms": 45120,
    "total_lines_added": 87,
    "total_lines_removed": 12
  }
}

接下来写一个解析脚本:

cat > ~/.claude/statusline.sh <<'EOF'
#!/usr/bin/env bash
input=$(cat)
model=$(echo "$input" | jq -r '.model.display_name // "?"')
cost=$(echo "$input" | jq -r '.cost.total_cost_usd // 0')
added=$(echo "$input" | jq -r '.cost.total_lines_added // 0')
removed=$(echo "$input" | jq -r '.cost.total_lines_removed // 0')
dir=$(echo "$input" | jq -r '.workspace.current_dir // ""' | sed "s|$HOME|~|")
printf "🤖 %-8s 💰 \$%.4f  ✎ +%s/-%s  📂 %s" \
  "$model" "$cost" "$added" "$removed" "$dir"
EOF
chmod +x ~/.claude/statusline.sh

然后把它挂到配置里。编辑 ~/.claude/settings.json,增加 statusLine 字段:

{
  "$schema": "https://json.schemastore.org/claude-code-settings.json",
  "model": "sonnet",
  "language": "chinese",
  "cleanupPeriodDays": 30,
  "autoCompactEnabled": true,
  "alwaysThinkingEnabled": false,
  "statusLine": {
    "type": "command",
    "command": "bash ~/.claude/statusline.sh",
    "padding": 0
  }
}

预期结果:重新进入 claude,终端底部出现一行类似:

🤖 Sonnet  💰 $0.0234  ✎ +87/-12  📂 ~/myapp

随着对话推进,金额与增删行数会实时跳动——这就是你最直观的"开销仪表盘"。

常见问题:

第 4 步:用 /config 与 /model 在会话里微调

不想每次改文件也可以:进入 claude 后输入 /config 打开交互式配置面板,能可视化切换主题、是否自动压缩、是否推送通知等,改动会写回 ~/.claude/settings.json;输入 /model 可临时切模型,输入 /output-style 可切换输出风格(如更简洁或更详尽)。

实战案例:在空目录里跑通"第一个项目",验证配置生效

把前面学的串起来,用一个最小闭环验证:建项目 → 用配置好的环境 → 让 Claude 生成并测试代码 → 状态栏反映改动量。

# 1) 建项目目录与团队共享配置(第 4 层,可提交 Git)
mkdir -p hello-cc/.claude && cd hello-cc
cat > .claude/settings.json <<'EOF'
{
  "model": "sonnet",
  "language": "chinese"
}
EOF

# 2) 进入 Claude Code
claude

在交互界面输入一句需求(直接喂文件、给清楚验收标准是高效提问的要诀):

在当前目录用 Python 写一个 adder.py,提供 add(a, b) 函数,并用 assert 写 3 条测试。写完直接运行 python3 -c "import adder; adder.add(1,2)" 验证。

预期结果:

完成后,退出 claude,查看文件:

cat adder.py

至此,你的配置(中文、Sonnet、状态栏、自动压缩)在真实任务里全部跑通。

工作流程图

flowchart TD
    A[启动 claude] --> B{读取五层配置}
    B -->|优先级由高到低| C1[托管设置 Managed]
    C1 --> C2[命令行参数]
    C2 --> C3[.claude/settings.local.json]
    C3 --> C4[.claude/settings.json 团队共享]
    C4 --> C5[~/.claude/settings.json 个人]
    C5 --> D[合并: 标量覆盖 数组拼接去重 deny最高]
    D --> E[会话按配置运行]
    E --> F[每轮更新会话JSON]
    F --> G[statusLine脚本接收JSON]
    G --> H[终端底部渲染: 模型/花费/改动量]
    H --> E

延伸阅读

训练营适用性评估

参考来源

  1. Claude Code settings — 官方文档 — 五层优先级、80+ 配置字段与 200+ 环境变量的权威出处。
  2. Customize your status line — 官方文档 — statusLine 字段、传入 JSON 数据结构的官方说明。
  3. claude-code-best-practice / claude-settings.md(v2.1.199, 2026-07-03) — 逐字段详解的社区维护参考,时效性强。
  4. Claude Code Status Line — Complete Guide(gist) — 可用数据字段清单与脚本模板合集。
  5. Claude Code settings.json: Every Option Explained(2026) — 配置体系与实战片段的图文讲解。

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入