mcpField
E
exa-search

exa-search

github.com/kalarislabs生产力7748 次安装4 天前更新
代码仓库

关于 exa-search

exa-search 是一项使用 Exa 进行网页搜索和 URL 内容提取的研究技能。它为 Agent 提供学术来源筛选、API 配置、结果验证和报告流程指导。

主要功能

  1. 01使用 Exa 搜索网页
  2. 02提取 URL 内容
  3. 03学术来源检索指导
  4. 04搜索与提取的命令行脚本
  5. 05结果验证与报告流程

适用场景

  1. 01查找主题的最新信息
  2. 02研究科学或技术问题
  3. 03提取网页或 PDF 内容
  4. 04开展可追溯的文献检索

安装

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

$npx skills add https://github.com/kalarislabs/research-agent-skills --skill exa-search

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

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
web-extract.md
web-search.md
scripts/
exa_extract.py
exa_search.py

详细介绍

Exa 网页工具包

一项由 Exa 提供支持的网页研究技能:网页搜索和 URL 提取。Exa 的索引结合了高质量的关键词检索和语义检索,因此非常适合科学、技术和概念类查询。

路由——选择合适的功能

阅读用户的请求,并将其与以下功能匹配。运行命令前,请先阅读相应的参考文件,了解详细说明。

用户想要……功能位置
查找信息、研究主题、获取最新信息网页搜索references/web-search.md
获取特定 URL 的内容(网页、文章、PDF)网页提取references/web-extract.md
安装或进行身份验证设置下文
决策指南
  • 对于主题查询、研究问题或“X 是什么?”这类查询,默认使用网页搜索。如果主题属于科学或技术领域,请传入 --category "research paper" 以优先检索学术来源,和/或使用学术 --include-domains 允许列表。请参阅 references/web-search.md,了解两轮学术检索策略。
  • 当用户提供 URL 或要求你阅读/获取特定页面时,使用网页提取。对于批量提取(一次调用多个 URL)和学术 PDF,优先使用此功能,而不是内置的 WebFetch。
学术来源优先级

对于技术或科学类查询,优先选择学术和科学来源:

  • 优先选择同行评审期刊文章和会议论文,而非博客文章或新闻
  • 如无同行评审版本,可使用预印本(arXiv、bioRxiv、medRxiv)
  • 优先选择机构和政府来源(NIH、WHO、NASA、NIST),而非商业网站
  • 优先选择原始研究,而非二手摘要

可通过以下两种方式引导 Exa 检索学术内容:

  1. --category "research paper" 可优先检索学术来源。
  2. --include-domains 配合学术来源允许列表(arxiv.org、nature.com、pubmed.ncbi.nlm.nih.gov 等)可限定检索域名。

若要严格检索学术内容,请同时使用这两种方式。完整用法请参阅 references/web-search.md。

引用学术来源时,如有作者姓名和发表年份,请一并注明(例如 Smith 等,2025),并采用标准引用格式。如果有 DOI,优先使用 DOI 链接。


设置

此技能使用 exa-py Python SDK。scripts/ 中的脚本通过 PEP 723 内联元数据声明依赖项,因此可直接使用 uv run 运行,无需单独安装:

uv run --with exa-py python "$SKILL_PATH/scripts/exa_search.py" --help

如果你希望进行持久安装:

uv pip install "exa-py>=1.14.0"
身份验证

所有命令均从 EXA_API_KEY 环境变量读取 API 密钥。请前往 dashboard.exa.ai/api-keys 获取 Exa API 密钥。

首先,检查项目根目录中是否存在 .env 文件,并确认其中包含 EXA_API_KEY。如果存在,请加载该文件:

dotenv -f .env run -- uv run --with exa-py python "$SKILL_PATH/scripts/exa_search.py" "your query"

如果无法使用 dotenv,请安装它:uv pip install python-dotenv[cli]。

如果没有 .env 文件,请为当前会话导出密钥:

export EXA_API_KEY="your-key"

运行任意脚本并传入 --help 进行验证——如果密钥已设置,脚本会正常退出;只有在执行实际查询时才会进行身份验证检查。

跟踪标头

此技能中的每个脚本都会将 x-exa-integration 请求标头设置为 kalarislabs--research-agent-skills,以便 Exa 将 research-agent-skills 项目的使用情况归因于此集成。改编脚本时,请勿移除或重命名此标头。


此技能中的文件

  • SKILL.md — 本文件(路由和设置)
  • references/web-search.md — 网页搜索详细参考,包含学术检索策略
  • references/web-extract.md — URL 内容提取参考
  • scripts/exa_search.py — client.search_and_contents 的命令行包装器
  • scripts/exa_extract.py — client.get_contents 的命令行包装器

Agent 操作流程

  1. 检查环境。 确认研究问题、数据库、日期范围和纳入标准。
  2. 确定输入。 根据数据或用户提供的信息确认格式、标识符和参数。任何会影响结果的值都应询问确认,不要猜测。
  3. 先运行小规模任务。 在一个数据库中使用范围较窄的查询进行搜索,并检查结果是否相关。
  4. 按照上述说明和参考资料执行完整任务。
  5. 验证结果。 每条参考文献都必须来自具有可解析标识符的真实记录;记录数量和搜索字符串。
  6. 报告。 说明运行了什么(版本、命令、参数)、检查了什么,以及还有哪些不确定之处。
如果发生这种情况请这样做
API 限制请求频率或返回错误等待一段时间后重试、减少批次大小或切换数据库,并报告缺失之处。
当前安装的版本中缺少这些说明提到的函数、标志或端点查阅当前安装版本自己的文档(help()、--help、官方文档),调整做法并告知用户。绝不捏造 API。
必需的输入、标识符或参数存在歧义询问用户,或在运行前明确说明所采用的假设。

诚信准则

  • 绝不捏造结果、参数、标识符、引文或统计数据。如果无法运行或验证某项内容,请如实说明。
  • 绝不总结尚未检索到的论文;绝不凭记忆引用。
  • 请将此处与特定版本相关的细节视为可能已过时:根据当前安装版本的官方文档进行确认。
  • 对于需要付费、会占用共享 GPU 或云配额、涉及个人或患者数据,或无法撤销的操作,必须先征求同意。

相关技能

  • parallel-web:运行 parallel-cli 工具,完成网页工作流:网页搜索、URL 和 PDF 提取、深度研究报告、结构化数据补充,等等。
  • research-lookup:为科学论文或研究简报汇编最新的学术证据。
  • open-notebook:Google NotebookLM 的可自托管开源替代方案,用于 AI 驱动的研究和文档分析。

评论

支持 Markdown