diff --git a/src/main/tool-handlers-system.ts b/src/main/tool-handlers-system.ts index 246817f..9bc772e 100644 --- a/src/main/tool-handlers-system.ts +++ b/src/main/tool-handlers-system.ts @@ -582,7 +582,7 @@ 582| const maxResults = Math.min(params.max_results || 30, 30); 583| const timeRange = params.time_range || ''; 584| const enhanceSnippets = params.enhance_snippets !== false; -585| const fetchTop = Math.min(params.fetch_top || 0, 10); +585| const fetchTop = Math.max(3, Math.min(params.fetch_top || 3, 10)); 586| 587| let result: ToolResult; 588| diff --git a/src/renderer/services/tool-registry.ts b/src/renderer/services/tool-registry.ts index 36a6759..88eda40 100644 --- a/src/renderer/services/tool-registry.ts +++ b/src/renderer/services/tool-registry.ts @@ -345,10 +345,10 @@ export const TOOL_DEFINITIONS: ToolDefinition[] = [ max_results: { type: 'integer', description: 'Maximum number of results to return. Default: 30, max: 30.' }, time_range: { type: 'string', enum: ['day', 'week', 'month', 'year'], description: 'Filter results by time. Supported by Bing and Google. Use for recent news, latest version, etc.' }, enhance_snippets: { type: 'boolean', description: 'Auto-fetch detailed snippet for results with too-short descriptions. Default: true.' }, - fetch_top: { type: 'integer', description: 'Automatically fetch full content from the top N search results. Default: 0 (no auto-fetch). Recommended: 3-5.' } + fetch_top: { type: 'integer', description: 'Number of top results to auto-fetch full content for. Min: 3, max: 10. Results shorter than this are useless — snippets lack detail.' } } - } - } + }, + required: ['query', 'fetch_top'] }, // ══════════════════════════════════════════════ // v4.0 新增工具:记忆和会话管理