mcpField
E
exa-web-search

exa-web-search

github.com/alphaonedev生产力46 次安装
代码仓库

关于 exa-web-search

exa-web-search 是供 AI Agent 使用的 Exa.ai 语义网页搜索技能,可用于研究、内容聚合和网页数据检索。它结合网页抓取、内容提取、重点高亮与日期筛选。

主要功能

  1. 01按查询意图进行语义搜索
  2. 02抓取搜索结果中的网页
  3. 03提取文本、图像或元数据
  4. 04高亮相关短语或段落
  5. 05按日期筛选并分页

适用场景

  1. 01研究近期文章中的趋势
  2. 02从网页提取内容用于分析
  3. 03汇总搜索结果并交给其他工具处理

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill exa-web-search

安装后在 Claude Code 中输入/exa-web-search确认已加载。

详细介绍

exa-web-search

用途

此技能通过 Exa.ai 的神经引擎实现语义网页搜索,支持高级查询、网页爬取、内容提取、重点内容高亮以及按日期筛选。它专为 AI Agent 设计,可在需要检索实时或历史信息的任务中高效获取和处理网页数据。

适用场景

当你需要超越关键词匹配的语义搜索时,可使用此技能,例如分析近期文章中的趋势、从爬取的网页中提取数据,或高亮相关内容。可将其用于研究任务、内容聚合,或将网页数据整合到 AI 工作流中;尤其适用于其他搜索工具无法捕捉上下文细微差别的情况。

主要功能

  • 使用神经网络理解查询意图,实现语义搜索。
  • 根据查询动态爬取网页。
  • 从网页中提取文本、图像或元数据。
  • 在搜索结果中高亮关键词或重点内容。
  • 按日期筛选,将结果限制在特定时间范围内,例如最近 7 天。
  • 支持分页和结果数量限制,满足可扩展查询的需求。

使用模式

始终通过环境变量进行身份验证后再初始化。使用 CLI 时,可循环运行搜索以进行批量处理。在代码中,使用异步 API 调用以避免阻塞。使用具体的标志构建查询,以提高准确性,并解析响应以提取高亮内容或元数据。先使用较小的结果数量进行测试,确认结果符合预期。

常用命令/API

Exa.ai 提供 CLI 工具和 REST API。使用前,请将 API 密钥设置到 $EXA_API_KEY 中。

CLI 命令:

  • 基本搜索:exa search --query "AI advancements" --limit 5 --date-after "2023-01-01" 示例片段:
    result = subprocess.run(['exa', 'search', '--query', 'climate change'], capture_output=True)
    print(result.stdout)
    
  • 使用爬取和内容提取:exa search --query "open source tools" --crawl-depth 2 --extract-content 代码片段:
    import subprocess
    output = subprocess.check_output(['exa', 'search', '--query', 'web frameworks', '--highlight'])
    

API 端点:

  • 主端点:POST https://api.exa.ai/v1/search 请求正文格式(JSON):
    {
      "query": "machine learning",
      "limit": 10,
      "date_after": "2022-01-01",
      "crawl_depth": 1
    }
    
    代码片段:
    import requests
    headers = {'Authorization': f'Bearer {os.environ.get("EXA_API_KEY")}'}
    response = requests.post('https://api.exa.ai/v1/search', headers=headers, json={"query": "neural networks"})
    data = response.json()
    
  • 错误检查端点:GET https://api.exa.ai/v1/status,用于验证服务是否可用。

配置格式:

  • 使用 .exa-config.json 文件保存持久化设置:
    {
      "default_limit": 20,
      "api_endpoint": "https://api.exa.ai/v1/search"
    }
    
    在代码中加载:with open('.exa-config.json') as f: config = json.load(f)

集成说明

可通过在环境中设置 $EXA_API_KEY 或通过标头传递密钥来进行集成。对于 AI Agent,请将 API 调用封装在 try-except 块中,并使用 aiohttp 等异步库执行非阻塞操作。可通过管道传递结果来组合其他技能,例如将搜索结果馈送给摘要工具。请通过添加延迟来遵守速率限制(例如,每分钟 100 个请求)。进行聚类时,请参考“community”标签,以关联相关技能。

错误处理

检查 API 响应中的 HTTP 状态码(例如,401 表示未授权,可通过 response.status_code 访问)。对于 CLI,请解析 stderr,查找类似 "Query exceeded limits" 的消息。常见错误包括无效查询(通过验证输入字符串来修复)或网络问题(使用指数退避重试)。在代码中使用:

if response.status_code != 200:
    raise Exception(f"API error: {response.json().get('error')}")

记录错误详情,例如错误代码;对于暂时性故障,最多重试 3 次。

图关系

  • 相关:搜索技能(例如,通用网页搜索工具)
  • 依赖:用于 API 访问的身份验证服务
  • 互补:用于结果后处理的数据提取技能
  • 同类聚集:用于语义分析的社区工具

评论

支持 Markdown