Skip to content

Commit 09993dd

Browse files
committed
feat: add additional prompt support for AI commit message generation
Signed-off-by: leo <longshuang@msn.cn>
1 parent f5fd623 commit 09993dd

File tree

6 files changed

+15
-1
lines changed

6 files changed

+15
-1
lines changed

src/AI/Service.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ public async Task GenerateCommitMessage(string repo, string changeList, Action<s
3333
userMessageBuilder
3434
.AppendLine("Generate a commit message (follow the rule of conventional commit message) for given git repository.")
3535
.AppendLine("- Read all given changed files before generating. Do not skip any one file.")
36+
.AppendLine(string.IsNullOrEmpty(_ai.AdditionalPrompt) ? string.Empty : _ai.AdditionalPrompt)
3637
.Append("Reposiory path: ").AppendLine(repo.Quoted())
3738
.AppendLine("Changed files: ")
3839
.Append(changeList);

src/Models/AIProvider.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,6 @@ public class AIProvider
77
public string Model { get; set; }
88
public string ApiKey { get; set; }
99
public bool ReadApiKeyFromEnv { get; set; }
10+
public string AdditionalPrompt { get; set; }
1011
}
1112
}

src/Resources/Locales/en_US.axaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -610,6 +610,7 @@
610610
<x:String x:Key="Text.Period.Yesterday" xml:space="preserve">Yesterday</x:String>
611611
<x:String x:Key="Text.Preferences" xml:space="preserve">Preferences</x:String>
612612
<x:String x:Key="Text.Preferences.AI" xml:space="preserve">AI</x:String>
613+
<x:String x:Key="Text.Preferences.AI.AdditionalPrompt" xml:space="preserve">Additional Prompt (Use `-` to list your requirements)</x:String>
613614
<x:String x:Key="Text.Preferences.AI.ApiKey" xml:space="preserve">API Key</x:String>
614615
<x:String x:Key="Text.Preferences.AI.Model" xml:space="preserve">Model</x:String>
615616
<x:String x:Key="Text.Preferences.AI.Name" xml:space="preserve">Name</x:String>

src/Resources/Locales/zh_CN.axaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -614,6 +614,7 @@
614614
<x:String x:Key="Text.Period.Yesterday" xml:space="preserve">昨天</x:String>
615615
<x:String x:Key="Text.Preferences" xml:space="preserve">偏好设置</x:String>
616616
<x:String x:Key="Text.Preferences.AI" xml:space="preserve">AI</x:String>
617+
<x:String x:Key="Text.Preferences.AI.AdditionalPrompt" xml:space="preserve">附加提示词 (请使用 `-` 列出您的要求)</x:String>
617618
<x:String x:Key="Text.Preferences.AI.ApiKey" xml:space="preserve">API密钥</x:String>
618619
<x:String x:Key="Text.Preferences.AI.Model" xml:space="preserve">模型</x:String>
619620
<x:String x:Key="Text.Preferences.AI.Name" xml:space="preserve">配置名称</x:String>

src/Resources/Locales/zh_TW.axaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -614,6 +614,7 @@
614614
<x:String x:Key="Text.Period.Yesterday" xml:space="preserve">昨天</x:String>
615615
<x:String x:Key="Text.Preferences" xml:space="preserve">偏好設定</x:String>
616616
<x:String x:Key="Text.Preferences.AI" xml:space="preserve">AI</x:String>
617+
<x:String x:Key="Text.Preferences.AI.AdditionalPrompt" xml:space="preserve">附加提示詞 (請使用 '-' 列出您的要求)</x:String>
617618
<x:String x:Key="Text.Preferences.AI.ApiKey" xml:space="preserve">API 金鑰</x:String>
618619
<x:String x:Key="Text.Preferences.AI.Model" xml:space="preserve">模型</x:String>
619620
<x:String x:Key="Text.Preferences.AI.Name" xml:space="preserve">名稱</x:String>

src/Views/Preferences.axaml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -792,7 +792,7 @@
792792
<TextBlock Classes="tab_header" Text="{DynamicResource Text.Preferences.AI}"/>
793793
</TabItem.Header>
794794

795-
<Grid Margin="0,8,0,16" MinHeight="360">
795+
<Grid Margin="0,8,0,16" MinHeight="400">
796796
<Grid.ColumnDefinitions>
797797
<ColumnDefinition Width="200"/>
798798
<ColumnDefinition Width="*" MaxWidth="400"/>
@@ -875,6 +875,15 @@
875875
<CheckBox Margin="0,4,0,0"
876876
Content="{DynamicResource Text.Preferences.AI.ReadApiKeyFromEnv}"
877877
IsChecked="{Binding ReadApiKeyFromEnv, Mode=TwoWay}"/>
878+
879+
<TextBlock Margin="0,12,0,0" Text="{DynamicResource Text.Preferences.AI.AdditionalPrompt}"/>
880+
<TextBox Height="120"
881+
Margin="0,4,0,0"
882+
CornerRadius="3"
883+
VerticalContentAlignment="Top"
884+
Text="{Binding AdditionalPrompt, Mode=TwoWay}"
885+
AcceptsReturn="true"
886+
TextWrapping="Wrap"/>
878887
</StackPanel>
879888
</DataTemplate>
880889
</ContentControl.DataTemplates>

0 commit comments

Comments
 (0)