关于 pubmed-search
pubmed-search 是面向研究者和临床人员的技能,可用自然语言检索 PubMed 生物医学文献。它通过 Valyu 语义搜索和命令行返回论文全文及图片链接。
主要功能
- 01自然语言语义搜索
- 02检索 PubMed 数据库
- 03返回论文全文
- 04提供图表和图片链接
- 05通过命令行输出 JSON
适用场景
- 01为文献综述查找论文
- 02研究药物靶点
- 03查找临床试验结果
- 04研究基因功能
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ yorkeccak/ scientific-skills --skill pubmed-search安装后在 Claude Code 中输入/pubmed-search确认已加载。
附带文件scripts/searchscripts/search.mjs
详细介绍
PubMed 搜索
使用 Valyu 的语义搜索 API,通过自然语言查询搜索 PubMed 的完整生物医学文献数据库。
此技能的优势
- 无需解析 API 参数:直接传入自然语言查询即可,无需构造复杂的搜索参数
- 语义搜索:理解查询的含义,而不只是匹配关键词
- 全文访问:返回完整的文章内容,而不只是摘要
- 图片链接:包含论文中的图表和图片
- 全面覆盖:可访问 PubMed 中所有生物医学文献
要求
- Node.js 18+(使用内置的 fetch)
- Valyu API 密钥,获取地址:https://platform.valyu.ai(含 $10 免费额度)
重要:脚本路径解析
本文档中的 scripts/search 命令相对于此技能的安装目录。
运行任何命令之前,请先定位脚本:
PUBMED_SCRIPT=$(find ~/.claude/plugins/cache -name "search" -path "*/pubmed-search/*/scripts/*" -type f 2>/dev/null | head -1)
然后在所有命令中使用完整路径:
$PUBMED_SCRIPT "CRISPR gene editing" 15
API 密钥设置流程
运行搜索并收到 "setup_required": true 时,请按以下流程操作:
-
向用户索取 API 密钥: “要搜索 PubMed,我需要你的 Valyu API 密钥。你可以在 https://platform.valyu.ai 免费获取一个(含 $10 额度)。”
-
用户提供密钥后,运行:
scripts/search setup <api-key> -
重试原始搜索。
流程示例:
User: Search PubMed for CAR-T cell therapy advances
→ 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 "CAR-T cell therapy advances" 10
→ Success!
用法
基本搜索
scripts/search "your natural language query" [maxResults]
示例
# Search for recent COVID-19 research
scripts/search "COVID-19 vaccine efficacy studies" 15
# Find papers on a specific gene
scripts/search "BRCA1 mutations and breast cancer risk" 20
# Search for treatment approaches
scripts/search "immunotherapy for melanoma clinical trials" 10
# Drug mechanism research
scripts/search "mechanism of action of metformin in type 2 diabetes" 12
设置命令
scripts/search setup <api-key>
输出格式
{
"success": true,
"type": "pubmed_search",
"query": "CRISPR gene editing",
"result_count": 10,
"results": [
{
"title": "Article Title",
"url": "https://pubmed.ncbi.nlm.nih.gov/...",
"content": "Full article text with figures...",
"source": "pubmed",
"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'
常见用例
文献综述
# Find all papers on a topic
scripts/search "mechanisms of aging in humans" 50
药物发现
# Search for drug targets
scripts/search "novel targets for Alzheimer's disease treatment" 20
临床研究
# Find clinical trial results
scripts/search "phase 3 trials for rheumatoid arthritis biologics" 15
基因功能
# Research gene function
scripts/search "role of TP53 in cancer development" 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 项目,并希望将 PubMed 搜索直接集成到应用程序中,请使用 Valyu SDK:
Python 集成
from valyu import Valyu
client = Valyu(api_key="your-api-key")
response = client.search(
query="immunotherapy for melanoma",
included_sources=["valyu/valyu-pubmed"],
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: "immunotherapy for melanoma",
includedSources: ["valyu/valyu-pubmed"],
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