diff --git a/src/main/tool-handlers-system.ts b/src/main/tool-handlers-system.ts index c4db2ae..6f4535e 100644 --- a/src/main/tool-handlers-system.ts +++ b/src/main/tool-handlers-system.ts @@ -255,8 +255,10 @@ export async function handleWebSearch(params: { query: string; max_results?: num return { success: false, error: '未找到搜索结果,请尝试其他关键词' }; } - // 构建格式化的搜索结果 - const formatted = results.map((r, i) => + // 构建格式化的搜索结果(附带当前日期) + const now = new Date(); + const dateStr = `${now.getFullYear()}年${now.getMonth() + 1}月${now.getDate()}日`; + const formatted = `[当前日期: ${dateStr}(搜索时的实时日期)]\n\n` + results.map((r, i) => `[${i + 1}] ${r.title}\n URL: ${r.url}\n ${r.snippet}` ).join('\n\n'); diff --git a/src/renderer/services/agent-engine.ts b/src/renderer/services/agent-engine.ts index d7d2f54..655ff08 100644 --- a/src/renderer/services/agent-engine.ts +++ b/src/renderer/services/agent-engine.ts @@ -54,7 +54,7 @@ const AGENT_SYSTEM_PROMPT = `你是一个具备工具调用能力的 AI 助手 1. 直接调用工具,不要写"我来帮你搜索"然后结束。有工具就调用,调用完根据结果继续下一步。 2. 多步任务必须逐步完成:搜到结果 → 给出答案。如果需要详情再抓取,但抓取失败时直接用搜索结果回答,不要卡在抓取上。 -3. 需要最新信息(版本号、新闻、日期等)时,必须先用工具获取,不要凭记忆猜测。 +3. 需要最新信息(版本号、新闻、日期等)时,必须先用工具获取,不要凭记忆猜测。每次联网搜索前必须确认当前日期,搜索结果会附带搜索时的日期,以该日期为准校准你的认知。 4. 工具出错时分析原因并换方法重试,最多重试 2 次。同一 URL 连续失败 2 次后不要再尝试,换其他方式。 5. 不要重复调用相同参数的同一工具。 6. web_search 结果中的标题、URL、snippet 已经包含关键信息,不要忽视它们。 @@ -88,7 +88,8 @@ const TOOL_USAGE_GUIDE = `【工具链规则(强制执行)】 11. 管理记忆:可以用 memory_replace 更新已有记忆(子串匹配 old_text),用 memory_remove 删除不再需要的记忆。 12. 查看技能:可以用 skill_list 列出所有可用技能,用 skill_view 查看特定技能的详细工具链。 13. 【严禁猜 URL】绝对不要猜测或编造 URL 路径(如 https://example.com/docs/install)。所有 URL 必须从搜索结果中获取。如果你猜了一个 URL 并得到 404 错误,不要继续猜其他路径,应该回到搜索结果中找正确的链接。 -14. 搜索结果来源:搜索结果中每条都带有标题、URL 和摘要。摘要已经包含关键信息,优先从摘要中提取答案。不要忽视来自知乎、CSDN、博客园等中文来源的结果,它们通常包含有效的技术信息。`; +14. 搜索结果来源:搜索结果中每条都带有标题、URL 和摘要。摘要已经包含关键信息,优先从摘要中提取答案。不要忽视来自知乎、CSDN、博客园等中文来源的结果,它们通常包含有效的技术信息。 +15. 【联网前确认日期】每次调用 web_search 之前,必须先确认当前日期。搜索结果会自动附带搜索时的日期,看到结果后请核对该日期与你认知是否一致。如果你的认知与搜索结果中的日期不符,以搜索结果中的日期为准。回答涉及时间的信息时,必须引用该日期以确保时效性。`; /** 工具名白名单:用于文本解析兜底时过滤非法工具名 */ const VALID_TOOL_NAMES = new Set([