问题描述
Exa 搜索引擎始终返回 0 结果,无论搜索什么关键词。
根因
src/engines/exa/exa.js 中使用的端点 https://exa.ai/search/api/search-fast 是 Exa 网站的内部前端接口,不是官方公开 API。Exa 近期改版了网站,该端点现在返回 HTML 页面(Next.js 应用)而非 JSON 数据,导致 axios 解析失败,静默返回空数组。
复现步骤
- 使用默认配置(无需 API key)
- 调用 search 工具,engine 设为
exa,query 任意关键词
- 返回
totalResults: 0, results: []
验证
直接 curl 该端点确认返回的是 HTML:
curl -s -X POST "https://exa.ai/search/api/search-fast" \
-H "content-type: text/plain;charset=UTF-8" \
-H "origin: https://exa.ai" \
-d '{"numResults":3,"query":"test","type":"auto","useAutoprompt":true}'
# 返回: <!DOCTYPE html><html ...> (HTML 页面,非 JSON)
建议(供参考)
Exa 的官方 API 端点为 https://api.exa.ai/search,需要 x-api-key 请求头。但该项目定位为 "no API keys required",所以修复方向由维护者决定:
- 方案 A:用 Playwright 模拟浏览器访问 Exa 搜索页面抓取结果(保持无 API key)
- 方案 B:支持可选 API key,有 key 时走官方 API,无 key 时走前端抓取或跳过
- 方案 C:暂时移除 Exa 引擎,避免用户困惑
问题描述
Exa 搜索引擎始终返回 0 结果,无论搜索什么关键词。
根因
src/engines/exa/exa.js中使用的端点https://exa.ai/search/api/search-fast是 Exa 网站的内部前端接口,不是官方公开 API。Exa 近期改版了网站,该端点现在返回 HTML 页面(Next.js 应用)而非 JSON 数据,导致 axios 解析失败,静默返回空数组。复现步骤
exa,query 任意关键词totalResults: 0, results: []验证
直接 curl 该端点确认返回的是 HTML:
建议(供参考)
Exa 的官方 API 端点为
https://api.exa.ai/search,需要x-api-key请求头。但该项目定位为 "no API keys required",所以修复方向由维护者决定: