关于 arxiv-search
arxiv-search 是面向研究者和 Agent 的技能,可用自然语言检索 arXiv 预印本。它通过 Valyu 语义搜索提供论文全文内容和图片链接。
主要功能
- 01自然语言语义搜索
- 02覆盖 arXiv 多个学科
- 03返回论文全文
- 04提供图表和图片链接
- 05通过命令行输出 JSON
适用场景
- 01查找特定主题论文
- 02追踪新兴 AI 研究
- 03探索跨学科预印本
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ yorkeccak/ scientific-skills --skill arxiv-search安装后在 Claude Code 中输入/arxiv-search确认已加载。
附带文件scripts/searchscripts/search.mjs
详细介绍
arXiv 搜索
使用 Valyu 语义搜索 API,通过自然语言查询搜索 arXiv 中涵盖物理学、数学、计算机科学和定量生物学的完整预印本数据库。
此技能为何强大
- 无需解析 API 参数:直接传入自然语言查询即可,无需构造复杂的搜索参数
- 语义搜索:理解查询的含义,而不仅仅是匹配关键词
- 全文访问:返回完整的文章内容,而不仅仅是摘要
- 图片链接:包含论文中的图表和图片
- 全面覆盖:可访问 arXiv 涵盖多个学科的全部预印本档案
要求
- Node.js 18+(使用内置的 fetch)
- Valyu API 密钥,可从 https://platform.valyu.ai 获取(赠送 $10 免费额度)
关键:脚本路径解析
本文档中的 scripts/search 命令是相对于此技能的安装目录而言的。
运行任何命令之前,请先找到脚本:
ARXIV_SCRIPT=$(find ~/.claude/plugins/cache -name "search" -path "*/arxiv-search/*/scripts/*" -type f 2>/dev/null | head -1)
然后在所有命令中使用完整路径:
$ARXIV_SCRIPT "quantum entanglement" 15
API 密钥设置流程
运行搜索并收到 "setup_required": true 时,请按以下流程操作:
-
向用户索取 API 密钥: “要搜索 arXiv,我需要你的 Valyu API 密钥。前往 https://platform.valyu.ai 免费获取(赠送 $10 额度)。”
-
用户提供密钥后,运行:
scripts/search setup <api-key> -
重试原始搜索。
流程示例:
User: Search arXiv for transformer architecture papers
→ Response: {"success": false, "setup_required": true, ...}
→ Claude asks: "Please provide your Valyu API key from https://platform.valyu.ai"
→ User: "val_abc123..."
→ Claude runs: scripts/search setup val_abc123...
→ Response: {"success": true, "type": "setup", ...}
→ Claude retries: scripts/search "transformer architecture papers" 10
→ Success!
何时使用此技能
- 搜索物理学、数学和计算机科学领域的预印本
- 查找同行评审发表前的研究成果
- 开展跨领域研究
- 跟进 AI 和理论物理领域的快速发展
- 为新想法搜索现有技术
- 追踪新兴研究趋势
输出格式
{
"success": true,
"type": "arxiv_search",
"query": "quantum entanglement",
"result_count": 10,
"results": [
{
"title": "Article Title",
"url": "https://arxiv.org/abs/...",
"content": "Full article text with figures...",
"source": "arxiv",
"relevance_score": 0.95,
"images": ["https://example.com/figure1.jpg"]
}
],
"cost": 0.025
}
处理结果
使用 jq
# Get article titles
scripts/search "query" 10 | jq -r '.results[].title'
# Get URLs
scripts/search "query" 10 | jq -r '.results[].url'
# Extract full content
scripts/search "query" 10 | jq -r '.results[].content'
常见用例
AI/ML 研究
# Find recent machine learning papers
scripts/search "large language model architectures" 50
物理学研究
# Search for quantum physics papers
scripts/search "topological quantum computation" 20
数学
# Find math papers
scripts/search "representation theory and Lie algebras" 15
计算机科学
# Search for CS theory papers
scripts/search "distributed systems consensus algorithms" 25
错误处理
所有命令都会返回包含 success 字段的 JSON:
{
"success": false,
"error": "Error message"
}
退出代码:
0- 成功1- 错误(查看 JSON 了解详情)
API 端点
- 基础 URL:
https://api.valyu.ai/v1 - 端点:
/search - 身份验证:X-API-Key 请求头
架构
scripts/
├── search # Bash wrapper
└── search.mjs # Node.js CLI
直接使用 Node.js 内置的 fetch() 调用 API,无需任何外部依赖。
添加到你的项目
如果你正在构建 AI 项目,并希望将 arXiv 搜索直接集成到应用中,请使用 Valyu SDK:
Python 集成
from valyu import Valyu
client = Valyu(api_key="your-api-key")
response = client.search(
query="your search query here",
included_sources=["valyu/valyu-arxiv"],
max_results=20
)
for result in response["results"]:
print(f"Title: {result['title']}")
print(f"URL: {result['url']}")
print(f"Content: {result['content'][:500]}...")
TypeScript 集成
import { Valyu } from "valyu-js";
const client = new Valyu("your-api-key");
const response = await client.search({
query: "your search query here",
includedSources: ["valyu/valyu-arxiv"],
maxResults: 20
});
response.results.forEach((result) => {
console.log(`Title: ${result.title}`);
console.log(`URL: ${result.url}`);
console.log(`Content: ${result.content.substring(0, 500)}...`);
});
完整集成示例和 SDK 参考,请参阅 Valyu 文档。
评论
支持 Markdown