cc-code-status 1.1.6 → 2.0.2

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.
Files changed (50) hide show
  1. package/README.md +295 -39
  2. package/dist/cli-legacy.d.ts +13 -0
  3. package/dist/cli-legacy.d.ts.map +1 -0
  4. package/dist/cli-legacy.js +535 -0
  5. package/dist/cli-legacy.js.map +1 -0
  6. package/dist/cli.backup.d.ts +3 -0
  7. package/dist/cli.backup.d.ts.map +1 -0
  8. package/dist/cli.backup.js +661 -0
  9. package/dist/cli.backup.js.map +1 -0
  10. package/dist/cli.d.ts +6 -1
  11. package/dist/cli.d.ts.map +1 -1
  12. package/dist/cli.js +423 -570
  13. package/dist/cli.js.map +1 -1
  14. package/dist/config/constants.d.ts +17 -0
  15. package/dist/config/constants.d.ts.map +1 -0
  16. package/dist/config/constants.js +42 -0
  17. package/dist/config/constants.js.map +1 -0
  18. package/dist/config/manager.d.ts +121 -0
  19. package/dist/config/manager.d.ts.map +1 -0
  20. package/dist/config/manager.js +273 -0
  21. package/dist/config/manager.js.map +1 -0
  22. package/dist/config/validator.d.ts +17 -0
  23. package/dist/config/validator.d.ts.map +1 -0
  24. package/dist/config/validator.js +39 -0
  25. package/dist/config/validator.js.map +1 -0
  26. package/dist/index.d.ts +10 -0
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +27 -0
  29. package/dist/index.js.map +1 -1
  30. package/dist/launcher.d.ts +27 -0
  31. package/dist/launcher.d.ts.map +1 -0
  32. package/dist/launcher.js +149 -0
  33. package/dist/launcher.js.map +1 -0
  34. package/dist/ui/prompts.d.ts +34 -0
  35. package/dist/ui/prompts.d.ts.map +1 -0
  36. package/dist/ui/prompts.js +192 -0
  37. package/dist/ui/prompts.js.map +1 -0
  38. package/dist/ui/welcome.d.ts +30 -0
  39. package/dist/ui/welcome.d.ts.map +1 -0
  40. package/dist/ui/welcome.js +95 -0
  41. package/dist/ui/welcome.js.map +1 -0
  42. package/dist/utils/installer.d.ts +20 -0
  43. package/dist/utils/installer.d.ts.map +1 -0
  44. package/dist/utils/installer.js +68 -0
  45. package/dist/utils/installer.js.map +1 -0
  46. package/dist/utils/logger.d.ts +12 -0
  47. package/dist/utils/logger.d.ts.map +1 -0
  48. package/dist/utils/logger.js +32 -0
  49. package/dist/utils/logger.js.map +1 -0
  50. package/package.json +16 -4
package/README.md CHANGED
@@ -1,89 +1,345 @@
1
1
  # CC Code Status
2
2
 
3
- Claude Code 状态栏插件,显示 Git 用户名、对话次数和代码统计。
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
- - **对话次数** - 统计真实用户提问(排除系统命令如 `/clear`, `/exit` 等)
10
- - **代码统计** - Claude Code 修改的代码行数(新增/删除)
18
+ - **对话统计** - 对话次数/轮数(排除系统命令)
19
+ - **代码统计** - 新增/删除代码行数
20
+
21
+ **显示格式**: `qilin ↑ | Chat: 16次/154轮 | Code: +446/-313`
22
+ - `↑` - 数据上报已启用(可选)
23
+ - `16次` - 对话会话数(按 sessionId 去重)
24
+ - `154轮` - 用户消息总数
25
+ - `+446/-313` - 新增/删除代码行数
11
26
 
12
- **显示格式**: `qilin | Chat: 106 | Code: 5376/103`
13
- - Git 用户名
14
- - Chat: 对话次数
15
- - Code: 新增行数/ 删除行数
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
- 安装后会自动配置 Claude Code。
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
- 安装后,Claude Code 状态栏会自动显示信息。无需任何配置。
79
+ ## 命令列表
31
80
 
32
- ## 手动配置
81
+ 所有命令都支持短别名 `ccs`,例如 `ccs config add` 等同于 `cc-code-status config add`。
33
82
 
34
- 如果自动配置失败,可以手动运行:
83
+ ### 启动器命令
35
84
 
36
85
  ```bash
37
- cc-code-status setup
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
- cc-code-status uninstall
44
- npm uninstall -g cc-code-status
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
- 所有命令都支持短别名 `ccs`,例如 `ccs setup` 等同于 `cc-code-status setup`。
106
+ ```bash
107
+ ccs stats today # 显示今日统计
108
+ ccs stats week # 显示本周统计(周一-周日)
109
+ ccs week # 同 stats week
110
+ ```
50
111
 
51
- - `cc-code-status` / `ccs` - 运行状态栏插件(由 Claude Code 调用)
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 add .
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
- - 排除项目后需要删除缓存才能立即生效:`rm ~/.cc-code-status/current.json`
84
- - 排除列表保存在 `~/.cc-code-status/config.json` 中
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"}