名称: medrxiv-search 描述: 使用自然语言查询搜索medRxiv医学预印本。由Valyu语义搜索提供支持。 关键词:
- medrxiv
- 医学预印本
- 临床研究
- 流行病学
- 公共卫生
- 语义搜索 许可证: MIT
medRxiv 搜索
使用自然语言查询搜索完整的medRxiv医学与健康科学预印本数据库,由Valyu语义搜索API提供支持。
为什么这个技能强大
- 无需API参数解析:直接传递自然语言查询,无需构建复杂搜索参数
- 语义搜索:理解查询含义,而非仅关键词匹配
- 全文访问:返回完整文章内容,不仅是摘要
- 图像链接:包括论文中的图表和图像
- 全面覆盖:访问medRxiv所有医学与健康科学预印本
要求
- Node.js 18+(使用内置fetch)
- Valyu API密钥,来自 https://platform.valyu.ai(提供10美元免费额度)
关键:脚本路径解析
本文档中的scripts/search命令相对于此技能的安装目录。
运行任何命令前,使用以下命令定位脚本:
MEDRXIV_SCRIPT=$(find ~/.claude/plugins/cache -name "search" -path "*/medrxiv-search/*/scripts/*" -type f 2>/dev/null | head -1)
然后对所有命令使用完整路径:
$MEDRXIV_SCRIPT "COVID-19疫苗效力" 15
API密钥设置流程
当运行搜索并收到"setup_required": true时,遵循此流程:
-
向用户请求API密钥: “要搜索medRxiv,我需要您的Valyu API密钥。在 https://platform.valyu.ai 免费获取(10美元额度)”
-
用户提供密钥后,运行:
scripts/search setup <api-key> -
重试原始搜索。
何时使用此技能
- 在期刊发表前获取最新医学研究
- 临床试验结果和结局
- 流行病学研究和公共卫生数据
- 医疗设备和疗法研究
- 健康政策和医疗系统研究
- 新兴健康主题的快速响应研究
输出格式
{
"success": true,
"type": "medrxiv_search",
"query": "COVID-19疫苗效力",
"result_count": 10,
"results": [
{
"title": "文章标题",
"url": "https://medrxiv.org/content/...",
"content": "完整文章文本,包含图表...",
"source": "medrxiv",
"relevance_score": 0.95,
"images": ["https://example.com/figure1.jpg"]
}
],
"cost": 0.025
}
处理结果
使用jq
# 获取文章标题
scripts/search "查询" 10 | jq -r '.results[].title'
# 获取URL
scripts/search "查询" 10 | jq -r '.results[].url'
# 提取完整内容
scripts/search "查询" 10 | jq -r '.results[].content'
常见用例
临床医学
# 查找临床研究
scripts/search "心力衰竭治疗结局" 50
公共卫生
# 搜索流行病学研究
scripts/search "疫苗犹豫决定因素" 20
医学影像
# 查找影像学研究
scripts/search "AI在放射学诊断中的应用" 15
传染病
# 搜索传染病论文
scripts/search "抗生素耐药机制" 25
错误处理
所有命令返回JSON,包含success字段:
{
"success": false,
"error": "错误消息"
}
退出代码:
0- 成功1- 错误(检查JSON获取详情)
API端点
- 基础URL:
https://api.valyu.ai/v1 - 端点:
/search - 认证:X-API-Key头
架构
scripts/
├── search # Bash包装器
└── search.mjs # Node.js CLI
直接使用Node.js内置fetch()进行API调用,零外部依赖。
添加到您的项目
如果您正在构建AI项目并希望将medRxiv搜索直接集成到应用中,使用Valyu SDK:
Python集成
from valyu import Valyu
client = Valyu(api_key="您的-api-key")
response = client.search(
query="您的搜索查询",
included_sources=["valyu/valyu-medrxiv"],
max_results=20
)
for result in response["results"]:
print(f"标题: {result['title']}")
print(f"URL: {result['url']}")
print(f"内容: {result['content'][:500]}...")
TypeScript集成
import { Valyu } from "valyu-js";
const client = new Valyu("您的-api-key");
const response = await client.search({
query: "您的搜索查询",
includedSources: ["valyu/valyu-medrxiv"],
maxResults: 20
});
response.results.forEach((result) => {
console.log(`标题: ${result.title}`);
console.log(`URL: ${result.url}`);
console.log(`内容: ${result.content.substring(0, 500)}...`);
});
查看Valyu文档获取完整集成示例和SDK参考。