diff --git a/web/src/app/settings/tabs/general-tab.tsx b/web/src/app/settings/tabs/general-tab.tsx index ece0191..8a4fad5 100644 --- a/web/src/app/settings/tabs/general-tab.tsx +++ b/web/src/app/settings/tabs/general-tab.tsx @@ -32,6 +32,9 @@ const generalFormSchema = z.object({ maxStepNum: z.number().min(1, { message: "Max step number must be at least 1.", }), + maxSearchResults: z.number().min(1, { + message: "Max search results must be at least 1.", + }), }); export const GeneralTab: Tab = ({ @@ -143,6 +146,30 @@ export const GeneralTab: Tab = ({ )} /> + ( + + Max search results + + + field.onChange(parseInt(event.target.value || "0")) + } + /> + + + By default, each search step has 3 results. + + + + )} + /> diff --git a/web/src/core/api/chat.ts b/web/src/core/api/chat.ts index d8dca10..422f964 100644 --- a/web/src/core/api/chat.ts +++ b/web/src/core/api/chat.ts @@ -18,6 +18,7 @@ export async function* chatStream( auto_accepted_plan: boolean; max_plan_iterations: number; max_step_num: number; + max_search_results?: number; interrupt_feedback?: string; enable_background_investigation: boolean; mcp_settings?: { @@ -61,12 +62,14 @@ async function* chatReplayStream( auto_accepted_plan: boolean; max_plan_iterations: number; max_step_num: number; + max_search_results?: number; interrupt_feedback?: string; } = { thread_id: "__mock__", auto_accepted_plan: false, max_plan_iterations: 3, max_step_num: 1, + max_search_results: 3, interrupt_feedback: undefined, }, options: { abortSignal?: AbortSignal } = {}, @@ -157,6 +160,7 @@ export async function fetchReplayTitle() { auto_accepted_plan: false, max_plan_iterations: 3, max_step_num: 1, + max_search_results: 3, }, {}, ); diff --git a/web/src/core/store/settings-store.ts b/web/src/core/store/settings-store.ts index d568f9c..66c76e9 100644 --- a/web/src/core/store/settings-store.ts +++ b/web/src/core/store/settings-store.ts @@ -13,6 +13,7 @@ const DEFAULT_SETTINGS: SettingsState = { enableBackgroundInvestigation: false, maxPlanIterations: 1, maxStepNum: 3, + maxSearchResults: 3, }, mcp: { servers: [], @@ -25,6 +26,7 @@ export type SettingsState = { enableBackgroundInvestigation: boolean; maxPlanIterations: number; maxStepNum: number; + maxSearchResults: number; }; mcp: { servers: MCPServerMetadata[]; diff --git a/web/src/core/store/store.ts b/web/src/core/store/store.ts index ff4e7b1..21a97cc 100644 --- a/web/src/core/store/store.ts +++ b/web/src/core/store/store.ts @@ -104,6 +104,7 @@ export async function sendMessage( settings.enableBackgroundInvestigation ?? true, max_plan_iterations: settings.maxPlanIterations, max_step_num: settings.maxStepNum, + max_search_results: settings.maxSearchResults, mcp_settings: settings.mcpSettings, }, options,