g2log 1.4.3 → 1.4.4

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 CHANGED
@@ -1,209 +1,209 @@
1
- # AI-Git 用户日报生成工具
2
-
3
- 这是一个基于 Node.js 开发的命令行工具,用于获取指定用户在特定时间范围内的 Git 提交记录,并通过 AI 自动生成工作总结。
4
-
5
- ## 功能特点
6
-
7
- - 🔍 自动从配置文件读取用户信息和仓库路径
8
- - 📅 支持灵活的时间范围过滤
9
- - 🎨 彩色命令行输出提升可读性
10
- - 📁 支持将结果导出到文件
11
- - 🔄 进度显示和友好的用户界面
12
- - 🤖 自动生成3-5句话的工作总结
13
- - ⚙️ 支持配置文件设置默认参数和多仓库别名
14
- - 🌊 支持流式输出AI响应,实时查看生成过程
15
- - 🔌 支持多种AI提供商API(OpenAI, DeepSeek)
16
- - 🚀 支持通过npx直接运行,无需安装
17
-
18
- ## 安装与使用
19
-
20
- ### 通过 NPX 直接运行(无需安装)
21
-
22
- ```bash
23
- npx g2log [选项]
24
- ```
25
-
26
- ### 全局安装(推荐长期使用)
27
-
28
- ```bash
29
- npm install -g g2log
30
- ```
31
-
32
- 然后使用:
33
-
34
- ```bash
35
- g2log [选项]
36
- ```
37
-
38
- 或者:
39
-
40
- ```bash
41
- # 从本地目录全局安装
42
- git clone https://github.com/yourusername/git-user-log.git
43
- cd git-user-log
44
- npm install -g
45
- ```
46
-
47
- ### 临时使用
48
-
49
- 无需安装,直接使用 Node.js 运行脚本:
50
-
51
- ```bash
52
- node git-user-log.js
53
- ```
54
-
55
- ## 使用方法
56
-
57
- ```bash
58
- g2log [--since="2023-01-01"] [--until="2023-12-31"] [选项]
59
- ```
60
-
61
- 或通过npx直接运行:
62
-
63
- ```bash
64
- npx g2log [--since="2023-01-01"] [--until="2023-12-31"] [选项]
65
- ```
66
-
67
- ### 命令行参数
68
-
69
- 时间参数:
70
- - `--since="YYYY-MM-DD"` - 起始日期(如未指定,使用配置中的默认值)
71
- - `--until="YYYY-MM-DD"` - 结束日期(如未指定,使用配置中的默认值)
72
- - `--days=N` - 查询最近N天的记录
73
-
74
- 显示设置:
75
- - `--no-color` - 禁用彩色输出
76
- - `--save` 或 `--output="文件路径"` - 将输出保存到文件
77
- - `--debug` - 显示调试信息
78
- - `--show-prompt` - 显示完整的prompt内容
79
- - `--version` - 显示当前版本号
80
-
81
- 配置管理命令:
82
- - `--config` - 启动交互式配置向导
83
- - `--set-api-key="KEY"` - 设置API密钥
84
- - `--set-ai-model="MODEL"` - 设置AI模型(默认: deepseek-chat)
85
- - `--set-api-provider="PROVIDER"` - 设置API提供商(deepseek或openai)
86
- - `--set-api-url="URL"` - 设置API基础URL
87
- - `--set-default-author="NAME"` - 设置默认作者
88
- - `--set-time-range --since="DATE" --until="DATE"` - 设置默认时间范围
89
- - `--add-repo="ALIAS" --path="/path/to/repo"` - 添加仓库配置
90
- - `--remove-repo="ALIAS"` - 删除仓库配置
91
- - `--list-repos` - 列出所有配置的仓库
92
- - `--set-prompt-template="file.txt"` - 从文件设置AI总结的prompt模板
93
- - `--reset-prompt-template` - 重置AI总结的prompt模板为默认值
94
- - `--fix-config` - 修复配置文件格式问题
95
- - `--uninstall` - 删除g2log配置文件
96
- - `--help` - 显示帮助信息
97
-
98
- ### 配置文件
99
-
100
- 配置文件保存在用户主目录下的 `.git-user-log-config.json`,包含以下内容:
101
-
102
- ```json
103
- {
104
- "api_key": "your-api-key-here",
105
- "default_author": "张三",
106
- "default_since": "7 days ago",
107
- "default_until": "today",
108
- "model": "deepseek-chat",
109
- "api_base_url": "https://api.deepseek.com",
110
- "api_provider": "deepseek",
111
- "repositories": {
112
- "前端": "/path/to/frontend-project",
113
- "后端": "/path/to/backend-project"
114
- },
115
- "prompt_template": "请根据下面的Git提交记录,用3-5句话简洁地总结一天的工作内容。\n\n以下是Git提交记录:\n\n{{GIT_LOGS}}\n\n要求:\n1. 按项目和日期组织内容\n2. 每个项目每天的工作内容用3-5句话概括\n3. 使用清晰、专业但不晦涩的语言\n4. 突出重要的功能开发、问题修复和优化改进\n5. 适合放入工作日报的简洁描述\n6. 输出格式为:【日期】:\n 【项目名称】- 【工作内容概述】\n 【项目名称】- 【工作内容概述】\n7. 回复不要出现多余的内容,非必要不要用markdown格式"
116
- }
117
- ```
118
-
119
- ## 配置优先级
120
-
121
- 1. 命令行参数优先级最高(仅支持时间范围参数)
122
- 2. 配置文件中的设置作为默认值
123
- 3. 内置默认值作为最低优先级
124
-
125
- ## 示例
126
-
127
- ```bash
128
- # 使用配置的默认值生成今日工作总结
129
- g2log
130
-
131
- # 指定时间范围
132
- g2log --since="2023-01-01" --until="2023-12-31"
133
-
134
- # 使用本地仓库
135
- g2log --local
136
-
137
- # 保存结果到文件
138
- g2log --output="today-summary.md"
139
-
140
- # 设置配置
141
- g2log --set-default-author="张三"
142
- g2log --set-ai-model="gpt-3.5-turbo"
143
- g2log --set-api-provider="openai"
144
- g2log --set-api-url="https://api.openai.com"
145
- g2log --add-repo="前端" --path="/path/to/frontend-project"
146
- ```
147
-
148
- ## 日期格式
149
-
150
- 支持 Git 的日期格式,例如:
151
-
152
- - 具体日期:`2023-01-01`
153
- - 相对日期:`1 month ago`, `last week`, `yesterday`
154
- - 特殊关键词:`now`, `today`, `last Monday`
155
-
156
- ## 多仓库自动处理功能
157
-
158
- 工具默认会处理配置文件中的所有仓库:
159
-
160
- 1. 自动获取所有配置仓库的Git提交记录
161
- 2. 合并所有仓库的日志,并在每条记录前加上仓库标识
162
- 3. 将所有仓库的日志一起发送给AI进行总结
163
- 4. 生成包含所有项目工作内容的统一总结
164
-
165
- 如果希望仅处理本地仓库,可以使用 `--local` 参数。
166
-
167
- ## 注意事项
168
-
169
- - 确保已安装 Git 并可在命令行中使用
170
- - 确保配置文件中有正确的作者名称和仓库路径
171
- - 使用AI总结功能需要有效的DeepSeek API密钥
172
- - 配置文件保存在用户主目录下的 `.git-user-log-config.json` 文件中
173
-
174
- ## 问题反馈
175
-
176
- 如果遇到任何问题或有改进建议,请提交 issue 或联系开发者。
177
-
178
- ## 许可证
179
-
180
- MIT
181
-
182
- ## AI提供商支持
183
-
184
- 工具支持多种AI提供商的API:
185
-
186
- 1. **DeepSeek API (默认)**
187
- - 基础URL: https://api.deepseek.com
188
- - 推荐模型: deepseek-chat
189
-
190
- 2. **OpenAI API**
191
- - 基础URL: https://api.openai.com
192
- - 推荐模型: gpt-3.5-turbo, gpt-4
193
-
194
- 切换提供商示例:
195
- ```bash
196
- # 切换到OpenAI
197
- g2log --set-api-provider="openai"
198
- g2log --set-api-url="https://api.openai.com"
199
- g2log --set-ai-model="gpt-3.5-turbo"
200
-
201
- # 切换回DeepSeek
202
- g2log --set-api-provider="deepseek"
203
- g2log --set-api-url="https://api.deepseek.com"
204
- g2log --set-ai-model="deepseek-chat"
205
- ```
206
-
207
- ## 流式输出
208
-
1
+ # AI-Git 用户日报生成工具
2
+
3
+ 这是一个基于 Node.js 开发的命令行工具,用于获取指定用户在特定时间范围内的 Git 提交记录,并通过 AI 自动生成工作总结。
4
+
5
+ ## 功能特点
6
+
7
+ - 🔍 自动从配置文件读取用户信息和仓库路径
8
+ - 📅 支持灵活的时间范围过滤
9
+ - 🎨 彩色命令行输出提升可读性
10
+ - 📁 支持将结果导出到文件
11
+ - 🔄 进度显示和友好的用户界面
12
+ - 🤖 自动生成3-5句话的工作总结
13
+ - ⚙️ 支持配置文件设置默认参数和多仓库别名
14
+ - 🌊 支持流式输出AI响应,实时查看生成过程
15
+ - 🔌 支持多种AI提供商API(OpenAI, DeepSeek)
16
+ - 🚀 支持通过npx直接运行,无需安装
17
+
18
+ ## 安装与使用
19
+
20
+ ### 通过 NPX 直接运行(无需安装)
21
+
22
+ ```bash
23
+ npx g2log [选项]
24
+ ```
25
+
26
+ ### 全局安装(推荐长期使用)
27
+
28
+ ```bash
29
+ npm install -g g2log
30
+ ```
31
+
32
+ 然后使用:
33
+
34
+ ```bash
35
+ g2log [选项]
36
+ ```
37
+
38
+ 或者:
39
+
40
+ ```bash
41
+ # 从本地目录全局安装
42
+ git clone https://github.com/yourusername/git-user-log.git
43
+ cd git-user-log
44
+ npm install -g
45
+ ```
46
+
47
+ ### 临时使用
48
+
49
+ 无需安装,直接使用 Node.js 运行脚本:
50
+
51
+ ```bash
52
+ node git-user-log.js
53
+ ```
54
+
55
+ ## 使用方法
56
+
57
+ ```bash
58
+ g2log [--since="2023-01-01"] [--until="2023-12-31"] [选项]
59
+ ```
60
+
61
+ 或通过npx直接运行:
62
+
63
+ ```bash
64
+ npx g2log [--since="2023-01-01"] [--until="2023-12-31"] [选项]
65
+ ```
66
+
67
+ ### 命令行参数
68
+
69
+ 时间参数:
70
+ - `--since="YYYY-MM-DD"` - 起始日期(如未指定,使用配置中的默认值)
71
+ - `--until="YYYY-MM-DD"` - 结束日期(如未指定,使用配置中的默认值)
72
+ - `--days=N` - 查询最近N天的记录
73
+
74
+ 显示设置:
75
+ - `--no-color` - 禁用彩色输出
76
+ - `--save` 或 `--output="文件路径"` - 将输出保存到文件
77
+ - `--debug` - 显示调试信息
78
+ - `--show-prompt` - 显示完整的prompt内容
79
+ - `--version` - 显示当前版本号
80
+
81
+ 配置管理命令:
82
+ - `--config` - 启动交互式配置向导
83
+ - `--set-api-key="KEY"` - 设置API密钥
84
+ - `--set-ai-model="MODEL"` - 设置AI模型(默认: deepseek-chat)
85
+ - `--set-api-provider="PROVIDER"` - 设置API提供商(deepseek或openai)
86
+ - `--set-api-url="URL"` - 设置API基础URL
87
+ - `--set-default-author="NAME"` - 设置默认作者
88
+ - `--set-time-range --since="DATE" --until="DATE"` - 设置默认时间范围
89
+ - `--add-repo="ALIAS" --path="/path/to/repo"` - 添加仓库配置
90
+ - `--remove-repo="ALIAS"` - 删除仓库配置
91
+ - `--list-repos` - 列出所有配置的仓库
92
+ - `--set-prompt-template="file.txt"` - 从文件设置AI总结的prompt模板
93
+ - `--reset-prompt-template` - 重置AI总结的prompt模板为默认值
94
+ - `--fix-config` - 修复配置文件格式问题
95
+ - `--uninstall` - 删除g2log配置文件
96
+ - `--help` - 显示帮助信息
97
+
98
+ ### 配置文件
99
+
100
+ 配置文件保存在用户主目录下的 `.git-user-log-config.json`,包含以下内容:
101
+
102
+ ```json
103
+ {
104
+ "api_key": "your-api-key-here",
105
+ "default_author": "张三",
106
+ "default_since": "7 days ago",
107
+ "default_until": "today",
108
+ "model": "deepseek-chat",
109
+ "api_base_url": "https://api.deepseek.com",
110
+ "api_provider": "deepseek",
111
+ "repositories": {
112
+ "前端": "/path/to/frontend-project",
113
+ "后端": "/path/to/backend-project"
114
+ },
115
+ "prompt_template": "请根据下面的Git提交记录,用3-5句话简洁地总结一天的工作内容。\n\n以下是Git提交记录:\n\n{{GIT_LOGS}}\n\n要求:\n1. 按项目和日期组织内容\n2. 每个项目每天的工作内容用3-5句话概括\n3. 使用清晰、专业但不晦涩的语言\n4. 突出重要的功能开发、问题修复和优化改进\n5. 适合放入工作日报的简洁描述\n6. 输出格式为:【日期】:\n 【项目名称】- 【工作内容概述】\n 【项目名称】- 【工作内容概述】\n7. 回复不要出现多余的内容,非必要不要用markdown格式"
116
+ }
117
+ ```
118
+
119
+ ## 配置优先级
120
+
121
+ 1. 命令行参数优先级最高(仅支持时间范围参数)
122
+ 2. 配置文件中的设置作为默认值
123
+ 3. 内置默认值作为最低优先级
124
+
125
+ ## 示例
126
+
127
+ ```bash
128
+ # 使用配置的默认值生成今日工作总结
129
+ g2log
130
+
131
+ # 指定时间范围
132
+ g2log --since="2023-01-01" --until="2023-12-31"
133
+
134
+ # 使用本地仓库
135
+ g2log --local
136
+
137
+ # 保存结果到文件
138
+ g2log --output="today-summary.md"
139
+
140
+ # 设置配置
141
+ g2log --set-default-author="张三"
142
+ g2log --set-ai-model="gpt-3.5-turbo"
143
+ g2log --set-api-provider="openai"
144
+ g2log --set-api-url="https://api.openai.com"
145
+ g2log --add-repo="前端" --path="/path/to/frontend-project"
146
+ ```
147
+
148
+ ## 日期格式
149
+
150
+ 支持 Git 的日期格式,例如:
151
+
152
+ - 具体日期:`2023-01-01`
153
+ - 相对日期:`1 month ago`, `last week`, `yesterday`
154
+ - 特殊关键词:`now`, `today`, `last Monday`
155
+
156
+ ## 多仓库自动处理功能
157
+
158
+ 工具默认会处理配置文件中的所有仓库:
159
+
160
+ 1. 自动获取所有配置仓库的Git提交记录
161
+ 2. 合并所有仓库的日志,并在每条记录前加上仓库标识
162
+ 3. 将所有仓库的日志一起发送给AI进行总结
163
+ 4. 生成包含所有项目工作内容的统一总结
164
+
165
+ 如果希望仅处理本地仓库,可以使用 `--local` 参数。
166
+
167
+ ## 注意事项
168
+
169
+ - 确保已安装 Git 并可在命令行中使用
170
+ - 确保配置文件中有正确的作者名称和仓库路径
171
+ - 使用AI总结功能需要有效的DeepSeek API密钥
172
+ - 配置文件保存在用户主目录下的 `.git-user-log-config.json` 文件中
173
+
174
+ ## 问题反馈
175
+
176
+ 如果遇到任何问题或有改进建议,请提交 issue 或联系开发者。
177
+
178
+ ## 许可证
179
+
180
+ MIT
181
+
182
+ ## AI提供商支持
183
+
184
+ 工具支持多种AI提供商的API:
185
+
186
+ 1. **DeepSeek API (默认)**
187
+ - 基础URL: https://api.deepseek.com
188
+ - 推荐模型: deepseek-chat
189
+
190
+ 2. **OpenAI API**
191
+ - 基础URL: https://api.openai.com
192
+ - 推荐模型: gpt-3.5-turbo, gpt-4
193
+
194
+ 切换提供商示例:
195
+ ```bash
196
+ # 切换到OpenAI
197
+ g2log --set-api-provider="openai"
198
+ g2log --set-api-url="https://api.openai.com"
199
+ g2log --set-ai-model="gpt-3.5-turbo"
200
+
201
+ # 切换回DeepSeek
202
+ g2log --set-api-provider="deepseek"
203
+ g2log --set-api-url="https://api.deepseek.com"
204
+ g2log --set-ai-model="deepseek-chat"
205
+ ```
206
+
207
+ ## 流式输出
208
+
209
209
  当使用OpenAI API时,工具会启用流式输出功能,让您能够实时看到AI生成内容的过程,无需等待整个响应完成。这提供了更好的用户体验,特别是当处理大量提交记录时。