g2log 1.4.1 → 1.4.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.
- package/git-user-log.js +9 -40
- package/package.json +1 -1
package/git-user-log.js
CHANGED
@@ -676,6 +676,12 @@ Git提交记录:
|
|
676
676
|
let aiResponse = '';
|
677
677
|
const providerLower = apiProvider.toLowerCase();
|
678
678
|
|
679
|
+
// 输出AI总结的标题信息
|
680
|
+
console.log(`\n${colorize('📊 ' + author + ' 的工作总结', 'bright')}`);
|
681
|
+
console.log(`${colorize('📅 时间范围: ' + since + ' 至 ' + until, 'green')}`);
|
682
|
+
console.log(`${colorize('🤖 使用模型: ' + modelName, 'cyan')}`);
|
683
|
+
console.log(`${colorize('=' .repeat(30), 'bright')}\n`);
|
684
|
+
|
679
685
|
// 根据提供商名称选择对应的实现
|
680
686
|
if (providerLower === 'openai') {
|
681
687
|
aiResponse = await getOpenAIResponse(apiKey, prompt, modelName, apiBaseURL, spinner);
|
@@ -687,43 +693,6 @@ Git提交记录:
|
|
687
693
|
// 停止spinner并显示成功消息
|
688
694
|
if (spinner) spinner.stop('✅ AI总结已生成');
|
689
695
|
|
690
|
-
// 格式化并输出AI总结
|
691
|
-
console.log(`\n${colorize('📊 ' + author + ' 的工作总结', 'bright')}`);
|
692
|
-
console.log(`${colorize('📅 时间范围: ' + since + ' 至 ' + until, 'green')}`);
|
693
|
-
console.log(`${colorize('🤖 使用模型: ' + modelName, 'cyan')}`);
|
694
|
-
console.log(`${colorize('=' .repeat(30), 'bright')}\n`);
|
695
|
-
|
696
|
-
// 分段输出并优化格式
|
697
|
-
const lines = aiResponse.split('\n');
|
698
|
-
for (let i = 0; i < lines.length; i++) {
|
699
|
-
const line = lines[i];
|
700
|
-
|
701
|
-
// 为标题添加颜色
|
702
|
-
if (line.startsWith('# ')) {
|
703
|
-
console.log(colorize(line, 'bright'));
|
704
|
-
}
|
705
|
-
// 为子标题添加颜色
|
706
|
-
else if (line.startsWith('## ')) {
|
707
|
-
console.log(colorize(line, 'yellow'));
|
708
|
-
}
|
709
|
-
// 为列表项添加图标和颜色
|
710
|
-
else if (line.trim().startsWith('- ')) {
|
711
|
-
console.log(colorize(' • ' + line.trim().substring(2), 'reset'));
|
712
|
-
}
|
713
|
-
// 为数字列表添加颜色
|
714
|
-
else if (/^\d+\.\s/.test(line.trim())) {
|
715
|
-
console.log(colorize(' ' + line.trim(), 'reset'));
|
716
|
-
}
|
717
|
-
// 为分隔线添加颜色
|
718
|
-
else if (line.trim().startsWith('---')) {
|
719
|
-
console.log(colorize(' ' + '─'.repeat(30), 'dim'));
|
720
|
-
}
|
721
|
-
// 普通文本
|
722
|
-
else {
|
723
|
-
console.log(colorize(line, 'reset'));
|
724
|
-
}
|
725
|
-
}
|
726
|
-
|
727
696
|
return aiResponse;
|
728
697
|
} catch (error) {
|
729
698
|
if (spinner) spinner.fail(`❌ AI总结失败: ${error.message}`);
|
@@ -758,7 +727,7 @@ async function getOpenAIResponse(apiKey, prompt, modelName, apiBaseURL, spinner
|
|
758
727
|
};
|
759
728
|
|
760
729
|
// 打印请求内容
|
761
|
-
console.log(colorize('\n📨 发送给
|
730
|
+
console.log(colorize('\n📨 发送给AI的请求:', 'cyan'));
|
762
731
|
console.log(colorize(`📌 API端点: ${url}`, 'dim'));
|
763
732
|
console.log(colorize(`🤖 使用模型: ${data.model}`, 'dim'));
|
764
733
|
console.log(colorize(`🌡️ 温度: ${data.temperature}`, 'dim'));
|
@@ -766,7 +735,7 @@ async function getOpenAIResponse(apiKey, prompt, modelName, apiBaseURL, spinner
|
|
766
735
|
console.log(colorize('📄 系统角色: ' + data.messages[0].content, 'dim'));
|
767
736
|
console.log(colorize('💬 提示内容预览: ' + data.messages[1].content.substring(0, 150) + '...', 'dim'));
|
768
737
|
|
769
|
-
if (spinner) spinner.update('🔄 正在向
|
738
|
+
if (spinner) spinner.update('🔄 正在向AI发送请求...\n');
|
770
739
|
|
771
740
|
return new Promise((resolve, reject) => {
|
772
741
|
try {
|
@@ -853,7 +822,7 @@ async function getOpenAIResponse(apiKey, prompt, modelName, apiBaseURL, spinner
|
|
853
822
|
|
854
823
|
// 处理结束
|
855
824
|
res.on('end', () => {
|
856
|
-
if (spinner) spinner.stop('✅
|
825
|
+
if (spinner) spinner.stop('✅ AI响应已结束');
|
857
826
|
console.log(); // 添加换行符
|
858
827
|
resolve(fullContent);
|
859
828
|
});
|