@@ -52,6 +52,7 @@ interface LocalCodeIndexSettings {
5252 codebaseIndexEmbedderBaseUrl ?: string
5353 codebaseIndexEmbedderModelId : string
5454 codebaseIndexSearchMaxResults ?: number
55+ codebaseIndexSearchMinScore ?: number
5556
5657 // Secret settings (start empty, will be loaded separately)
5758 codeIndexOpenAiKey ?: string
@@ -85,6 +86,7 @@ export const CodeIndexPopover: React.FC<CodeIndexPopoverProps> = ({
8586 codebaseIndexEmbedderBaseUrl : "" ,
8687 codebaseIndexEmbedderModelId : "" ,
8788 codebaseIndexSearchMaxResults : CODEBASE_INDEX_DEFAULTS . DEFAULT_SEARCH_RESULTS ,
89+ codebaseIndexSearchMinScore : CODEBASE_INDEX_DEFAULTS . DEFAULT_SEARCH_MIN_SCORE ,
8890 codeIndexOpenAiKey : "" ,
8991 codeIndexQdrantApiKey : "" ,
9092 codebaseIndexOpenAiCompatibleBaseUrl : "" ,
@@ -114,7 +116,9 @@ export const CodeIndexPopover: React.FC<CodeIndexPopoverProps> = ({
114116 codebaseIndexEmbedderBaseUrl : codebaseIndexConfig . codebaseIndexEmbedderBaseUrl || "" ,
115117 codebaseIndexEmbedderModelId : codebaseIndexConfig . codebaseIndexEmbedderModelId || "" ,
116118 codebaseIndexSearchMaxResults :
117- codebaseIndexConfig . codebaseIndexSearchMaxResults || CODEBASE_INDEX_DEFAULTS . DEFAULT_SEARCH_RESULTS ,
119+ codebaseIndexConfig . codebaseIndexSearchMaxResults ?? CODEBASE_INDEX_DEFAULTS . DEFAULT_SEARCH_RESULTS ,
120+ codebaseIndexSearchMinScore :
121+ codebaseIndexConfig . codebaseIndexSearchMinScore ?? CODEBASE_INDEX_DEFAULTS . DEFAULT_SEARCH_MIN_SCORE ,
118122 codeIndexOpenAiKey : "" ,
119123 codeIndexQdrantApiKey : "" ,
120124 codebaseIndexOpenAiCompatibleBaseUrl : "" ,
@@ -596,6 +600,51 @@ export const CodeIndexPopover: React.FC<CodeIndexPopoverProps> = ({
596600
597601 { isAdvancedSettingsOpen && (
598602 < div className = "mt-4 space-y-4 pl-4" >
603+ { /* Search Score Threshold Slider */ }
604+ < div className = "space-y-2" >
605+ < div className = "flex items-center gap-2" >
606+ < label className = "text-sm font-medium" >
607+ { t ( "settings:codeIndex.searchMinScoreLabel" ) }
608+ </ label >
609+ < StandardTooltip content = { t ( "settings:codeIndex.searchMinScoreDescription" ) } >
610+ < span className = "codicon codicon-info text-xs text-vscode-descriptionForeground cursor-help" />
611+ </ StandardTooltip >
612+ </ div >
613+ < div className = "flex items-center gap-2" >
614+ < Slider
615+ min = { CODEBASE_INDEX_DEFAULTS . MIN_SEARCH_SCORE }
616+ max = { CODEBASE_INDEX_DEFAULTS . MAX_SEARCH_SCORE }
617+ step = { CODEBASE_INDEX_DEFAULTS . SEARCH_SCORE_STEP }
618+ value = { [
619+ currentSettings . codebaseIndexSearchMinScore ??
620+ CODEBASE_INDEX_DEFAULTS . DEFAULT_SEARCH_MIN_SCORE ,
621+ ] }
622+ onValueChange = { ( values ) =>
623+ updateSetting ( "codebaseIndexSearchMinScore" , values [ 0 ] )
624+ }
625+ className = "flex-1"
626+ data-testid = "search-min-score-slider"
627+ />
628+ < span className = "w-12 text-center" >
629+ { (
630+ currentSettings . codebaseIndexSearchMinScore ??
631+ CODEBASE_INDEX_DEFAULTS . DEFAULT_SEARCH_MIN_SCORE
632+ ) . toFixed ( 2 ) }
633+ </ span >
634+ < VSCodeButton
635+ appearance = "icon"
636+ title = { t ( "settings:codeIndex.resetToDefault" ) }
637+ onClick = { ( ) =>
638+ updateSetting (
639+ "codebaseIndexSearchMinScore" ,
640+ CODEBASE_INDEX_DEFAULTS . DEFAULT_SEARCH_MIN_SCORE ,
641+ )
642+ } >
643+ < span className = "codicon codicon-discard" />
644+ </ VSCodeButton >
645+ </ div >
646+ </ div >
647+
599648 { /* Maximum Search Results Slider */ }
600649 < div className = "space-y-2" >
601650 < div className = "flex items-center gap-2" >
@@ -612,7 +661,7 @@ export const CodeIndexPopover: React.FC<CodeIndexPopoverProps> = ({
612661 max = { CODEBASE_INDEX_DEFAULTS . MAX_SEARCH_RESULTS }
613662 step = { CODEBASE_INDEX_DEFAULTS . SEARCH_RESULTS_STEP }
614663 value = { [
615- currentSettings . codebaseIndexSearchMaxResults ||
664+ currentSettings . codebaseIndexSearchMaxResults ??
616665 CODEBASE_INDEX_DEFAULTS . DEFAULT_SEARCH_RESULTS ,
617666 ] }
618667 onValueChange = { ( values ) =>
@@ -622,7 +671,7 @@ export const CodeIndexPopover: React.FC<CodeIndexPopoverProps> = ({
622671 data-testid = "search-max-results-slider"
623672 />
624673 < span className = "w-12 text-center" >
625- { currentSettings . codebaseIndexSearchMaxResults ||
674+ { currentSettings . codebaseIndexSearchMaxResults ??
626675 CODEBASE_INDEX_DEFAULTS . DEFAULT_SEARCH_RESULTS }
627676 </ span >
628677 < VSCodeButton
0 commit comments