为 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 社区
相关推荐
码农小站5 小时前
从零搭建vsftpd服务器:避坑指南+实战解决方案
后端
掘金一周5 小时前
一个前端工程师的年度作品:从零开发媲美商业级应用的后台管理系统 | 掘金一周 10.23
前端·人工智能·后端
凤山老林5 小时前
SpringBoot 如何实现零拷贝:深度解析零拷贝技术
java·linux·开发语言·arm开发·spring boot·后端
程序员小假5 小时前
我们来讲一讲阻塞队列及其应用
java·后端
xtstart5 小时前
从1.5秒到80毫秒:我如何优化元数据平台的“万能搜索”接口
后端
Value_Think_Power5 小时前
okta access token 用户登录一小时后失效,如何延迟避免用户频发登录,保存在哪里,前端Vue 实现,后端是golang ; 提供一个方案
后端
用户68545375977695 小时前
📬 分布式消息队列:三大终极难题!
后端
调试人生的显微镜5 小时前
Wireshark抓包教程:JSON和HTTPS抓取
后端
回家路上绕了弯5 小时前
亿级别黑名单与短链接:该选什么数据结构?从需求到落地的技术选型指南
后端