Skip to content

MengFanLu1/claude-code-status-bar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Claude Status Bar

为 Claude Code 添加一个功能丰富的自定义状态栏,实时显示 API 使用情况、项目统计、Git 信息等。

License Python

✨ 功能特性

  • 💰 费用监控 - 实时显示每日费用和限额,带彩色进度条
  • 📊 请求统计 - 显示今日 API 请求次数
  • 🤖 模型信息 - 当前使用的 AI 模型(Sonnet/Opus/Haiku)
  • 🌿 Git 状态 - 分支名称和修改文件数量
  • 🧠 上下文监控 - 会话上下文使用量和百分比
  • 📁 项目统计 - Token 使用量、费用和工作时长
  • 🎨 彩色输出 - ANSI 颜色美化,清晰易读
  • 性能优化 - 轻量级设计,毫秒级响应

📸 效果预览

实际运行效果

安装成功效果

文本格式示例

💰$5.63/$60.00 ███░░░░░░░░░░░░░░░░ 11.05% 📊126req ┃ ⚡Sonnet 4.5 ┃ 🌿main(3) ┃ 🧠136k/200k(68%) ┃ 📁项目:4.3M($1.91) ⏱️ 21m 🕐10:10

各部分说明

部分 说明 示例
💰费用 今日费用/每日限额 $5.63/$60.00
进度条 每日使用比例(彩色) ███░░░░░ 11.05%
📊请求 今日请求次数 📊126req
⚡模型 当前使用模型 ⚡Sonnet 4.5
🌿Git 分支名(修改数) 🌿main(3)
🧠上下文 已用/总量(百分比) 🧠136k/200k(68%)
📁项目 Token(费用) 时长 📁项目:4.3M($1.91) ⏱️ 21m
🕐时间 当前时间 🕐10:10

🚀 快速开始

方法一:自动安装(推荐)

Windows 用户

# 1. 克隆或下载本项目
git clone https://github.com/你的用户名/claude-status-bar.git
cd claude-status-bar

# 2. 运行安装脚本
setup.bat

Linux/Mac 用户

# 1. 克隆或下载本项目
git clone https://github.com/你的用户名/claude-status-bar.git
cd claude-status-bar

# 2. 运行安装脚本
chmod +x setup.sh
./setup.sh

安装脚本会自动:

  1. ✅ 检查 Python 环境
  2. ✅ 安装所需依赖(requests、urllib3)
  3. ✅ 提示您输入 API ID
  4. ✅ 复制文件到 ~/.claude 目录
  5. ✅ 配置 API ID
  6. ✅ 更新 Claude Code 的 settings.json
  7. ✅ 自动备份原配置文件
  8. ✅ 测试运行状态栏

安装完成后,重启 Claude Code 即可看到状态栏!

方法二:手动安装

点击展开手动安装步骤

1. 复制文件

# Windows
copy status-final.py %USERPROFILE%\.claude\
copy run-status.bat %USERPROFILE%\.claude\

# Linux/Mac
cp status-final.py ~/.claude/
cp run-status.sh ~/.claude/
chmod +x ~/.claude/run-status.sh

2. 配置 API 信息

编辑 ~/.claude/status-final.py,修改第 5-6 行:

# API 配置
API_URL = "https://crs.ve-rel.com/apiStats/api/user-stats"  # 替换为你的 API URL
API_ID = "your-api-id-here"  # 替换为你的真实 API ID

3. 安装依赖

pip install requests urllib3

4. 配置 Claude Code

编辑 ~/.claude/settings.json

Windows:

{
  "statusLine": {
    "type": "command",
    "command": "C:\\Users\\你的用户名\\.claude\\run-status.bat"
  }
}

Linux/Mac:

{
  "statusLine": {
    "type": "command",
    "command": "/home/你的用户名/.claude/run-status.sh"
  }
}

5. 重启 Claude Code

📋 系统要求

  • Python: 3.6 或更高版本
  • Claude Code: 最新版本
  • 依赖: requestsurllib3(自动安装)
  • 平台: Windows / Linux / macOS

🔧 配置说明

API 配置

本项目需要两个配置项:

1. API URL

API 请求的完整地址,用于获取使用统计信息。

示例:https://crs.ve-rel.com/apiStats/api/user-stats

2. API ID

用于身份验证的 UUID 格式 ID。

示例:b2f061f5-b69c-45f9-a10b-c64a5a4be751

请从你的 API 服务提供商处获取这两个配置。

配置位置

  • 配置文件: ~/.claude/status-final.py
  • 第 5 行: API_URL = "https://your-api-server.com/path"
  • 第 6 行: API_ID = "your-api-id-here"

工作原理

Claude Code (每 5-10 秒)
    ↓
调用 run-status.bat/sh
    ↓
执行 status-final.py
    ↓
请求 API 获取数据
    ↓
格式化并输出状态信息
    ↓
显示在 Claude Code 状态栏

🛠 诊断工具

如果状态栏显示"获取失败",可以使用诊断工具排查问题:

python test-login.py

诊断工具会检查:

  • ✅ 网络连接是否正常
  • ✅ API ID 是否有效
  • ✅ API 请求是否成功
  • ✅ 数据格式是否正确

诊断输出示例

============================================================
                         API 连接诊断工具
============================================================

[0/2] 读取配置文件...
✓ 配置文件读取成功

[1/2] 测试网络连接...
✓ 网络连接正常 (状态码: 200)

[2/2] 测试 API 请求...
  API ID: b2f061f5-b69c-45f9-a...
  HTTP 状态码: 200
✓ API 请求成功!
  API 名称: 252657030 包月299
  状态: 激活
  总费用: $4.59 / $1800.00
  今日费用: $4.59 / $60.00
  总 Token: 3,713,848
  请求次数: 83

============================================================
诊断完成!所有测试通过 ✓
============================================================

🎨 自定义

修改显示内容

编辑 status-final.pymain() 函数(第 750 行):

parts = [
    account_info,           # 费用信息
    get_model_info(),       # 模型
    get_git_info(),         # Git
    get_context_display(),  # 上下文
    project_info            # 项目统计
]

可以调整顺序或删除不需要的部分。

修改颜色

Colors 类中定义了所有颜色(第 34 行):

class Colors:
    GREEN = '\033[32m'    # 绿色
    YELLOW = '\033[33m'   # 黄色
    RED = '\033[31m'      # 红色
    # ... 更多颜色

修改阈值

进度条颜色阈值(第 155-163 行):

if usage_ratio >= 0.8:      # 80% 以上红色
    cost_color = Colors.RED
elif usage_ratio >= 0.4:    # 40-80% 黄色
    cost_color = Colors.YELLOW
else:                        # 0-40% 绿色
    cost_color = Colors.GREEN

❓ 常见问题

Q: 状态栏显示"获取失败"?

原因:API 请求失败

解决

  1. 检查 API ID 是否正确
  2. 运行诊断工具:python test-login.py
  3. 检查网络连接
  4. 查看错误日志(如果有输出到 stderr)

Q: 请求次数颜色含义?

  • 🟢 绿色 (0-49次) - 正常使用
  • 🟡 黄色 (50-99次) - 使用较多
  • 🔴 红色 (100次以上) - 使用频繁

Q: 如何添加数据缓存?

如果 API 有频率限制,可以添加缓存(10秒):

CACHE_FILE = os.path.expanduser('~/.claude/.api_cache')
CACHE_DURATION = 10  # 秒

def get_cached_api_data():
    if os.path.exists(CACHE_FILE):
        if time.time() - os.path.getmtime(CACHE_FILE) < CACHE_DURATION:
            with open(CACHE_FILE, 'r') as f:
                return json.load(f)
    return None

Q: 如何卸载?

# 1. 删除文件
rm ~/.claude/status-final.py
rm ~/.claude/run-status.bat  # Windows
rm ~/.claude/run-status.sh   # Linux/Mac

# 2. 删除配置
# 编辑 ~/.claude/settings.json,移除 statusLine 部分

# 3. 重启 Claude Code

🔒 安全提醒

⚠️ 重要

  • 不要将包含真实 API ID 的配置文件上传到公开仓库
  • API ID 具有敏感性,请妥善保管
  • 建议在 .gitignore 中添加配置文件

示例 .gitignore

# 忽略包含真实凭证的文件
status-final.py
~/.claude/.api_cache
~/.claude/.super_yi_token

📊 数据来源

本工具从以下来源获取数据:

数据类型 来源 更新频率
费用统计 API 请求 每次刷新
请求次数 API 请求 每次刷新
Git 信息 本地 Git 命令 每次刷新
上下文 Claude stdin/transcript 每次刷新
项目统计 ~/.claude/projects/ 每次刷新

🤝 贡献

欢迎贡献代码!请遵循以下步骤:

  1. Fork 本仓库
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 Pull Request

📝 更新日志

v2.0.0 (2025-12-02)

  • ✨ 迁移到新 API 接口
  • ✨ 添加请求次数统计
  • ✨ 改为显示每日限额(适合月卡用户)
  • 🐛 修复变量名冲突导致的获取失败问题
  • 📝 更新完整文档

v1.0.0

  • 🎉 首次发布
  • 💰 支持费用监控
  • 📊 支持项目统计
  • 🎨 彩色状态栏

📄 许可证

本项目采用 MIT 许可证 - 详见 LICENSE 文件

💬 支持

遇到问题?


如果觉得有用,请给个 ⭐ Star 支持一下!

About

在ckaude-code-cli实时显示所用额度,示例是结合crs返回的结果使用

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors