关于 exa-search
exa-search 是一项使用 Exa 进行网页搜索和 URL 内容提取的研究技能。它为 Agent 提供学术来源筛选、API 配置、结果验证和报告流程指导。
主要功能
- 01使用 Exa 搜索网页
- 02提取 URL 内容
- 03学术来源检索指导
- 04搜索与提取的命令行脚本
- 05结果验证与报告流程
适用场景
- 01查找主题的最新信息
- 02研究科学或技术问题
- 03提取网页或 PDF 内容
- 04开展可追溯的文献检索
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ kalarislabs/ research-agent-skills --skill exa-search安装后在 Claude Code 中输入/exa-search确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/web-extract.mdweb-search.mdscripts/exa_extract.pyexa_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 检索学术内容:
--category "research paper"可优先检索学术来源。--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 操作流程
- 检查环境。 确认研究问题、数据库、日期范围和纳入标准。
- 确定输入。 根据数据或用户提供的信息确认格式、标识符和参数。任何会影响结果的值都应询问确认,不要猜测。
- 先运行小规模任务。 在一个数据库中使用范围较窄的查询进行搜索,并检查结果是否相关。
- 按照上述说明和参考资料执行完整任务。
- 验证结果。 每条参考文献都必须来自具有可解析标识符的真实记录;记录数量和搜索字符串。
- 报告。 说明运行了什么(版本、命令、参数)、检查了什么,以及还有哪些不确定之处。
| 如果发生这种情况 | 请这样做 |
|---|---|
| API 限制请求频率或返回错误 | 等待一段时间后重试、减少批次大小或切换数据库,并报告缺失之处。 |
| 当前安装的版本中缺少这些说明提到的函数、标志或端点 | 查阅当前安装版本自己的文档(help()、--help、官方文档),调整做法并告知用户。绝不捏造 API。 |
| 必需的输入、标识符或参数存在歧义 | 询问用户,或在运行前明确说明所采用的假设。 |
诚信准则
- 绝不捏造结果、参数、标识符、引文或统计数据。如果无法运行或验证某项内容,请如实说明。
- 绝不总结尚未检索到的论文;绝不凭记忆引用。
- 请将此处与特定版本相关的细节视为可能已过时:根据当前安装版本的官方文档进行确认。
- 对于需要付费、会占用共享 GPU 或云配额、涉及个人或患者数据,或无法撤销的操作,必须先征求同意。
相关技能
parallel-web:运行 parallel-cli 工具,完成网页工作流:网页搜索、URL 和 PDF 提取、深度研究报告、结构化数据补充,等等。research-lookup:为科学论文或研究简报汇编最新的学术证据。open-notebook:Google NotebookLM 的可自托管开源替代方案,用于 AI 驱动的研究和文档分析。