DeepDojo.AI发布 2026-11-14English

Claude Code 状态栏和多账号配置

Claude CodeAI 编程

周一早上刚坐下,你熟练地恢复了上周五的会话。目录对,分支也对,可转头一看状态栏:14 个文件未提交,上下文已用 91%。你清楚记得收工前只改了 2 个文件,上下文最多四成。

这时候顺手敲一句“接着做”,这句话会落在一个你还没看清的现场上。Claude Code 能读写磁盘、运行系统命令,还能调用浏览器和外部服务;同一句“继续刚才的修改”,换一个目录、账号或窗口,指向的现实可能完全不同。

敲下回车之前,先在脑子里过一遍三个底线问题:

  • 它此刻坐在哪台机器的哪个目录、哪个分支上;
  • 会话里还带着哪些旧上下文,额度还够不够;
  • 当前用的是哪个账号,这趟操作被放了多大的执行权限。

状态栏能把前两个问题的答案一直摆在屏幕底部,账号则靠名字清楚的启动入口来区分。遇到开头那种对不上的数字,先用 git diff 查清多出来的文件从哪来,再决定接着改、压缩上下文,还是开一个新会话。

01 状态栏该显示哪些信息

自定义状态栏由本地脚本生成:Claude Code 把会话状态以 JSON 交给脚本,脚本读出模型、目录等字段,输出为界面底部的一行文字。状态栏只负责展示,切换目录或权限仍然要你自己来。

一个实用的状态栏优先呈现:

  • 当前模型;
  • 当前工作目录;
  • 当前 Git 分支和未提交改动;
  • 本地分支与远端分支是否同步;
  • 上下文窗口的使用比例;
  • 当前会话或最近任务的简短标记。

目录和 Git 信息帮你确认“在不在对的地方”,模型、上下文比例和会话标记帮你判断“这个会话还适不适合继续”。比如目录正确,会话却还在讨论上一个需求,那就先处理旧上下文,再开始修改。

02 数字对不上,先查清来源

回到周一早上的场景:14 个未提交文件、91% 的上下文,和你记忆里的 2 个文件、40% 对不上。

这种差异往往有迹可循:你在别的终端窗口敲过命令,后台跑的测试任务改了文件,或者上一轮对话收尾时输出了一大堆没清理的日志。先手动跑一次 git diff 扫一眼现场代码,再翻翻最近几条对话记录,弄清这 14 个改动打哪儿来。

把现实进度锚定住之后,再从容决定:接着往下改,先把历史上下文压缩一下,还是关掉它开个新会话。状态栏的价值就在这里,它让你在开工前发现目录、分支或会话不对,省得做完之后再回头查原因。

03 接入一个状态栏脚本

把准备好的脚本复制到 Claude 配置目录,并赋予执行权限:

mkdir -p ~/.claude/scripts
cp scripts/context-bar.sh ~/.claude/scripts/
chmod +x ~/.claude/scripts/context-bar.sh

然后把下面的 statusLine 字段合并到 ~/.claude/settings.json,保留文件中的其他设置。之后所有配置片段都按这个方式合并,整个文件覆盖会丢掉原有配置:

{
  "statusLine": {
    "type": "command",
    "command": "~/.claude/scripts/context-bar.sh",
    "padding": 2
  }
}

脚本通常依赖 bash 和 jq,常用的输入字段有 model.display_name、workspace.current_dir、context_window.used_percentage。Claude Code 状态栏文档列出了全部字段,其中还有 5 小时和 7 天用量限额的百分比,想在底部同时看额度也能加上。

上下文比例反映当前窗口已经用了多少空间。比例持续升高时,先判断接下来是否还需要这些材料;如果会话已经变慢、重复,或接近压缩时机,再按任务状态选择 /compact、交接文件或新会话。

04 按问题选命令:额度、上下文和外部工具

输入 / 可以查看当前环境提供的命令。日常最常遇到三类问题:额度还够不够,上下文要不要整理,任务需不需要外部工具。

1. 查看额度与使用习惯

/usage 查看会话费用、套餐使用限制和活动统计,具体栏目取决于账号和当前版本。长任务开始前或关键阶段结束后看一眼,能帮你决定是否缩小任务、调整模型或暂缓新的大步骤。

/stats 是 /usage 的别名,打开后直接停在统计页。想回看近期的使用习惯,可以用 /insights 生成一份分析本机近期会话的报告。这些数据适合观察长期习惯,比如单个会话是否经常拖得过长、高成本模型是否被用在了简单任务上。

2. 整理上下文

感觉会话变重时,先用 /context 查看上下文构成。任务仍然相同、只是窗口需要释放空间时,用 /compact,它会总结当前对话,保留继续任务所需的信息。主题已经改变、旧约束开始干扰或会话状态混乱时,用 /clear 开启空上下文,历史会话仍可通过 /resume 找回。

仍是同一任务?
  ├─ 是:先看 /context,需要空间时 /compact
  └─ 否:使用 /clear 或新会话

日常最容易碰上的情况是:重构到一半,中间插进来几轮查 bug 的排错讨论;现在想接着重构,回答里却总掺着刚才排错时的无关内容。

先用 /context 检查构成。如果重构仍需要当前的决策,用 /compact,并明确要求保留方案和已完成步骤、舍弃无关的排查输出。如果重构已经结束、新任务用不上这些信息,直接 /clear;新任务仍要解释重构决策时,先把必要的事实存下来。压缩、交接和裁剪历史各自会留下什么,可以看换会话时怎样保住之前的约定。

3. 接入浏览器和外部服务

/chrome 配置 Claude in Chrome,启动时启用浏览器集成可以用 claude --chrome。它适合需要本机浏览器登录态、视觉判断或真实浏览器配置的场景。结构化网页操作更适合 Playwright MCP,它依赖页面结构和可访问性树,重复操作更稳定。

场景优先考虑
使用已经登录的网站/chrome
稳定点击表单、按钮和链接Playwright MCP
根据页面外观判断状态/chrome 或截图能力
重复执行结构化网页流程Playwright MCP

/mcp 查看和管理 MCP server。MCP 是外部能力的入口,能连接浏览器自动化、Slack、Notion、数据库、研究工具或内部系统。接入私有数据源前,先确认 server 的来源、权限范围和数据边界。

05 用别名缩短日常启动

每天多次启动 Claude Code 时,可以在 ~/.zshrc 或 ~/.bashrc 中设置别名:

alias c='claude'
alias ch='claude --chrome'
alias cr='claude remote-control'
alias co='code'
alias q='cd ~/Desktop/projects'

co 要求已安装 VS Code 的 code 命令,q 中的目录换成自己的项目目录,用不上的别名可以省略。保存后重新加载配置,zsh 用 source ~/.zshrc,bash 用 source ~/.bashrc。

命令用途
c启动 Claude Code
c -c继续上一次会话
c -r从历史会话中选择恢复
ch带 Chrome 集成启动
ch -c继续上一次带 Chrome 集成的会话

别名省掉的是重复敲键盘的功夫,跳过权限检查的入口要另当别论。越是带破坏性的入口,敲下它时的心理门槛就该设得越高;把它保留成醒目的独立别名,每次使用时都清楚自己进入了高风险模式。

普通入口启动后,实际采用手动批准还是自动批准取决于当前设置。较新的版本会默认以 auto 模式启动,所以启动后看一眼界面上显示的模式,再开始任务。

06 个人账号和工作账号分开用

同时使用个人账号和工作账号时,要确认当前账号、项目数据、Git 身份和组织权限彼此相符。

登录信息的保存位置因系统而异:macOS 存在加密的 Keychain 里,Linux 和 Windows 存在用户目录下的 .claude/.credentials.json。环境变量 CLAUDE_CODE_OAUTH_TOKEN 可以覆盖默认登录状态,Claude Code 认证文档列出了各种凭据的优先顺序。

用 claude setup-token 生成长期 OAuth token,官方文档写明有效期一年,适用于脚本、CI 或没法用浏览器登录的环境。命令会把 token 打印在终端里,不负责保存,所以要分别用对应账号生成,再各自存进凭证存储。在 macOS 上可以存进 Keychain,下面的命令由提示交互输入 token,不会把它留在命令行参数里:

security add-generic-password -s "claude-token-work" -a "$USER" -U -w
security add-generic-password -s "claude-token-personal" -a "$USER" -U -w

再在 ~/.zshrc 中创建名字清楚的启动函数:

claude-work() { CLAUDE_CODE_OAUTH_TOKEN="$(security find-generic-password -s claude-token-work -a "$USER" -w)" claude "$@"; }
claude-personal() { CLAUDE_CODE_OAUTH_TOKEN="$(security find-generic-password -s claude-token-personal -a "$USER" -w)" claude "$@"; }

用对应身份恢复会话:

claude-work --resume
claude-personal --resume

这类 token 只用于模型请求的鉴权,建立 Remote Control 会话要用完整登录;过期后重新运行 claude setup-token。

启动函数负责选 token,项目目录和 Git 身份还要分别确认。把四样东西一一对应起来,才能判断当前账号适不适合处理眼前的数据:

工作账号 ↔ 工作目录 ↔ 工作 Git 身份 ↔ 工作数据与权限
个人账号 ↔ 个人目录 ↔ 个人 Git 身份 ↔ 个人数据与权限

token 只放在凭证存储里,公开仓库和共享文档里都不出现。公司项目还要服从组织的安全要求;清楚的函数名和目录边界,会在每次启动时再提醒你一次当前身份。

身份函数只管选凭据,你仍然可能在错误的目录里启动它。如果用个人入口打开了工作项目,发送材料前先检查账号与目录是否符合组织要求。Git 身份、外部服务凭据,以及敏感材料能否进入当前账号,都要按已确认的数据政策单独核对。

小黑在启动闸门前核对目录与分支、账号与身份、权限与恢复,确认边界后再开始任务

07 开工前过一遍五项检查

开始或继续会话前,按下面的顺序快速检查:

检查对象要确认的内容发现异常后的动作
环境目录、分支、未提交改动切回正确项目,先处理已有改动
会话任务是否一致、上下文是否过重/compact、交接文件或新会话
身份账号、token、Git 身份、数据边界使用对应账号入口并隔离项目
权限命令风险、恢复路径、是否需要隔离选择 auto 模式、人工确认或隔离环境
版本当前版本、变化收益、回退方式暂缓、升级、验证或回滚

版本这一行容易被忽略:工具本身也在变,新版本可能改掉命令或默认行为,该不该马上升级要单独判断。

检查时始终围绕三件事:当前在哪个项目,Claude Code 准备做什么,出错后能不能恢复。目录、账号和任务范围都对,才开始操作。实际常遇到两种错位:目录和账号没问题,请求却说不清楚,就先收紧任务;请求清楚,文件却有来历不明的变化,就先看 diff。

发现异常时,先处理那一项,再从头复查一遍。周一早上那 14 个文件,查清来源之后,“接着做”才有了确定的含义。