cc-code-status 1.1.6 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +295 -39
- package/dist/cli-legacy.d.ts +13 -0
- package/dist/cli-legacy.d.ts.map +1 -0
- package/dist/cli-legacy.js +535 -0
- package/dist/cli-legacy.js.map +1 -0
- package/dist/cli.backup.d.ts +3 -0
- package/dist/cli.backup.d.ts.map +1 -0
- package/dist/cli.backup.js +661 -0
- package/dist/cli.backup.js.map +1 -0
- package/dist/cli.d.ts +6 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +423 -570
- package/dist/cli.js.map +1 -1
- package/dist/config/constants.d.ts +17 -0
- package/dist/config/constants.d.ts.map +1 -0
- package/dist/config/constants.js +42 -0
- package/dist/config/constants.js.map +1 -0
- package/dist/config/manager.d.ts +121 -0
- package/dist/config/manager.d.ts.map +1 -0
- package/dist/config/manager.js +273 -0
- package/dist/config/manager.js.map +1 -0
- package/dist/config/validator.d.ts +17 -0
- package/dist/config/validator.d.ts.map +1 -0
- package/dist/config/validator.js +39 -0
- package/dist/config/validator.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +27 -0
- package/dist/index.js.map +1 -1
- package/dist/launcher.d.ts +27 -0
- package/dist/launcher.d.ts.map +1 -0
- package/dist/launcher.js +145 -0
- package/dist/launcher.js.map +1 -0
- package/dist/ui/prompts.d.ts +34 -0
- package/dist/ui/prompts.d.ts.map +1 -0
- package/dist/ui/prompts.js +192 -0
- package/dist/ui/prompts.js.map +1 -0
- package/dist/ui/welcome.d.ts +30 -0
- package/dist/ui/welcome.d.ts.map +1 -0
- package/dist/ui/welcome.js +95 -0
- package/dist/ui/welcome.js.map +1 -0
- package/dist/utils/installer.d.ts +15 -0
- package/dist/utils/installer.d.ts.map +1 -0
- package/dist/utils/installer.js +56 -0
- package/dist/utils/installer.js.map +1 -0
- package/dist/utils/logger.d.ts +12 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +32 -0
- package/dist/utils/logger.js.map +1 -0
- package/package.json +16 -4
package/README.md
CHANGED
|
@@ -1,89 +1,345 @@
|
|
|
1
1
|
# CC Code Status
|
|
2
2
|
|
|
3
|
-
Claude Code
|
|
3
|
+
**增强版 Claude Code 启动器 + 状态栏插件**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
一个集成了多 API 配置管理、代码统计和数据上报的 Claude Code 增强工具。
|
|
6
6
|
|
|
7
|
+
## 核心功能
|
|
8
|
+
|
|
9
|
+
### 1. Claude Code 启动器
|
|
10
|
+
- 多 API 配置管理(支持多个账号/环境)
|
|
11
|
+
- 一键启动 Claude Code 并自动注入环境变量
|
|
12
|
+
- 启动前显示今日统计
|
|
13
|
+
- 自动检测 Claude Code 安装状态
|
|
14
|
+
|
|
15
|
+
### 2. 状态栏插件
|
|
7
16
|
在 Claude Code 状态栏实时显示:
|
|
8
17
|
- **Git 用户名** - 从 `git config user.name` 获取
|
|
9
|
-
-
|
|
10
|
-
- **代码统计** -
|
|
18
|
+
- **对话统计** - 对话次数/轮数(排除系统命令)
|
|
19
|
+
- **代码统计** - 新增/删除代码行数
|
|
20
|
+
|
|
21
|
+
**显示格式**: `qilin ↑ | Chat: 16次/154轮 | Code: +446/-313`
|
|
22
|
+
- `↑` - 数据上报已启用(可选)
|
|
23
|
+
- `16次` - 对话会话数(按 sessionId 去重)
|
|
24
|
+
- `154轮` - 用户消息总数
|
|
25
|
+
- `+446/-313` - 新增/删除代码行数
|
|
11
26
|
|
|
12
|
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
27
|
+
### 3. 数据上报
|
|
28
|
+
- 定期同步对话详情到后端 API(可配置APi、间隔,可关闭)
|
|
29
|
+
- 手动触发数据上报
|
|
30
|
+
- 自定义数据上报(手动输入数据)
|
|
31
|
+
|
|
32
|
+
### 4. 项目排除
|
|
33
|
+
- 排除指定项目,不计入统计
|
|
34
|
+
- 支持路径模糊匹配
|
|
35
|
+
|
|
36
|
+
---
|
|
16
37
|
|
|
17
38
|
## 安装
|
|
18
39
|
|
|
40
|
+
### 前置要求
|
|
41
|
+
- Node.js >= 16.0.0
|
|
42
|
+
- Claude Code(必须先安装)
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# 安装 Claude Code(如果未安装)
|
|
46
|
+
npm install -g @anthropic-ai/claude-code
|
|
47
|
+
```
|
|
48
|
+
|
|
19
49
|
### 全局安装
|
|
20
50
|
|
|
21
51
|
```bash
|
|
22
52
|
npm install -g cc-code-status
|
|
23
53
|
```
|
|
24
54
|
|
|
25
|
-
|
|
55
|
+
安装后会自动配置状态栏。
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## 快速开始
|
|
60
|
+
|
|
61
|
+
### 首次使用
|
|
62
|
+
|
|
63
|
+
安装后首次运行会引导你配置 API:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
ccs
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
交互式配置:
|
|
70
|
+
1. 输入配置名称(如 `work`, `personal`)
|
|
71
|
+
2. 输入 API Key
|
|
72
|
+
3. 输入 Base URL
|
|
73
|
+
4. 可选:配置模型名称
|
|
26
74
|
|
|
75
|
+
配置完成后,Claude Code 会自动启动。
|
|
27
76
|
|
|
28
|
-
|
|
77
|
+
---
|
|
29
78
|
|
|
30
|
-
|
|
79
|
+
## 命令列表
|
|
31
80
|
|
|
32
|
-
|
|
81
|
+
所有命令都支持短别名 `ccs`,例如 `ccs config add` 等同于 `cc-code-status config add`。
|
|
33
82
|
|
|
34
|
-
|
|
83
|
+
### 启动器命令
|
|
35
84
|
|
|
36
85
|
```bash
|
|
37
|
-
|
|
86
|
+
ccs # 启动 Claude Code(自动选择配置)
|
|
87
|
+
ccs --profile <配置名> # 使用指定配置启动
|
|
88
|
+
ccs -p work # 使用 work 配置启动
|
|
89
|
+
ccs -v # 查看版本号
|
|
90
|
+
ccs help # 显示帮助
|
|
38
91
|
```
|
|
39
92
|
|
|
40
|
-
|
|
93
|
+
### 配置管理命令
|
|
41
94
|
|
|
42
95
|
```bash
|
|
43
|
-
|
|
44
|
-
|
|
96
|
+
ccs config # 查看配置帮助(无配置时引导添加)
|
|
97
|
+
ccs config add # 添加新配置
|
|
98
|
+
ccs config list # 列出所有配置
|
|
99
|
+
ccs config show # 显示当前配置
|
|
100
|
+
ccs config remove <名称> # 删除指定配置
|
|
101
|
+
ccs config --reset # 重置所有配置
|
|
45
102
|
```
|
|
46
103
|
|
|
47
|
-
|
|
104
|
+
### 统计查看命令
|
|
48
105
|
|
|
49
|
-
|
|
106
|
+
```bash
|
|
107
|
+
ccs stats today # 显示今日统计
|
|
108
|
+
ccs stats week # 显示本周统计(周一-周日)
|
|
109
|
+
ccs week # 同 stats week
|
|
110
|
+
```
|
|
50
111
|
|
|
51
|
-
|
|
52
|
-
- `cc-code-status setup` / `ccs setup` - 配置 Claude Code
|
|
53
|
-
- `cc-code-status uninstall` / `ccs uninstall` - 移除配置
|
|
54
|
-
- `cc-code-status sync-enable` / `ccs sync-enable` - 启用数据上报功能
|
|
55
|
-
- `cc-code-status sync-disable` / `ccs sync-disable` - 禁用数据上报功能
|
|
56
|
-
- `cc-code-status sync-status` / `ccs sync-status` - 查看数据上报状态
|
|
57
|
-
- `cc-code-status sync-now` / `ccs sync-now` / `ccs sync` - 主动触发一次数据上报(真实数据)
|
|
58
|
-
- `cc-code-status week` / `ccs week` - 显示本周统计数据
|
|
59
|
-
- `cc-code-status exclude add <项目路径>` / `ccs exclude add <路径>` - 添加排除项目(不统计该项目)
|
|
60
|
-
- `cc-code-status exclude remove <项目路径>` / `ccs exclude remove <路径>` - 移除排除项目
|
|
61
|
-
- `cc-code-status exclude list` / `ccs exclude list` - 列出所有排除项目
|
|
62
|
-
- `cc-code-status help` / `ccs help` - 显示帮助
|
|
112
|
+
### 数据上报命令
|
|
63
113
|
|
|
64
|
-
|
|
114
|
+
```bash
|
|
115
|
+
ccs sync-enable # 启用数据上报
|
|
116
|
+
ccs sync-disable # 禁用数据上报
|
|
117
|
+
ccs sync-status # 查看上报状态
|
|
118
|
+
ccs sync-now # 手动触发一次上报(真实数据)
|
|
119
|
+
ccs sync # 同 sync-now
|
|
120
|
+
ccs custom-sync # 自定义数据上报(交互式输入)
|
|
121
|
+
```
|
|
65
122
|
|
|
66
|
-
|
|
123
|
+
### 项目排除命令
|
|
67
124
|
|
|
68
125
|
```bash
|
|
69
|
-
#
|
|
70
|
-
ccs exclude
|
|
126
|
+
ccs exclude add <路径> # 添加排除项目
|
|
127
|
+
ccs exclude remove <路径> # 移除排除项目
|
|
128
|
+
ccs exclude list # 列出所有排除项目
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### 旧版兼容命令
|
|
71
132
|
|
|
72
|
-
|
|
133
|
+
```bash
|
|
134
|
+
ccs setup # 配置状态栏(向后兼容)
|
|
135
|
+
ccs uninstall # 移除状态栏配置
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## 使用场景
|
|
141
|
+
|
|
142
|
+
### 场景 1:多账号管理
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
# 添加公司账号
|
|
146
|
+
ccs config add
|
|
147
|
+
# 配置名称: work
|
|
148
|
+
# API Key: sk-ant-...
|
|
149
|
+
# Base URL: https://api.company.com
|
|
150
|
+
|
|
151
|
+
# 添加个人账号
|
|
152
|
+
ccs config add
|
|
153
|
+
# 配置名称: personal
|
|
154
|
+
# API Key: sk-ant-...
|
|
155
|
+
# Base URL: https://api.anthropic.com
|
|
156
|
+
|
|
157
|
+
# 查看所有配置
|
|
158
|
+
ccs config list
|
|
159
|
+
|
|
160
|
+
# 使用指定配置启动
|
|
161
|
+
ccs --profile work
|
|
162
|
+
ccs -p personal
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### 场景 2:排除测试项目
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
# 添加测试项目到排除列表
|
|
73
169
|
ccs exclude add /Users/qilin/test-project
|
|
170
|
+
ccs exclude add /Users/qilin/demo-app
|
|
74
171
|
|
|
75
172
|
# 查看排除列表
|
|
76
173
|
ccs exclude list
|
|
77
174
|
|
|
175
|
+
# 删除缓存以立即生效
|
|
176
|
+
rm ~/.cc-code-status/current.json
|
|
177
|
+
|
|
78
178
|
# 从排除列表中移除
|
|
79
179
|
ccs exclude remove /Users/qilin/test-project
|
|
80
180
|
```
|
|
81
181
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
182
|
+
### 场景 3:查看统计数据
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
# 查看今日统计
|
|
186
|
+
ccs stats today
|
|
187
|
+
# 输出: 对话: 16次/154轮
|
|
188
|
+
# 代码: +446/-313 行
|
|
189
|
+
|
|
190
|
+
# 查看本周统计
|
|
191
|
+
ccs stats week
|
|
192
|
+
# 输出:
|
|
193
|
+
# ========================================
|
|
194
|
+
# 本周统计 (2025-11-04 至 2025-11-10)
|
|
195
|
+
# ========================================
|
|
196
|
+
# 总计: 42次/186轮 | +1234/-567 行
|
|
197
|
+
# 每日明细:
|
|
198
|
+
# 周一 (2025-11-04) 5次/25轮 | +123/-45 行
|
|
199
|
+
# 周二 (2025-11-05) 8次/32轮 | +234/-56 行
|
|
200
|
+
# ...
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
### 场景 4:数据上报
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
# 启用数据上报
|
|
207
|
+
ccs sync-enable
|
|
208
|
+
|
|
209
|
+
# 查看上报状态
|
|
210
|
+
ccs sync-status
|
|
211
|
+
|
|
212
|
+
# 手动触发一次上报
|
|
213
|
+
ccs sync-now
|
|
214
|
+
|
|
215
|
+
# 自定义数据上报(手动输入数据)
|
|
216
|
+
ccs custom-sync
|
|
217
|
+
# 交互式输入:
|
|
218
|
+
# - 对话轮次
|
|
219
|
+
# - 新增代码行数
|
|
220
|
+
# - 删除代码行数
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## 配置文件
|
|
226
|
+
|
|
227
|
+
### API 配置
|
|
228
|
+
|
|
229
|
+
保存在 `~/.config/cc-code-status/config.json`:
|
|
230
|
+
|
|
231
|
+
```json
|
|
232
|
+
{
|
|
233
|
+
"profiles": {
|
|
234
|
+
"work": {
|
|
235
|
+
"apiKey": "sk-ant-...",
|
|
236
|
+
"baseUrl": "https://api.company.com",
|
|
237
|
+
"model": "claude-sonnet-4-5-20250929",
|
|
238
|
+
"smallFastModel": "claude-3-5-haiku-20250219",
|
|
239
|
+
"configuredAt": "2025-11-18T08:00:00.000Z",
|
|
240
|
+
"version": "2.0.0"
|
|
241
|
+
},
|
|
242
|
+
"personal": {
|
|
243
|
+
"apiKey": "sk-ant-...",
|
|
244
|
+
"baseUrl": "https://api.anthropic.com",
|
|
245
|
+
"configuredAt": "2025-11-18T09:00:00.000Z",
|
|
246
|
+
"version": "2.0.0"
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
### 状态栏和同步配置
|
|
253
|
+
|
|
254
|
+
保存在 `~/.cc-code-status/config.json`:
|
|
255
|
+
|
|
256
|
+
```json
|
|
257
|
+
{
|
|
258
|
+
"apiUrl": "http://10.40.0.70:8087/api/cloudcode-ai/batch-receive",
|
|
259
|
+
"syncInterval": 1800000,
|
|
260
|
+
"enabled": true,
|
|
261
|
+
"excludedProjects": [
|
|
262
|
+
"/Users/qilin/test-project",
|
|
263
|
+
"/Users/qilin/demo-app"
|
|
264
|
+
]
|
|
265
|
+
}
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
### 缓存文件
|
|
269
|
+
|
|
270
|
+
- `~/.cc-code-status/current.json` - 状态栏缓存(5分钟 TTL)
|
|
271
|
+
- `~/.cc-code-status/conversations.json` - 对话详情(用于数据上报)
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## 常见问题
|
|
276
|
+
|
|
277
|
+
### 1. 状态栏不显示
|
|
278
|
+
|
|
279
|
+
检查 `~/.claude/settings.json` 中的配置:
|
|
280
|
+
|
|
281
|
+
```json
|
|
282
|
+
{
|
|
283
|
+
"statusLine": {
|
|
284
|
+
"type": "command",
|
|
285
|
+
"command": "cc-code-status"
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
或运行:
|
|
291
|
+
```bash
|
|
292
|
+
ccs setup
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
### 2. 多个配置如何选择?
|
|
296
|
+
|
|
297
|
+
- **单配置**:自动使用唯一配置
|
|
298
|
+
- **多配置**:启动时交互选择,或使用 `--profile` 参数指定
|
|
299
|
+
- **命令行参数**:`ccs --profile work` 或 `ccs -p work`
|
|
300
|
+
|
|
301
|
+
### 3. 统计数据不准确
|
|
302
|
+
|
|
303
|
+
```bash
|
|
304
|
+
# 删除缓存,强制重新计算
|
|
305
|
+
rm ~/.cc-code-status/current.json
|
|
306
|
+
|
|
307
|
+
# 检查是否有项目被排除
|
|
308
|
+
ccs exclude list
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
### 4. 数据上报失败
|
|
312
|
+
|
|
313
|
+
```bash
|
|
314
|
+
# 查看上报状态和配置
|
|
315
|
+
ccs sync-status
|
|
316
|
+
|
|
317
|
+
# 检查 API 地址是否正确
|
|
318
|
+
cat ~/.cc-code-status/config.json
|
|
319
|
+
|
|
320
|
+
# 手动触发并查看错误信息
|
|
321
|
+
ccs sync-now
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
### 5. 卸载插件
|
|
325
|
+
|
|
326
|
+
```bash
|
|
327
|
+
# 移除状态栏配置
|
|
328
|
+
ccs uninstall
|
|
329
|
+
|
|
330
|
+
# 卸载插件
|
|
331
|
+
npm uninstall -g cc-code-status
|
|
332
|
+
|
|
333
|
+
# 删除配置文件(可选)
|
|
334
|
+
rm -rf ~/.cc-code-status
|
|
335
|
+
rm -rf ~/.config/cc-code-status
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
---
|
|
85
339
|
|
|
86
340
|
|
|
87
341
|
## 许可证
|
|
88
342
|
|
|
89
343
|
MIT
|
|
344
|
+
|
|
345
|
+
---
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 旧版 CLI 函数(向后兼容)
|
|
3
|
+
* 包含 v1.x 版本的所有辅助函数
|
|
4
|
+
*/
|
|
5
|
+
export declare function setup(): void;
|
|
6
|
+
export declare function uninstall(): void;
|
|
7
|
+
export declare function setSyncEnabled(enabled: boolean): void;
|
|
8
|
+
export declare function showSyncStatus(): void;
|
|
9
|
+
export declare function manualSync(): Promise<void>;
|
|
10
|
+
export declare function customSync(): Promise<void>;
|
|
11
|
+
export declare function handleExclude(subArgs: string[]): void;
|
|
12
|
+
export declare function showWeekStats(): void;
|
|
13
|
+
//# sourceMappingURL=cli-legacy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-legacy.d.ts","sourceRoot":"","sources":["../src/cli-legacy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,wBAAgB,KAAK,IAAI,IAAI,CA0C5B;AAED,wBAAgB,SAAS,IAAI,IAAI,CAwBhC;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0CrD;AAED,wBAAgB,cAAc,IAAI,IAAI,CA+BrC;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAGhD;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CA+IhD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAkBrD;AAED,wBAAgB,aAAa,IAAI,IAAI,CA2FpC"}
|