为 Claude Code CLI 提供美观且高度可定制的状态行,具有powerline support, themes, and more.

💡 本文中文版由 aicoding.sh 翻译整理。


ccstatusline

🎨 一个可高度自定义的 Claude Code CLI 状态栏格式化工具

在终端中显示模型信息、Git 分支、Token 使用量以及其他指标。


📚 目录

  • 最近更新
  • 功能特点
  • 快速开始
  • Windows 支持
  • 使用说明
  • API 文档
  • 开发
  • 贡献指南
  • 许可证
  • 相关项目

🆕 最近更新

v2.0.16

  • 为"当前工作目录"组件增加了 Fish 风格路径缩写切换功能。

v2.0.15

  • 修复了区块计时器(Block Timer)的计算错误。

v2.0.14

  • 为上下文百分比组件新增"剩余模式"切换。

    • 可在配置界面中按 l 键切换显示"已用百分比"与"剩余百分比"。

v2.0.12

  • 自定义文本组件现在支持 Emoji 表情。

- 可直接粘贴 Emoji,并开启"合并模式"获得表情标签效果。

v2.0.11

  • 🚀 无限状态行支持:去除了原有的 3 行限制。

v2.0.10

  • 🌳 新增 Git 工作树组件:在使用 Git Worktree 时显示当前工作树名称。
  • 👻 支持隐藏"无 Git 仓库"提示信息。

v2.0.8

  • ⚙️ Powerline 模式自动对齐:多行状态栏可自动按列对齐,视觉更整齐。

v2.0.7

  • 📁 新增"当前工作目录"与"会话费用"组件:

    • 可显示路径末尾若干段。
    • 自动截断过长路径。
    • 💰 支持实时显示 Claude Code 会话费用(美元)。

v2.0.2

  • ⏱️ 区块计时器组件:显示 5 小时 Claude Code 会话周期的进度。

v2.0.0

  • ⚡ 引入 Powerline 模式与增强主题支持。

    • 支持多种颜色模式、字体自动安装、组件合并与自定义箭头分隔符。

✨ 功能特点

  • 📊 实时指标:模型名、Git 分支、Token 使用、会话时长、区块计时等。
  • 🎨 完全自定义:可配置组件顺序与颜色。
  • ⚡ Powerline 支持:支持箭头分隔符与自定义字体。
  • 📐 多行状态栏:可配置多行独立状态栏。
  • 🖥️ 交互式配置界面:基于 React/Ink 的 TUI。
  • 🚀 跨平台支持:兼容 Node.js 与 Bun。
  • ⚙️ 灵活配置:支持自定义 Claude Code 配置目录。
  • 📏 智能宽度检测:自动适配终端宽度。
  • ⚡ 零配置即可使用:开箱即用。

🚀 快速开始

无需安装,直接运行:

perl 复制代码
# 使用 npm 启动配置界面
npx ccstatusline@latest

# 或使用 Bun(更快)
bunx ccstatusline@latest

配置工具提供了一个交互式终端界面,可:

  • 添加、删除或排序状态行组件
  • 自定义颜色与分隔符
  • 实时预览效果

配置文件保存在 ~/.config/ccstatusline/settings.json

自定义 Claude 配置目录

ini 复制代码
# Linux/macOS
export CLAUDE_CONFIG_DIR=/custom/path/to/.claude

# Windows PowerShell
$env:CLAUDE_CONFIG_DIR="C:\custom\path.claude"

🪟 Windows 支持

支持 PowerShell、CMD 与 WSL,功能完整。

安装

推荐方式(Bun)

bash 复制代码
irm bun.sh/install.ps1 | iex
bunx ccstatusline@latest

Node.js 方式

perl 复制代码
npx ccstatusline@latest
# 或 yarn / pnpm
yarn dlx ccstatusline@latest
pnpm dlx ccstatusline@latest

Powerline 字体支持

推荐使用 Windows Terminal:

复制代码
winget install DEVCOM.JetBrainsMonoNerdFont

常见问题

  • 字体乱码 → 安装兼容 Nerd Font。
  • Git 命令未识别 → 确保 Git 在 PATH 中。
  • 权限错误 → 使用 npx 方式或管理员权限运行。

📖 使用说明

配置完成后,状态栏将在 Claude Code 终端底部自动显示。

可用组件包括:

  • 模型名称
  • Git 分支与变更统计
  • 会话时间与费用
  • Token 计数(输入、输出、缓存、总计)
  • 上下文长度与使用百分比
  • 当前工作目录
  • 自定义文本 / 命令
  • Powerline 分隔符 / 自适应分隔符

支持"原始值模式"与"进度条模式"。


🔧 自定义组件

自定义文本

用于显示项目名、环境信息或个人标识。

自定义命令

可执行 Shell 命令并显示输出:

perl 复制代码
pwd | xargs basename
node -v
git rev-parse --short HEAD
date +%H:%M
curl -s wttr.in?format="%t"

支持设定超时(默认 1000ms),并接收 Claude Code JSON 数据输入。

与 ccusage 集成示例

css 复制代码
npx -y ccusage@latest statusline

📘 API 文档

使用 TypeDoc 自动生成,包含:

  • 核心类型定义
  • 组件系统
  • 工具函数
  • 渲染引擎

生成文档:

arduino 复制代码
bun run docs
bun run docs:clean

生成内容位于 docs/ 目录。


🛠️ 开发指南

前置要求

  • Bun ≥ 1.0
  • Git
  • Node.js ≥ 18(可选)

开发命令

bash 复制代码
git clone https://github.com/sirmalloc/ccstatusline.git
cd ccstatusline
bun install

# 启动 TUI 模式
bun run src/ccstatusline.ts

# 构建发布版本
bun run build

目录结构

scss 复制代码
ccstatusline/
├── src/
│   ├── tui/ (React/Ink 配置界面)
│   ├── widgets/ (组件实现)
│   ├── utils/ (渲染与工具函数)
│   └── types/ (类型定义)
├── dist/
└── package.json

🤝 贡献

欢迎贡献代码:

bash 复制代码
git checkout -b feature/your-feature
git commit -m 'Add feature'
git push origin feature/your-feature

然后提交 Pull Request。


📄 许可证

MIT © Matthew Breedlove

GitHub: @sirmalloc


🔗 相关项目

  • tweakcc:自定义 Claude Code 主题与动词样式。
  • ccusage:Claude Code 使用量监控工具。

🙏 致谢

  • 构建于 Anthropic Claude Code CLI
  • 基于 Ink 实现终端 UI
  • ❤️ 献给 Claude Code 社区
相关推荐
leobertlan5 小时前
2025年终总结
前端·后端·程序员
面向Google编程6 小时前
从零学习Kafka:数据存储
后端·kafka
子兮曰6 小时前
OpenClaw架构揭秘:178k stars的个人AI助手如何用Gateway模式统一控制12+通讯频道
前端·javascript·github
旅之灵夫6 小时前
【GitHub项目推荐--Remotion:使用React编程化创建视频】⭐⭐⭐
github
易安说AI6 小时前
Claude Opus 4.6 凌晨发布,我体验了一整晚,说说真实感受。
后端
易安说AI7 小时前
Ralph Loop 让Claude无止尽干活的牛马...
前端·后端
易安说AI7 小时前
用 Claude Code 远程分析生产日志,追踪 Claude Max 账户被封原因
后端
颜酱8 小时前
图结构完全解析:从基础概念到遍历实现
javascript·后端·算法
Coder_Boy_10 小时前
基于SpringAI的在线考试系统-考试系统开发流程案例
java·数据库·人工智能·spring boot·后端
掘金者阿豪11 小时前
关系数据库迁移的“暗礁”:金仓数据库如何规避数据完整性与一致性风险
后端