Exa Web 工具包
一个由 Exa 驱动的基于 Web 的研究任务技能:网络搜索和 URL 提取。Exa 的索引结合了高质量的关键词和语义检索,非常适合科学、技术和概念性查询。
路由 — 选择正确的功能
阅读用户请求,并将其匹配到以下功能之一。在运行命令之前,请阅读相应的参考文件以获取详细说明。
| 用户想要... | 能力 | 位置 |
|---|---|---|
| 查找信息、研究主题、寻找当前信息 | Web 搜索 | references/web-search.md |
| 从特定 URL 获取内容(网页、文章、PDF) | Web 提取 | references/web-extract.md |
| 安装或身份验证 | 设置 | 如下 |
决策指南
- 默认使用 Web 搜索 用于主题查找、研究问题或“什么是 X?”之类的查询。当主题是科学或技术性时,传递
--category "research paper"以偏向学术来源,和/或使用学术性的--include-domains允许列表。请参阅references/web-search.md了解两遍式学术策略。 - 使用 Web 提取 当用户提供 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 请求头为 k-dense-ai--scientific-agent-skills,以便 Exa 可以将来自 K-Dense AI scientific-agent-skills 仓库的使用归因于此集成。在改编脚本时,请勿删除或重命名此头。
此技能中的文件
SKILL.md— 此文件(路由和设置)references/web-search.md— 详细的网络搜索参考,包含学术策略references/web-extract.md— URL 内容提取参考scripts/exa_search.py— 围绕client.search_and_contents的 CLI 包装器scripts/exa_extract.py— 围绕client.get_contents的 CLI 包装器