From 00ef0de5ead4875358073c61a83a3b4d082e4cac Mon Sep 17 00:00:00 2001 From: thzxx Date: Fri, 12 Jun 2026 14:00:26 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=90=9C=E7=B4=A2=E7=BB=93=E6=9E=9C?= =?UTF-8?q?=E6=8A=93=E5=8F=96=E6=8F=90=E7=A4=BA=E6=94=B9=E4=B8=BA=E6=98=8E?= =?UTF-8?q?=E6=96=87=E5=89=8D=E7=BD=AE=E8=AD=A6=E5=91=8A=EF=BC=8Ctop5?= =?UTF-8?q?=E2=86=92top10=EF=BC=8C=E8=AE=A9AI=E6=97=A0=E6=B3=95=E5=BF=BD?= =?UTF-8?q?=E7=95=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/services/agent-engine.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/renderer/services/agent-engine.ts b/src/renderer/services/agent-engine.ts index 2f3c4f8..7ef1313 100644 --- a/src/renderer/services/agent-engine.ts +++ b/src/renderer/services/agent-engine.ts @@ -218,16 +218,19 @@ function formatToolResultForModel(toolName: string, result: ToolResult): string case 'web_search': { const raw = result.results as Array<{ title: string; url: string; snippet: string }> | undefined; if (!raw?.length) return JSON.stringify({ success: true, message: '未找到结果' }); - // 只保留 top 5,简洁格式 - const top = raw.slice(0, 5).map((r, i) => + // 只保留 top 10,让模型有更多 URL 可选 + const visible = Math.min(10, raw.length); + const top = raw.slice(0, visible).map((r, i) => `[${i + 1}] ${r.title}\n URL: ${r.url}\n ${r.snippet}` ).join('\n\n'); - return JSON.stringify({ + return `⚠️ 以下仅搜索摘要,缺乏完整内容无法准确回答。你必须从以上结果中选取最相关的 3-5 个 URL,逐一调用 web_fetch 获取完整详情后再综合回答。不要跳过抓取步骤! + +` + JSON.stringify({ success: true, query: result.query, total: result.total, + shown: visible, results: top, - _next: `以上是搜索结果摘要。请对前 ${Math.min(5, raw.length)} 条中与用户问题相关的条目,逐一调用 web_fetch 获取详细内容后再综合回答。不要只抓取一条!每条抓取都是独立的 web_fetch 调用。` }); }