@zjex/git-workflow 0.2.24 → 0.3.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 (99) hide show
  1. package/.github/workflows/deploy-docs.yml +68 -0
  2. package/.github/workflows/test.yml +24 -4
  3. package/.husky/pre-commit +17 -0
  4. package/README.md +72 -1066
  5. package/ROADMAP.md +275 -0
  6. package/dist/index.js +450 -99
  7. package/docs/.vitepress/cache/deps/_metadata.json +52 -0
  8. package/docs/.vitepress/cache/deps/chunk-2CLQ7TTZ.js +9719 -0
  9. package/docs/.vitepress/cache/deps/chunk-2CLQ7TTZ.js.map +7 -0
  10. package/docs/.vitepress/cache/deps/chunk-LE5NDSFD.js +12824 -0
  11. package/docs/.vitepress/cache/deps/chunk-LE5NDSFD.js.map +7 -0
  12. package/docs/.vitepress/cache/deps/package.json +3 -0
  13. package/docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js +4505 -0
  14. package/docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js.map +7 -0
  15. package/docs/.vitepress/cache/deps/vitepress___@vueuse_core.js +583 -0
  16. package/docs/.vitepress/cache/deps/vitepress___@vueuse_core.js.map +7 -0
  17. package/docs/.vitepress/cache/deps/vitepress___@vueuse_integrations_useFocusTrap.js +1352 -0
  18. package/docs/.vitepress/cache/deps/vitepress___@vueuse_integrations_useFocusTrap.js.map +7 -0
  19. package/docs/.vitepress/cache/deps/vitepress___mark__js_src_vanilla__js.js +1665 -0
  20. package/docs/.vitepress/cache/deps/vitepress___mark__js_src_vanilla__js.js.map +7 -0
  21. package/docs/.vitepress/cache/deps/vitepress___minisearch.js +1813 -0
  22. package/docs/.vitepress/cache/deps/vitepress___minisearch.js.map +7 -0
  23. package/docs/.vitepress/cache/deps/vue.js +347 -0
  24. package/docs/.vitepress/cache/deps/vue.js.map +7 -0
  25. package/docs/.vitepress/cache/deps_temp_44e2fb0f/chunk-2CLQ7TTZ.js +9719 -0
  26. package/docs/.vitepress/cache/deps_temp_44e2fb0f/chunk-2CLQ7TTZ.js.map +7 -0
  27. package/docs/.vitepress/cache/deps_temp_44e2fb0f/chunk-LE5NDSFD.js +12824 -0
  28. package/docs/.vitepress/cache/deps_temp_44e2fb0f/chunk-LE5NDSFD.js.map +7 -0
  29. package/docs/.vitepress/cache/deps_temp_44e2fb0f/package.json +3 -0
  30. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___@vue_devtools-api.js +4505 -0
  31. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___@vue_devtools-api.js.map +7 -0
  32. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___@vueuse_core.js +583 -0
  33. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___@vueuse_core.js.map +7 -0
  34. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___@vueuse_integrations_useFocusTrap.js +1352 -0
  35. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___@vueuse_integrations_useFocusTrap.js.map +7 -0
  36. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___mark__js_src_vanilla__js.js +1665 -0
  37. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___mark__js_src_vanilla__js.js.map +7 -0
  38. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___minisearch.js +1813 -0
  39. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___minisearch.js.map +7 -0
  40. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vue.js +347 -0
  41. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vue.js.map +7 -0
  42. package/docs/.vitepress/config.ts +167 -0
  43. package/docs/.vitepress/theme/custom.css +39 -0
  44. package/docs/.vitepress/theme/index.ts +4 -0
  45. package/docs/README.md +82 -0
  46. package/docs/commands/branch.md +468 -0
  47. package/docs/commands/commit.md +554 -0
  48. package/docs/commands/config.md +346 -0
  49. package/docs/commands/index.md +312 -0
  50. package/docs/commands/interactive.md +384 -0
  51. package/docs/commands/release.md +300 -0
  52. package/docs/commands/stash.md +309 -0
  53. package/docs/commands/tag.md +278 -0
  54. package/docs/commands/update.md +347 -0
  55. package/docs/config/ai-config.md +160 -0
  56. package/docs/config/branch-config.md +133 -0
  57. package/docs/config/commit-config.md +185 -0
  58. package/docs/config/config-file.md +776 -0
  59. package/docs/config/examples.md +279 -0
  60. package/docs/config/index.md +478 -0
  61. package/docs/features/git-wrapped.md +199 -0
  62. package/docs/guide/ai-commit.md +576 -0
  63. package/docs/guide/basic-usage.md +522 -0
  64. package/docs/guide/best-practices.md +426 -0
  65. package/docs/guide/branch-management.md +712 -0
  66. package/docs/guide/getting-started.md +294 -0
  67. package/docs/guide/index.md +168 -0
  68. package/docs/guide/installation.md +449 -0
  69. package/docs/guide/release-management.md +744 -0
  70. package/docs/guide/stash-management.md +608 -0
  71. package/docs/guide/tag-management.md +614 -0
  72. package/docs/index.md +205 -0
  73. package/docs/public/favicon.svg +21 -0
  74. package/docs/public/hero-logo.svg +43 -0
  75. package/docs/public/logo.svg +20 -0
  76. package/package.json +12 -2
  77. package/scripts/publish.js +55 -8
  78. package/scripts/publish.sh +20 -2
  79. package/scripts/release.sh +81 -3
  80. package/scripts/update-test-count.js +55 -0
  81. package/src/ai-service.ts +107 -15
  82. package/src/commands/commit.ts +4 -0
  83. package/src/commands/init.ts +18 -0
  84. package/src/commands/log.ts +503 -0
  85. package/src/config.ts +1 -0
  86. package/src/index.ts +37 -13
  87. package/src/utils.ts +10 -0
  88. package/tests/ai-service.test.ts +237 -2
  89. package/tests/init.test.ts +582 -0
  90. package/tests/log.test.ts +106 -0
  91. package/tests/release.test.ts +333 -0
  92. package/tests/setup.ts +21 -0
  93. package/tests/stash.test.ts +376 -0
  94. package/tests/update.test.ts +402 -0
  95. package/vitest.config.ts +3 -0
  96. package/zjex-logo.svg +22 -0
  97. package/zjex-optimized.svg +34 -0
  98. package/zjex.svg +1 -0
  99. package/src/commands/help.ts +0 -76
@@ -0,0 +1,576 @@
1
+ # AI 智能提交
2
+
3
+ AI 智能提交是 Git Workflow 的核心功能之一,它能够自动分析代码变更并生成规范的 commit message,让你告别"词穷"的烦恼。
4
+
5
+ ## 🤖 功能概述
6
+
7
+ ### 核心特性
8
+
9
+ - **⚡️ 快速生成** - 2-3 秒内完成分析和生成
10
+ - **🎯 准确识别** - 自动识别 feat/fix/docs 等提交类型
11
+ - **📝 规范格式** - 符合 Conventional Commits 标准
12
+ - **🇨🇳 多语言支持** - 支持中文和英文
13
+ - **🔄 可预览可拒绝** - 生成后可预览,不满意可切换到手动模式
14
+ - **🛡️ 隐私保护** - 只分析 git diff,不上传完整代码
15
+
16
+ ### 支持的 AI 提供商
17
+
18
+ | 提供商 | 费用 | 特点 | 推荐指数 |
19
+ | ------------- | ------ | ------------------------------ | -------- |
20
+ | GitHub Models | 免费 | 每天 150 次,需要 GitHub Token | ⭐⭐⭐⭐⭐ |
21
+ | OpenAI | 付费 | 质量高,速度快 | ⭐⭐⭐⭐ |
22
+ | Claude | 付费 | 理解能力强,适合复杂变更 | ⭐⭐⭐⭐ |
23
+ | Ollama | 免费 | 本地运行,完全私有 | ⭐⭐⭐ |
24
+
25
+ ## 🚀 快速开始
26
+
27
+ ### 1. 启用 AI Commit
28
+
29
+ 如果还没有配置,运行初始化命令:
30
+
31
+ ```bash
32
+ gw init
33
+ ```
34
+
35
+ 选择启用 AI commit 功能:
36
+
37
+ ```
38
+ ? 是否启用 AI commit 功能: 是
39
+ ? 选择 AI 提供商: GitHub Models(免费,推荐)
40
+
41
+ 💡 如何获取 GitHub Token:
42
+ 1. 访问: https://github.com/settings/tokens/new
43
+ 2. 勾选 'repo' 权限
44
+ 3. 生成并复制 token
45
+
46
+ ? 输入你的 GitHub Token: ghp_xxxxxxxxxxxx
47
+ ? 选择语言: 中文
48
+ ```
49
+
50
+ ### 2. 使用 AI 提交
51
+
52
+ 在有代码变更的项目中:
53
+
54
+ ```bash
55
+ gw c
56
+ ```
57
+
58
+ 选择 AI 模式:
59
+
60
+ ```
61
+ 已暂存的文件:
62
+ src/auth.ts
63
+ src/login.ts
64
+ ────────────────────────────────────────
65
+ ? 选择 commit 方式:
66
+ ❯ 🤖 AI 自动生成 commit message
67
+ ✍️ 手动编写 commit message
68
+ ```
69
+
70
+ AI 会自动分析变更并生成提交信息:
71
+
72
+ ```
73
+ ✔ AI 生成完成
74
+
75
+ AI 生成的 commit message:
76
+ ✨ feat(auth): 添加用户登录功能
77
+
78
+ - 实现用户名密码验证
79
+ - 添加登录状态管理
80
+ - 集成 JWT token 处理
81
+ ────────────────────────────────────────
82
+ ? 使用这个 commit message?
83
+ ❯ ✅ 使用
84
+ ❌ 不使用,切换到手动模式
85
+ ```
86
+
87
+ ## 🔧 配置详解
88
+
89
+ ### 配置文件位置
90
+
91
+ AI commit 配置保存在:
92
+
93
+ - **全局配置**: `~/.gwrc.json`
94
+ - **项目配置**: `.gwrc.json`
95
+
96
+ ### 完整配置示例
97
+
98
+ ```json
99
+ {
100
+ "aiCommit": {
101
+ "enabled": true,
102
+ "provider": "github",
103
+ "apiKey": "ghp_xxxxxxxxxxxx",
104
+ "model": "gpt-4o-mini",
105
+ "language": "zh-CN",
106
+ "maxTokens": 200,
107
+ "temperature": 0.7,
108
+ "customPrompt": ""
109
+ }
110
+ }
111
+ ```
112
+
113
+ ### 配置项说明
114
+
115
+ | 配置项 | 类型 | 默认值 | 说明 |
116
+ | -------------- | --------- | ---------- | ---------------------------------------------------- |
117
+ | `enabled` | `boolean` | `true` | 是否启用 AI commit 功能 |
118
+ | `provider` | `string` | `"github"` | AI 提供商:`github` / `openai` / `claude` / `ollama` |
119
+ | `apiKey` | `string` | - | API key,留空使用内置 key(仅 GitHub Models) |
120
+ | `model` | `string` | 根据提供商 | 模型名称 |
121
+ | `language` | `string` | `"zh-CN"` | 生成语言:`zh-CN` / `en-US` |
122
+ | `maxTokens` | `number` | `200` | 最大 token 数 |
123
+ | `temperature` | `number` | `0.7` | 创造性参数(0-1) |
124
+ | `customPrompt` | `string` | - | 自定义提示词 |
125
+
126
+ ## 🌟 各提供商详细配置
127
+
128
+ ### GitHub Models(推荐)
129
+
130
+ **优势:**
131
+ - 完全免费,每天 150 次调用
132
+ - 无需信用卡,只需 GitHub 账号
133
+ - 模型质量高,速度快
134
+ - 支持多种模型
135
+
136
+ **配置步骤:**
137
+
138
+ 1. 获取 GitHub Token:
139
+ - 访问:https://github.com/settings/tokens/new
140
+ - Token 名称:`git-workflow-ai`
141
+ - 勾选权限:`repo`(用于访问 GitHub Models API)
142
+ - 点击 "Generate token"
143
+ - 复制生成的 token(以 `ghp_` 开头)
144
+
145
+ 2. 配置 Git Workflow:
146
+
147
+ ```json
148
+ {
149
+ "aiCommit": {
150
+ "enabled": true,
151
+ "provider": "github",
152
+ "apiKey": "ghp_your_token_here",
153
+ "model": "gpt-4o-mini",
154
+ "language": "zh-CN"
155
+ }
156
+ }
157
+ ```
158
+
159
+ **可用模型:**
160
+ - `gpt-4o-mini` - 快速,适合日常使用(推荐)
161
+ - `gpt-4o` - 质量更高,token 消耗更多
162
+ - `gpt-3.5-turbo` - 经典模型,平衡性能和质量
163
+
164
+ ### OpenAI
165
+
166
+ **优势:**
167
+ - 模型质量最高
168
+ - 响应速度快
169
+ - 支持最新的 GPT 模型
170
+
171
+ **配置步骤:**
172
+
173
+ 1. 获取 API Key:
174
+ - 访问:https://platform.openai.com/api-keys
175
+ - 创建新的 API Key
176
+ - 复制 API Key(以 `sk-` 开头)
177
+
178
+ 2. 配置:
179
+
180
+ ```json
181
+ {
182
+ "aiCommit": {
183
+ "enabled": true,
184
+ "provider": "openai",
185
+ "apiKey": "sk-your-api-key-here",
186
+ "model": "gpt-4o-mini",
187
+ "language": "zh-CN"
188
+ }
189
+ }
190
+ ```
191
+
192
+ **可用模型:**
193
+ - `gpt-4o-mini` - 性价比最高(推荐)
194
+ - `gpt-4o` - 最新最强模型
195
+ - `gpt-3.5-turbo` - 经济实惠
196
+
197
+ ### Claude (Anthropic)
198
+
199
+ **优势:**
200
+ - 理解能力强,适合复杂变更
201
+ - 生成的描述更详细
202
+ - 对中文支持良好
203
+
204
+ **配置步骤:**
205
+
206
+ 1. 获取 API Key:
207
+ - 访问:https://console.anthropic.com/
208
+ - 创建 API Key
209
+ - 复制 API Key
210
+
211
+ 2. 配置:
212
+
213
+ ```json
214
+ {
215
+ "aiCommit": {
216
+ "enabled": true,
217
+ "provider": "claude",
218
+ "apiKey": "sk-ant-your-api-key-here",
219
+ "model": "claude-3-haiku-20240307",
220
+ "language": "zh-CN"
221
+ }
222
+ }
223
+ ```
224
+
225
+ **可用模型:**
226
+ - `claude-3-haiku-20240307` - 快速经济(推荐)
227
+ - `claude-3-sonnet-20240229` - 平衡性能
228
+ - `claude-3-opus-20240229` - 最高质量
229
+
230
+ ### Ollama(本地)
231
+
232
+ **优势:**
233
+ - 完全免费,无限制
234
+ - 数据不离开本地,隐私性最高
235
+ - 支持多种开源模型
236
+
237
+ **配置步骤:**
238
+
239
+ 1. 安装 Ollama:
240
+ - 访问:https://ollama.com/
241
+ - 下载并安装 Ollama
242
+ - 启动 Ollama 服务
243
+
244
+ 2. 下载模型:
245
+
246
+ ```bash
247
+ # 推荐模型
248
+ ollama pull llama3.2:3b
249
+ ollama pull qwen2.5:7b
250
+ ollama pull codellama:7b
251
+ ```
252
+
253
+ 3. 配置:
254
+
255
+ ```json
256
+ {
257
+ "aiCommit": {
258
+ "enabled": true,
259
+ "provider": "ollama",
260
+ "model": "llama3.2:3b",
261
+ "language": "zh-CN",
262
+ "baseURL": "http://localhost:11434"
263
+ }
264
+ }
265
+ ```
266
+
267
+ **推荐模型:**
268
+ - `llama3.2:3b` - 轻量快速,适合日常使用
269
+ - `qwen2.5:7b` - 中文支持更好
270
+ - `codellama:7b` - 专门针对代码优化
271
+
272
+ ## 🎯 使用技巧
273
+
274
+ ### 1. 提高生成质量
275
+
276
+ **暂存相关文件:**
277
+ ```bash
278
+ # 只暂存相关的文件,避免混合不同功能的变更
279
+ git add src/auth.ts src/login.ts
280
+ gw c
281
+ ```
282
+
283
+ **分批提交:**
284
+ ```bash
285
+ # 将大的变更拆分成多个小的、逻辑清晰的提交
286
+ git add src/auth.ts
287
+ gw c # 提交认证相关变更
288
+
289
+ git add src/ui/login.tsx
290
+ gw c # 提交 UI 相关变更
291
+ ```
292
+
293
+ ### 2. 自定义提示词
294
+
295
+ 如果默认生成的提交信息不符合你的需求,可以自定义提示词:
296
+
297
+ ```json
298
+ {
299
+ "aiCommit": {
300
+ "customPrompt": "请生成简洁的中文 commit message,格式为:类型(范围): 描述。类型使用中文,如:功能、修复、文档等。"
301
+ }
302
+ }
303
+ ```
304
+
305
+ ### 3. 语言设置
306
+
307
+ 根据团队需求选择合适的语言:
308
+
309
+ ```json
310
+ {
311
+ "aiCommit": {
312
+ "language": "en-US" // 英文提交信息
313
+ }
314
+ }
315
+ ```
316
+
317
+ 生成效果对比:
318
+
319
+ ```bash
320
+ # 中文 (zh-CN)
321
+ ✨ feat(auth): 添加用户登录功能
322
+
323
+ # 英文 (en-US)
324
+ ✨ feat(auth): add user login functionality
325
+ ```
326
+
327
+ ### 4. 调整创造性
328
+
329
+ 通过 `temperature` 参数控制生成的创造性:
330
+
331
+ ```json
332
+ {
333
+ "aiCommit": {
334
+ "temperature": 0.3 // 更保守,生成更一致的结果
335
+ }
336
+ }
337
+ ```
338
+
339
+ - `0.0-0.3` - 保守,结果一致性高
340
+ - `0.4-0.7` - 平衡(推荐)
341
+ - `0.8-1.0` - 创造性高,结果多样
342
+
343
+ ## 🔍 生成示例
344
+
345
+ ### 功能开发
346
+
347
+ **代码变更:**
348
+ ```diff
349
+ // src/auth.ts
350
+ + export function validateUser(username: string, password: string) {
351
+ + return username.length > 0 && password.length >= 6;
352
+ + }
353
+
354
+ // src/login.tsx
355
+ + const handleLogin = () => {
356
+ + if (validateUser(username, password)) {
357
+ + // 登录逻辑
358
+ + }
359
+ + }
360
+ ```
361
+
362
+ **AI 生成:**
363
+ ```
364
+ ✨ feat(auth): 添加用户登录验证功能
365
+
366
+ - 实现用户名和密码验证逻辑
367
+ - 添加登录表单处理函数
368
+ - 设置密码最小长度要求
369
+ ```
370
+
371
+ ### Bug 修复
372
+
373
+ **代码变更:**
374
+ ```diff
375
+ // src/utils.ts
376
+ - return data.map(item => item.name);
377
+ + return data?.map(item => item?.name) || [];
378
+ ```
379
+
380
+ **AI 生成:**
381
+ ```
382
+ 🐛 fix(utils): 修复数据为空时的崩溃问题
383
+
384
+ - 添加空值检查避免 TypeError
385
+ - 使用可选链操作符增强安全性
386
+ - 提供默认空数组作为兜底
387
+ ```
388
+
389
+ ### 文档更新
390
+
391
+ **代码变更:**
392
+ ```diff
393
+ // README.md
394
+ + ## 安装
395
+ +
396
+ + ```bash
397
+ + npm install -g @zjex/git-workflow
398
+ + ```
399
+ ```
400
+
401
+ **AI 生成:**
402
+ ```
403
+ 📝 docs: 添加安装说明文档
404
+
405
+ - 补充 npm 全局安装命令
406
+ - 完善项目使用指南
407
+ ```
408
+
409
+ ### 重构代码
410
+
411
+ **代码变更:**
412
+ ```diff
413
+ // src/api.ts
414
+ - function getUserData(id) {
415
+ - return fetch(`/api/users/${id}`).then(res => res.json());
416
+ - }
417
+ + async function getUserData(id: string): Promise<User> {
418
+ + const response = await fetch(`/api/users/${id}`);
419
+ + return response.json();
420
+ + }
421
+ ```
422
+
423
+ **AI 生成:**
424
+ ```
425
+ ♻️ refactor(api): 重构用户数据获取函数
426
+
427
+ - 使用 async/await 替代 Promise 链
428
+ - 添加 TypeScript 类型注解
429
+ - 提升代码可读性和类型安全
430
+ ```
431
+
432
+ ## 🛡️ 隐私与安全
433
+
434
+ ### 数据处理
435
+
436
+ Git Workflow 在使用 AI 功能时:
437
+
438
+ - ✅ **只发送 git diff** - 仅发送代码变更差异,不发送完整文件
439
+ - ✅ **不存储数据** - AI 提供商不会存储你的代码变更
440
+ - ✅ **本地处理** - 敏感信息(如 API key)仅存储在本地
441
+ - ✅ **可选功能** - 可以随时禁用 AI 功能
442
+
443
+ ### 安全建议
444
+
445
+ 1. **使用项目配置** - 敏感项目可以禁用 AI 功能
446
+ 2. **定期更新 Token** - 定期轮换 API key
447
+ 3. **检查权限** - GitHub Token 只需要 `repo` 权限
448
+ 4. **本地优先** - 对于高度敏感的项目,考虑使用 Ollama
449
+
450
+ ### 禁用 AI 功能
451
+
452
+ 如果不想使用 AI 功能,可以在配置中禁用:
453
+
454
+ ```json
455
+ {
456
+ "aiCommit": {
457
+ "enabled": false
458
+ }
459
+ }
460
+ ```
461
+
462
+ 或者在使用时选择手动模式:
463
+
464
+ ```bash
465
+ gw c
466
+ # 选择 "✍️ 手动编写 commit message"
467
+ ```
468
+
469
+ ## 🔧 故障排除
470
+
471
+ ### 常见问题
472
+
473
+ **1. API Key 无效**
474
+
475
+ ```
476
+ ❌ AI 生成失败: Invalid API key
477
+ ```
478
+
479
+ **解决方案:**
480
+ - 检查 API key 是否正确
481
+ - 确认 API key 有足够的权限
482
+ - 尝试重新生成 API key
483
+
484
+ **2. 网络连接问题**
485
+
486
+ ```
487
+ ❌ AI 生成失败: Network timeout
488
+ ```
489
+
490
+ **解决方案:**
491
+ - 检查网络连接
492
+ - 尝试使用代理
493
+ - 切换到其他 AI 提供商
494
+
495
+ **3. 配额超限**
496
+
497
+ ```
498
+ ❌ AI 生成失败: Rate limit exceeded
499
+ ```
500
+
501
+ **解决方案:**
502
+ - 等待配额重置(GitHub Models 每天重置)
503
+ - 切换到其他 AI 提供商
504
+ - 考虑升级到付费计划
505
+
506
+ **4. Ollama 连接失败**
507
+
508
+ ```
509
+ ❌ AI 生成失败: Connection refused
510
+ ```
511
+
512
+ **解决方案:**
513
+ - 确认 Ollama 服务正在运行
514
+ - 检查端口配置(默认 11434)
515
+ - 确认模型已下载
516
+
517
+ ### 调试模式
518
+
519
+ 启用详细日志查看具体错误:
520
+
521
+ ```bash
522
+ DEBUG=gw:ai gw c
523
+ ```
524
+
525
+ ### 降级方案
526
+
527
+ 如果 AI 功能不可用,Git Workflow 会自动降级到手动模式:
528
+
529
+ ```
530
+ ⚠️ AI 服务暂时不可用,已切换到手动模式
531
+
532
+ ? 选择提交类型:
533
+ ✨ feat 新功能
534
+ 🐛 fix 修复 Bug
535
+ 📝 docs 文档更新
536
+ ...
537
+ ```
538
+
539
+ ## 📊 性能优化
540
+
541
+ ### 提高响应速度
542
+
543
+ 1. **选择合适的模型**:
544
+ - GitHub Models: `gpt-4o-mini`(推荐)
545
+ - OpenAI: `gpt-3.5-turbo`
546
+ - Claude: `claude-3-haiku`
547
+ - Ollama: `llama3.2:3b`
548
+
549
+ 2. **减少 token 消耗**:
550
+ ```json
551
+ {
552
+ "aiCommit": {
553
+ "maxTokens": 150, // 减少最大 token 数
554
+ "temperature": 0.3 // 降低创造性
555
+ }
556
+ }
557
+ ```
558
+
559
+ 3. **本地缓存**:
560
+ Git Workflow 会缓存相似的变更,避免重复请求。
561
+
562
+ ### 批量操作
563
+
564
+ 对于多个小的变更,可以分批暂存和提交:
565
+
566
+ ```bash
567
+ # 脚本示例
568
+ for file in src/*.ts; do
569
+ git add "$file"
570
+ gw c --auto # 假设的自动模式
571
+ done
572
+ ```
573
+
574
+ ---
575
+
576
+ AI 智能提交功能让你告别"词穷"的烦恼,生成规范、准确的提交信息。选择适合的 AI 提供商,配置好参数,就能享受高效的提交体验!