cc-code-status
Version:
Enhanced Claude Code launcher with statusline - supports multiple custom API configurations and code statistics
346 lines (254 loc) • 7.07 kB
Markdown
# CC Code Status
**增强版 Claude Code 启动器 + 状态栏插件**
一个集成了多 API 配置管理、代码统计和数据上报的 Claude Code 增强工具。
## 核心功能
### 1. Claude Code 启动器
- 多 API 配置管理(支持多个账号/环境)
- 一键启动 Claude Code 并自动注入环境变量
- 启动前显示今日统计
- 自动检测 Claude Code 安装状态
### 2. 状态栏插件
在 Claude Code 状态栏实时显示:
- **Git 用户名** - 从 `git config user.name` 获取
- **对话统计** - 对话次数/轮数(排除系统命令)
- **代码统计** - 新增/删除代码行数
**显示格式**: `qilin ↑ | Chat: 16次/154轮 | Code: +446/-313`
- `↑` - 数据上报已启用(可选)
- `16次` - 对话会话数(按 sessionId 去重)
- `154轮` - 用户消息总数
- `+446/-313` - 新增/删除代码行数
### 3. 数据上报
- 定期同步对话详情到后端 API(可配置APi、间隔,可关闭)
- 手动触发数据上报
- 自定义数据上报(手动输入数据)
### 4. 项目排除
- 排除指定项目,不计入统计
- 支持路径模糊匹配
## 安装
### 前置要求
- Node.js >= 16.0.0
- Claude Code(必须先安装)
```bash
# 安装 Claude Code(如果未安装)
npm install -g @anthropic-ai/claude-code
```
### 全局安装
```bash
npm install -g cc-code-status
```
安装后会自动配置状态栏。
## 快速开始
### 首次使用
安装后首次运行会引导你配置 API:
```bash
ccs
```
交互式配置:
1. 输入配置名称(如 `work`, `personal`)
2. 输入 API Key
3. 输入 Base URL
4. 可选:配置模型名称
配置完成后,Claude Code 会自动启动。
## 命令列表
所有命令都支持短别名 `ccs`,例如 `ccs config add` 等同于 `cc-code-status config add`。
### 启动器命令
```bash
ccs # 启动 Claude Code(自动选择配置)
ccs --profile <配置名> # 使用指定配置启动
ccs -p work # 使用 work 配置启动
ccs -v # 查看版本号
ccs help # 显示帮助
```
### 配置管理命令
```bash
ccs config # 查看配置帮助(无配置时引导添加)
ccs config add # 添加新配置
ccs config list # 列出所有配置
ccs config show # 显示当前配置
ccs config remove <名称> # 删除指定配置
ccs config --reset # 重置所有配置
```
### 统计查看命令
```bash
ccs stats today # 显示今日统计
ccs stats week # 显示本周统计(周一-周日)
ccs week # 同 stats week
```
### 数据上报命令
```bash
ccs sync-enable # 启用数据上报
ccs sync-disable # 禁用数据上报
ccs sync-status # 查看上报状态
ccs sync-now # 手动触发一次上报(真实数据)
ccs sync # 同 sync-now
ccs custom-sync # 自定义数据上报(交互式输入)
```
### 项目排除命令
```bash
ccs exclude add <路径> # 添加排除项目
ccs exclude remove <路径> # 移除排除项目
ccs exclude list # 列出所有排除项目
```
### 旧版兼容命令
```bash
ccs setup # 配置状态栏(向后兼容)
ccs uninstall # 移除状态栏配置
```
## 使用场景
### 场景 1:多账号管理
```bash
# 添加公司账号
ccs config add
# 配置名称: work
# API Key: sk-ant-...
# Base URL: https://api.company.com
# 添加个人账号
ccs config add
# 配置名称: personal
# API Key: sk-ant-...
# Base URL: https://api.anthropic.com
# 查看所有配置
ccs config list
# 使用指定配置启动
ccs --profile work
ccs -p personal
```
### 场景 2:排除测试项目
```bash
# 添加测试项目到排除列表
ccs exclude add /Users/qilin/test-project
ccs exclude add /Users/qilin/demo-app
# 查看排除列表
ccs exclude list
# 删除缓存以立即生效
rm ~/.cc-code-status/current.json
# 从排除列表中移除
ccs exclude remove /Users/qilin/test-project
```
### 场景 3:查看统计数据
```bash
# 查看今日统计
ccs stats today
# 输出: 对话: 16次/154轮
# 代码: +446/-313 行
# 查看本周统计
ccs stats week
# 输出:
# ========================================
# 本周统计 (2025-11-04 至 2025-11-10)
# ========================================
# 总计: 42次/186轮 | +1234/-567 行
# 每日明细:
# 周一 (2025-11-04) 5次/25轮 | +123/-45 行
# 周二 (2025-11-05) 8次/32轮 | +234/-56 行
# ...
```
### 场景 4:数据上报
```bash
# 启用数据上报
ccs sync-enable
# 查看上报状态
ccs sync-status
# 手动触发一次上报
ccs sync-now
# 自定义数据上报(手动输入数据)
ccs custom-sync
# 交互式输入:
# - 对话轮次
# - 新增代码行数
# - 删除代码行数
```
## 配置文件
### API 配置
保存在 `~/.config/cc-code-status/config.json`:
```json
{
"profiles": {
"work": {
"apiKey": "sk-ant-...",
"baseUrl": "https://api.company.com",
"model": "claude-sonnet-4-5-20250929",
"smallFastModel": "claude-3-5-haiku-20250219",
"configuredAt": "2025-11-18T08:00:00.000Z",
"version": "2.0.0"
},
"personal": {
"apiKey": "sk-ant-...",
"baseUrl": "https://api.anthropic.com",
"configuredAt": "2025-11-18T09:00:00.000Z",
"version": "2.0.0"
}
}
}
```
### 状态栏和同步配置
保存在 `~/.cc-code-status/config.json`:
```json
{
"apiUrl": "http://10.40.0.70:8087/api/cloudcode-ai/batch-receive",
"syncInterval": 1800000,
"enabled": true,
"excludedProjects": [
"/Users/qilin/test-project",
"/Users/qilin/demo-app"
]
}
```
### 缓存文件
- `~/.cc-code-status/current.json` - 状态栏缓存(5分钟 TTL)
- `~/.cc-code-status/conversations.json` - 对话详情(用于数据上报)
## 常见问题
### 1. 状态栏不显示
检查 `~/.claude/settings.json` 中的配置:
```json
{
"statusLine": {
"type": "command",
"command": "cc-code-status"
}
}
```
或运行:
```bash
ccs setup
```
### 2. 多个配置如何选择?
- **单配置**:自动使用唯一配置
- **多配置**:启动时交互选择,或使用 `--profile` 参数指定
- **命令行参数**:`ccs --profile work` 或 `ccs -p work`
### 3. 统计数据不准确
```bash
# 删除缓存,强制重新计算
rm ~/.cc-code-status/current.json
# 检查是否有项目被排除
ccs exclude list
```
### 4. 数据上报失败
```bash
# 查看上报状态和配置
ccs sync-status
# 检查 API 地址是否正确
cat ~/.cc-code-status/config.json
# 手动触发并查看错误信息
ccs sync-now
```
### 5. 卸载插件
```bash
# 移除状态栏配置
ccs uninstall
# 卸载插件
npm uninstall -g cc-code-status
# 删除配置文件(可选)
rm -rf ~/.cc-code-status
rm -rf ~/.config/cc-code-status
```
## 许可证
MIT