@git-ai/cli 1.0.2 → 1.0.3

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,369 +1,369 @@
1
- # @git-ai/cli
2
-
3
- [![npm version](https://img.shields.io/npm/v/@git-ai/cli.svg)](https://www.npmjs.com/package/@git-ai/cli)
4
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
-
6
- 一个基于 AI 的 Git 提交消息生成器 CLI 工具,可自动分析代码变更并生成符合规范的提交信息。
7
-
8
- ## ✨ 特性
9
-
10
- - 🤖 **AI 自动生成提交消息** - 基于代码变更自动生成符合规范的 commit message
11
- - 🔄 **完整的 Git 工作流** - 自动执行 `git add`、`git commit`、`git fetch`、`git merge`、`git push`
12
- - 🛡️ **冲突检测** - 自动检测 Git 冲突和代码冲突标记
13
- - 🔍 **AI 诊断** - 当 commit 失败时,AI 自动分析失败原因并提供解决方案
14
- - ⚙️ **灵活配置** - 支持配置多个 API 端点、模型和密钥
15
- - 🎯 **符合规范** - 生成的提交消息符合常见的 commit message 规范(feat、fix、docs 等)
16
- - 🚀 **开箱即用** - 支持免费 API,无需配置即可使用
17
-
18
- ## 📦 安装
19
-
20
- ```bash
21
- npm install -g @git-ai/cli
22
- ```
23
-
24
- ## 🚀 快速开始
25
-
26
- ### 1. 基本使用(使用免费 API)
27
-
28
- 无需配置,直接使用:
29
-
30
- ```bash
31
- git ai
32
- ```
33
-
34
- 工具会自动:
35
-
36
- - 检查 Git 环境
37
- - 执行 `git add .`
38
- - 分析代码变更
39
- - 使用 AI 生成提交消息
40
- - 执行 `git commit`
41
- - 执行 `git fetch` 和 `git merge`(如有需要)
42
- - 执行 `git push`
43
-
44
- **运行示例:**
45
-
46
- ```bash
47
- $ git ai
48
- git-ai verb @git-ai/cli@1.0.0
49
- git-ai verb 按 Ctrl+C 退出...
50
- git-ai success AI 生成的内容:
51
- docs(John): 更新文档和代码格式规范
52
-
53
- - 添加了 select-model 命令的环境变量配置说明
54
- - 统一了代码中的引号使用为双引号
55
- - 修复了 package.json 中缺少的 access 字段
56
- - 规范化了代码缩进和格式
57
- git-ai info 本次模型消耗统计:总数 17050 tokens、输入 16977 tokens、输出 73 tokens
58
- git-ai success git commit 提交成功...
59
- git-ai info 获取 git 远程仓库地址
60
- git-ai success 获取 git 远程仓库地址成功
61
- git-ai info 获取远程仓库最新状态,执行 git fetch...
62
- git-ai success 远程分支 origin 的最新更改状态获取成功
63
- git-ai info 正在检测是否需要拉取...
64
- git-ai success 本地代码是最新,无需合并
65
- git-ai info 正在推送本地分支与远程分支的差异...
66
- git-ai success 本地分支与远程分支的差异已推送。
67
- git-ai verb 日志地址: C:\Users\用户名\.config\git-ai\cli\logs\2025-11\log-2025-11-22_10-56-59.txt
68
- git-ai verb 本次执行指令耗时: 14.481 秒,程序退出...
69
- ```
70
-
71
- ### 2. 配置自定义 API(可选)
72
-
73
- 如果你有自己的 OpenAI compatible API,可以配置:
74
-
75
- ```bash
76
- # 设置 API Base URL
77
- git ai set-baseURL https://api.siliconflow.cn/v1
78
-
79
- # 设置 API Key
80
- git ai set-key your-api-key
81
-
82
- # 设置模型(支持多个,用逗号分隔)
83
- git ai set-model gpt-4,claude-3
84
-
85
- # 或者从模型列表中选择(需要配置 OPENAI_MODEL_LIST_URL 环境变量)
86
- git ai select-model
87
- ```
88
-
89
- **注意:** 使用 `select-model` 命令前,需要先设置 `OPENAI_MODEL_LIST_URL` 环境变量指向模型列表配置文件(详见下方命令说明)。
90
-
91
- ### 3. 设置最大 Token 数
92
-
93
- 如果代码变更较大,可以调整最大 token 数:
94
-
95
- ```bash
96
- git ai set-max-token 128000
97
- ```
98
-
99
- ## 📖 命令说明
100
-
101
- ### 主命令
102
-
103
- ```bash
104
- git ai [选项]
105
- ```
106
-
107
- 自动生成提交消息并执行完整的 Git 工作流。
108
-
109
- **选项:**
110
-
111
- - `-d, --dry-run` - 等同于 `git commit --dry-run -m <message>`,只测试不实际提交
112
- - `-e, --allow-empty` - 等同于 `git commit --allow-empty -m <message>`,允许空提交
113
- - `-n, --no-verify` - 等同于 `git commit --no-verify -m <message>`,跳过 Git hooks
114
- - `-s, --skip` - 跳过 `git add` 命令,只提交已暂存的更改
115
-
116
- ### 配置命令
117
-
118
- #### `set-baseURL [baseURL]`
119
-
120
- 设置 OpenAI compatible Base URL。
121
-
122
- ```bash
123
- git ai set-baseURL https://api.siliconflow.cn/v1
124
- ```
125
-
126
- 支持多个 URL,用英文逗号分隔:
127
-
128
- ```bash
129
- git ai set-baseURL https://api1.example.com/v1,https://api2.example.com/v1
130
- ```
131
-
132
- #### `set-key [key]`
133
-
134
- 设置 OpenAI compatible API Key。
135
-
136
- ```bash
137
- git ai set-key sk-xxxxxxxxxxxxx
138
- ```
139
-
140
- 支持多个 Key,用英文逗号分隔:
141
-
142
- ```bash
143
- git ai set-key key1,key2,key3
144
- ```
145
-
146
- #### `set-model [model]`
147
-
148
- 设置要使用的模型。
149
-
150
- ```bash
151
- git ai set-model gpt-4
152
- ```
153
-
154
- 支持多个模型,用英文逗号分隔:
155
-
156
- ```bash
157
- git ai set-model gpt-4,claude-3,gemini-pro
158
- ```
159
-
160
- 如果不提供参数,会交互式选择模型:
161
-
162
- ```bash
163
- git ai set-model
164
- ```
165
-
166
- #### `select-model`
167
-
168
- 从模型列表中交互式选择模型。使用此命令前需要配置环境变量 `OPENAI_MODEL_LIST_URL`。
169
-
170
- ```bash
171
- git ai select-model
172
- ```
173
-
174
- **环境变量配置:**
175
-
176
- `OPENAI_MODEL_LIST_URL` 用于指定模型列表的来源,支持 HTTP(S) URL 或本地文件路径。
177
-
178
- **设置环境变量:**
179
-
180
- ```bash
181
- # Linux/macOS
182
- export OPENAI_MODEL_LIST_URL="https://raw.githubusercontent.com/xx025/carrot/main/model_list.json"
183
-
184
- # Windows (PowerShell)
185
- $env:OPENAI_MODEL_LIST_URL="https://raw.githubusercontent.com/xx025/carrot/main/model_list.json"
186
-
187
- # Windows (CMD)
188
- set OPENAI_MODEL_LIST_URL=https://raw.githubusercontent.com/xx025/carrot/main/model_list.json
189
- ```
190
-
191
- **支持的格式:**
192
-
193
- - **HTTP(S) URL**: `https://example.com/model_list.json`
194
- - **本地文件路径(Linux/macOS)**: `/path/to/your/local/model_list.json`
195
- - **本地文件路径(Windows)**: `C:\Path\To\Your\Local\model_list.json`
196
-
197
- **JSON 配置格式:**
198
-
199
- 模型 id、baseURL、key 配置多个会随机取,必填(id、baseURL)、非必填(keys)
200
-
201
- ```json
202
- {
203
- "data": [
204
- {
205
- "id": "modelId1,modelId2,modelId3",
206
- "baseURL": "baseURL1,baseURL2,baseURL3",
207
- "keys": "key1,key2,key3"
208
- }
209
- ]
210
- }
211
- ```
212
-
213
- **示例:**
214
-
215
- ```bash
216
- # 设置环境变量后执行
217
- export OPENAI_MODEL_LIST_URL="https://raw.githubusercontent.com/xx025/carrot/main/model_list.json"
218
- git ai select-model
219
- ```
220
-
221
- #### `set-max-token <maxToken>`
222
-
223
- 设置最大 token 数,默认 128000(128k)。
224
-
225
- ```bash
226
- git ai set-max-token 128000
227
- ```
228
-
229
- 当代码变更超过最大 token 数时,工具会使用 `git diff --stat` 来获取文件统计信息。
230
-
231
- ## 🔧 工作流程
232
-
233
- 执行 `git ai` 时,工具会按以下流程执行:
234
-
235
- ```
236
- 检查环境 → 检查目录 → 检查冲突 → 处理合并
237
-
238
- git add → 获取 diff → AI 生成 commit message
239
-
240
- git commit → git fetch → git merge → 检查冲突 → git push
241
- ```
242
-
243
- ## 📝 提交消息格式
244
-
245
- 工具生成的提交消息符合常见的 commit message 规范:
246
-
247
- ```
248
- <type>(<username>): <description>
249
-
250
- [可选的详细说明]
251
- ```
252
-
253
- **类型(type)包括:**
254
-
255
- - `feat` - 新功能
256
- - `fix` - 修复 bug
257
- - `docs` - 文档变更
258
- - `style` - 代码格式变更(不影响代码运行)
259
- - `refactor` - 重构代码
260
- - `perf` - 性能优化
261
- - `test` - 测试相关
262
- - `build` - 构建系统或外部依赖变更
263
- - `ci` - CI 配置文件和脚本变更
264
- - `chore` - 其他变更(不修改 src 或 test 文件)
265
- - `revert` - 回滚提交
266
-
267
- **示例:**
268
-
269
- ```
270
- feat(John): 添加用户登录功能
271
-
272
- - 实现用户名密码登录
273
- - 添加 JWT token 验证
274
- - 完善错误处理机制
275
- ```
276
-
277
- ## 🛠️ 高级功能
278
-
279
- ### 冲突检测
280
-
281
- 工具会自动检测:
282
-
283
- 1. **Git 冲突** - 检测未解决的合并冲突(UU、AA、DD 状态)
284
- 2. **代码冲突标记** - 检测代码中的冲突标记(`<<<<<<<`、`=======`、`>>>>>>>`)
285
-
286
- 如果检测到冲突,工具会提示你手动解决。
287
-
288
- ### AI 诊断
289
-
290
- 当 `git commit` 失败时,工具会:
291
-
292
- 1. 自动收集错误信息、git status 和 hook 输出
293
- 2. 使用 AI 分析失败原因
294
- 3. 提供诊断结果和修复建议
295
-
296
- ### 子目录支持
297
-
298
- 如果在 Git 仓库的子目录中运行,工具会:
299
-
300
- - 只处理当前目录下的文件
301
- - 显示警告提示当前操作范围
302
-
303
- ## ⚙️ 配置存储
304
-
305
- 配置信息存储在本地,使用 `configstore` 管理。配置文件位置:
306
-
307
- - **Linux/macOS**: `~/.config/configstore/git-ai/cli.json`
308
- - **Windows**: `%APPDATA%\configstore\@git-ai\cli.json`
309
-
310
- ## 🔍 故障排除
311
-
312
- ### 问题:获取 git 用户信息时出错
313
-
314
- **解决方案:**
315
-
316
- ```bash
317
- git config user.name "Your Name"
318
- ```
319
-
320
- ### 问题:更新内容超过模型支持的最大 token 数
321
-
322
- **解决方案:**
323
-
324
- 1. 减少要提交的文件数量
325
- 2. 增加最大 token 数:`git ai set-max-token <更大的值>`
326
-
327
- ### 问题:AI 生成的内容不符合规则
328
-
329
- **解决方案:**
330
-
331
- 重新运行 `git ai`,AI 会重新生成提交消息。
332
-
333
- ### 问题:网络错误或 API 调用失败
334
-
335
- **解决方案:**
336
-
337
- 1. 检查网络连接
338
- 2. 验证 API Base URL 和 Key 是否正确
339
- 3. 检查 API 服务是否可用
340
-
341
- ## 📋 系统要求
342
-
343
- - Node.js >= 12.20.0
344
- - Git >= 2.0.0
345
-
346
- ## 🤝 贡献
347
-
348
- 欢迎提交 Issue 和 Pull Request!
349
-
350
- ## 📄 许可证
351
-
352
- MIT License
353
-
354
- ## 👤 作者
355
-
356
- **Baran**
357
-
358
- - GitHub: [@code-ba](https://github.com/code-ba)
359
- - Email: info@cxvh.com
360
-
361
- ## 🔗 相关链接
362
-
363
- - [GitHub Repository](https://github.com/code-ba/git-ai)
364
- - [Issue Tracker](https://github.com/code-ba/git-ai/issues)
365
- - [NPM Package](https://www.npmjs.com/package/@git-ai/cli)
366
-
367
- ---
368
-
369
- **注意:** 首次使用建议先使用 `--dry-run` 选项测试,确保一切正常后再正式提交。
1
+ # @git-ai/cli
2
+
3
+ [![npm version](https://img.shields.io/npm/v/@git-ai/cli.svg)](https://www.npmjs.com/package/@git-ai/cli)
4
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
+
6
+ 一个基于 AI 的 Git 提交消息生成器 CLI 工具,可自动分析代码变更并生成符合规范的提交信息。
7
+
8
+ ## ✨ 特性
9
+
10
+ - 🤖 **AI 自动生成提交消息** - 基于代码变更自动生成符合规范的 commit message
11
+ - 🔄 **完整的 Git 工作流** - 自动执行 `git add`、`git commit`、`git fetch`、`git merge`、`git push`
12
+ - 🛡️ **冲突检测** - 自动检测 Git 冲突和代码冲突标记
13
+ - 🔍 **AI 诊断** - 当 commit 失败时,AI 自动分析失败原因并提供解决方案
14
+ - ⚙️ **灵活配置** - 支持配置多个 API 端点、模型和密钥
15
+ - 🎯 **符合规范** - 生成的提交消息符合常见的 commit message 规范(feat、fix、docs 等)
16
+ - 🚀 **开箱即用** - 支持免费 API,无需配置即可使用
17
+
18
+ ## 📦 安装
19
+
20
+ ```bash
21
+ npm install -g @git-ai/cli
22
+ ```
23
+
24
+ ## 🚀 快速开始
25
+
26
+ ### 1. 基本使用(使用免费 API)
27
+
28
+ 无需配置,直接使用:
29
+
30
+ ```bash
31
+ git ai
32
+ ```
33
+
34
+ 工具会自动:
35
+
36
+ - 检查 Git 环境
37
+ - 执行 `git add .`
38
+ - 分析代码变更
39
+ - 使用 AI 生成提交消息
40
+ - 执行 `git commit`
41
+ - 执行 `git fetch` 和 `git merge`(如有需要)
42
+ - 执行 `git push`
43
+
44
+ **运行示例:**
45
+
46
+ ```bash
47
+ $ git ai
48
+ git-ai verb @git-ai/cli@1.0.0
49
+ git-ai verb 按 Ctrl+C 退出...
50
+ git-ai success AI 生成的内容:
51
+ docs(John): 更新文档和代码格式规范
52
+
53
+ - 添加了 select-model 命令的环境变量配置说明
54
+ - 统一了代码中的引号使用为双引号
55
+ - 修复了 package.json 中缺少的 access 字段
56
+ - 规范化了代码缩进和格式
57
+ git-ai info 本次模型消耗统计:总数 17050 tokens、输入 16977 tokens、输出 73 tokens
58
+ git-ai success git commit 提交成功...
59
+ git-ai info 获取 git 远程仓库地址
60
+ git-ai success 获取 git 远程仓库地址成功
61
+ git-ai info 获取远程仓库最新状态,执行 git fetch...
62
+ git-ai success 远程分支 origin 的最新更改状态获取成功
63
+ git-ai info 正在检测是否需要拉取...
64
+ git-ai success 本地代码是最新,无需合并
65
+ git-ai info 正在推送本地分支与远程分支的差异...
66
+ git-ai success 本地分支与远程分支的差异已推送。
67
+ git-ai verb 日志地址: C:\Users\用户名\.config\git-ai\cli\logs\2025-11\log-2025-11-22_10-56-59.txt
68
+ git-ai verb 本次执行指令耗时: 14.481 秒,程序退出...
69
+ ```
70
+
71
+ ### 2. 配置自定义 API(可选)
72
+
73
+ 如果你有自己的 OpenAI compatible API,可以配置:
74
+
75
+ ```bash
76
+ # 设置 API Base URL
77
+ git ai set-baseURL https://api.siliconflow.cn/v1
78
+
79
+ # 设置 API Key
80
+ git ai set-key your-api-key
81
+
82
+ # 设置模型(支持多个,用逗号分隔)
83
+ git ai set-model gpt-4,claude-3
84
+
85
+ # 或者从模型列表中选择(需要配置 OPENAI_MODEL_LIST_URL 环境变量)
86
+ git ai select-model
87
+ ```
88
+
89
+ **注意:** 使用 `select-model` 命令前,需要先设置 `OPENAI_MODEL_LIST_URL` 环境变量指向模型列表配置文件(详见下方命令说明)。
90
+
91
+ ### 3. 设置最大 Token 数
92
+
93
+ 如果代码变更较大,可以调整最大 token 数:
94
+
95
+ ```bash
96
+ git ai set-max-token 128000
97
+ ```
98
+
99
+ ## 📖 命令说明
100
+
101
+ ### 主命令
102
+
103
+ ```bash
104
+ git ai [选项]
105
+ ```
106
+
107
+ 自动生成提交消息并执行完整的 Git 工作流。
108
+
109
+ **选项:**
110
+
111
+ - `-d, --dry-run` - 等同于 `git commit --dry-run -m <message>`,只测试不实际提交
112
+ - `-e, --allow-empty` - 等同于 `git commit --allow-empty -m <message>`,允许空提交
113
+ - `-n, --no-verify` - 等同于 `git commit --no-verify -m <message>`,跳过 Git hooks
114
+ - `-s, --skip` - 跳过 `git add` 命令,只提交已暂存的更改
115
+
116
+ ### 配置命令
117
+
118
+ #### `set-baseURL [baseURL]`
119
+
120
+ 设置 OpenAI compatible Base URL。
121
+
122
+ ```bash
123
+ git ai set-baseURL https://api.siliconflow.cn/v1
124
+ ```
125
+
126
+ 支持多个 URL,用英文逗号分隔:
127
+
128
+ ```bash
129
+ git ai set-baseURL https://api1.example.com/v1,https://api2.example.com/v1
130
+ ```
131
+
132
+ #### `set-key [key]`
133
+
134
+ 设置 OpenAI compatible API Key。
135
+
136
+ ```bash
137
+ git ai set-key sk-xxxxxxxxxxxxx
138
+ ```
139
+
140
+ 支持多个 Key,用英文逗号分隔:
141
+
142
+ ```bash
143
+ git ai set-key key1,key2,key3
144
+ ```
145
+
146
+ #### `set-model [model]`
147
+
148
+ 设置要使用的模型。
149
+
150
+ ```bash
151
+ git ai set-model gpt-4
152
+ ```
153
+
154
+ 支持多个模型,用英文逗号分隔:
155
+
156
+ ```bash
157
+ git ai set-model gpt-4,claude-3,gemini-pro
158
+ ```
159
+
160
+ 如果不提供参数,会交互式选择模型:
161
+
162
+ ```bash
163
+ git ai set-model
164
+ ```
165
+
166
+ #### `select-model`
167
+
168
+ 从模型列表中交互式选择模型。使用此命令前需要配置环境变量 `OPENAI_MODEL_LIST_URL`。
169
+
170
+ ```bash
171
+ git ai select-model
172
+ ```
173
+
174
+ **环境变量配置:**
175
+
176
+ `OPENAI_MODEL_LIST_URL` 用于指定模型列表的来源,支持 HTTP(S) URL 或本地文件路径。
177
+
178
+ **设置环境变量:**
179
+
180
+ ```bash
181
+ # Linux/macOS
182
+ export OPENAI_MODEL_LIST_URL="https://raw.githubusercontent.com/xx025/carrot/main/model_list.json"
183
+
184
+ # Windows (PowerShell)
185
+ $env:OPENAI_MODEL_LIST_URL="https://raw.githubusercontent.com/xx025/carrot/main/model_list.json"
186
+
187
+ # Windows (CMD)
188
+ set OPENAI_MODEL_LIST_URL=https://raw.githubusercontent.com/xx025/carrot/main/model_list.json
189
+ ```
190
+
191
+ **支持的格式:**
192
+
193
+ - **HTTP(S) URL**: `https://example.com/model_list.json`
194
+ - **本地文件路径(Linux/macOS)**: `/path/to/your/local/model_list.json`
195
+ - **本地文件路径(Windows)**: `C:\Path\To\Your\Local\model_list.json`
196
+
197
+ **JSON 配置格式:**
198
+
199
+ 模型 id、baseURL、key 配置多个会随机取,必填(id、baseURL)、非必填(keys)
200
+
201
+ ```json
202
+ {
203
+ "data": [
204
+ {
205
+ "id": "modelId1,modelId2,modelId3",
206
+ "baseURL": "baseURL1,baseURL2,baseURL3",
207
+ "keys": "key1,key2,key3"
208
+ }
209
+ ]
210
+ }
211
+ ```
212
+
213
+ **示例:**
214
+
215
+ ```bash
216
+ # 设置环境变量后执行
217
+ export OPENAI_MODEL_LIST_URL="https://raw.githubusercontent.com/xx025/carrot/main/model_list.json"
218
+ git ai select-model
219
+ ```
220
+
221
+ #### `set-max-token <maxToken>`
222
+
223
+ 设置最大 token 数,默认 128000(128k)。
224
+
225
+ ```bash
226
+ git ai set-max-token 128000
227
+ ```
228
+
229
+ 当代码变更超过最大 token 数时,工具会使用 `git diff --stat` 来获取文件统计信息。
230
+
231
+ ## 🔧 工作流程
232
+
233
+ 执行 `git ai` 时,工具会按以下流程执行:
234
+
235
+ ```
236
+ 检查环境 → 检查目录 → 检查冲突 → 处理合并
237
+
238
+ git add → 获取 diff → AI 生成 commit message
239
+
240
+ git commit → git fetch → git merge → 检查冲突 → git push
241
+ ```
242
+
243
+ ## 📝 提交消息格式
244
+
245
+ 工具生成的提交消息符合常见的 commit message 规范:
246
+
247
+ ```
248
+ <type>(<username>): <description>
249
+
250
+ [可选的详细说明]
251
+ ```
252
+
253
+ **类型(type)包括:**
254
+
255
+ - `feat` - 新功能
256
+ - `fix` - 修复 bug
257
+ - `docs` - 文档变更
258
+ - `style` - 代码格式变更(不影响代码运行)
259
+ - `refactor` - 重构代码
260
+ - `perf` - 性能优化
261
+ - `test` - 测试相关
262
+ - `build` - 构建系统或外部依赖变更
263
+ - `ci` - CI 配置文件和脚本变更
264
+ - `chore` - 其他变更(不修改 src 或 test 文件)
265
+ - `revert` - 回滚提交
266
+
267
+ **示例:**
268
+
269
+ ```
270
+ feat(John): 添加用户登录功能
271
+
272
+ - 实现用户名密码登录
273
+ - 添加 JWT token 验证
274
+ - 完善错误处理机制
275
+ ```
276
+
277
+ ## 🛠️ 高级功能
278
+
279
+ ### 冲突检测
280
+
281
+ 工具会自动检测:
282
+
283
+ 1. **Git 冲突** - 检测未解决的合并冲突(UU、AA、DD 状态)
284
+ 2. **代码冲突标记** - 检测代码中的冲突标记(`<<<<<<<`、`=======`、`>>>>>>>`)
285
+
286
+ 如果检测到冲突,工具会提示你手动解决。
287
+
288
+ ### AI 诊断
289
+
290
+ 当 `git commit` 失败时,工具会:
291
+
292
+ 1. 自动收集错误信息、git status 和 hook 输出
293
+ 2. 使用 AI 分析失败原因
294
+ 3. 提供诊断结果和修复建议
295
+
296
+ ### 子目录支持
297
+
298
+ 如果在 Git 仓库的子目录中运行,工具会:
299
+
300
+ - 只处理当前目录下的文件
301
+ - 显示警告提示当前操作范围
302
+
303
+ ## ⚙️ 配置存储
304
+
305
+ 配置信息存储在本地,使用 `configstore` 管理。配置文件位置:
306
+
307
+ - **Linux/macOS**: `~/.config/configstore/git-ai/cli.json`
308
+ - **Windows**: `%APPDATA%\configstore\@git-ai\cli.json`
309
+
310
+ ## 🔍 故障排除
311
+
312
+ ### 问题:获取 git 用户信息时出错
313
+
314
+ **解决方案:**
315
+
316
+ ```bash
317
+ git config user.name "Your Name"
318
+ ```
319
+
320
+ ### 问题:更新内容超过模型支持的最大 token 数
321
+
322
+ **解决方案:**
323
+
324
+ 1. 减少要提交的文件数量
325
+ 2. 增加最大 token 数:`git ai set-max-token <更大的值>`
326
+
327
+ ### 问题:AI 生成的内容不符合规则
328
+
329
+ **解决方案:**
330
+
331
+ 重新运行 `git ai`,AI 会重新生成提交消息。
332
+
333
+ ### 问题:网络错误或 API 调用失败
334
+
335
+ **解决方案:**
336
+
337
+ 1. 检查网络连接
338
+ 2. 验证 API Base URL 和 Key 是否正确
339
+ 3. 检查 API 服务是否可用
340
+
341
+ ## 📋 系统要求
342
+
343
+ - Node.js >= 12.20.0
344
+ - Git >= 2.0.0
345
+
346
+ ## 🤝 贡献
347
+
348
+ 欢迎提交 Issue 和 Pull Request!
349
+
350
+ ## 📄 许可证
351
+
352
+ MIT License
353
+
354
+ ## 👤 作者
355
+
356
+ **Baran**
357
+
358
+ - GitHub: [@code-ba](https://github.com/code-ba)
359
+ - Email: info@cxvh.com
360
+
361
+ ## 🔗 相关链接
362
+
363
+ - [GitHub Repository](https://github.com/code-ba/git-ai)
364
+ - [Issue Tracker](https://github.com/code-ba/git-ai/issues)
365
+ - [NPM Package](https://www.npmjs.com/package/@git-ai/cli)
366
+
367
+ ---
368
+
369
+ **注意:** 首次使用建议先使用 `--dry-run` 选项测试,确保一切正常后再正式提交。