Academic Literature Search
by @jibeilindong
提供多权威数据库的学术文献检索,支持自然语言、多字段搜索、高级过滤、去重排序及多格式结果输出。
clawhub install academic-literature-search📖 About This Skill
学术文献检索技能
概述
这是一个专注于学术文献检索的专业工具,集成了多个权威学术数据库,提供全面、快速、准确的文献检索服务。支持多数据库并发检索、高级过滤、智能排序和多种输出格式。
核心功能
🔍 强大的检索能力
📖 高级检索特性
🎯 精准的结果处理
💬 丰富的输出格式
⚡ 性能优化
支持的数据库
| 数据库 | 数据量 | 优势领域 | 速率限制 | |--------|--------|----------|----------| | Semantic Scholar | 2.33亿+ | AI、计算机科学、多学科 | 100请求/5分钟(无认证) | | Crossref | 1.4亿+ | 期刊文章、官方DOI | 无限制(礼貌使用) | | arXiv | 220万+ | 预印本、计算机、物理、数学 | 无限制 | | PubMed | 3500万+ | 生物医学、生命科学 | 10请求/秒 |
使用示例
基本检索
from agent import AcademicLiteratureSearchSkill
import asyncioasync def main():
skill = AcademicLiteratureSearchSkill()
params = {
"query": "deep learning in medical imaging",
"databases": ["semantic_scholar"],
"max_results": 10
}
result = await skill.execute(params)
print(result["results"])
asyncio.run(main())
高级检索
params = {
"query": "attention mechanism AND transformer",
"databases": ["semantic_scholar", "crossref"],
"year_range": "2020-2024",
"max_results": 100,
"sort_by": "citations",
"min_citations": 50,
"open_access_only": True,
"output_format": "markdown"
}
作为库使用
from agent import LiteratureSearchEngineasync def search():
async with LiteratureSearchEngine() as engine:
papers = await engine.search(
query="reinforcement learning",
databases=["semantic_scholar", "arxiv"],
max_results=20
)
for paper in papers:
print(f"{paper.title} - {paper.citation_count} citations")
参数说明
查询参数
| 参数 | 类型 | 默认值 | 说明 | |------|------|--------|------| | query | string | 必需 | 检索查询字符串 | | databases | array | ["semantic_scholar", "crossref"] | 使用的数据库列表 | | max_results | integer | 50 | 最大返回数量 (1-1000) | | year_range | string | - | 年份范围,如 "2020-2024" | | sort_by | string | "relevance" | 排序方式 | | sort_order | string | "desc" | 排序顺序 (asc/desc) | | open_access_only | boolean | false | 仅开放获取文献 | | min_citations | integer | - | 最小引用数 | | venue_filter | array | - | 期刊/会议过滤 |
输出参数
| 参数 | 类型 | 默认值 | 说明 | |------|------|--------|------| | output_format | string | "markdown" | 输出格式 | | output_file | string | - | 输出文件路径 | | interactive | boolean | false | 交互式模式 | | verbose | boolean | false | 详细输出 | | cache | boolean | true | 启用缓存 | | save_results | boolean | false | 保存结果到文件 |
配置说明
环境变量
# API 密钥(可选,不设置也可运行,但建议设置自己的密钥)
获取方式:
- Semantic Scholar: https://www.semanticscholar.org/product/api
- PubMed: https://www.ncbi.nlm.nih.gov/account/
SEMANTIC_SCHOLAR_API_KEY="your_key_here"
CROSSREF_API_EMAIL="your_email@example.com"
PUBMED_API_KEY="your_key_here"
配置文件
复制 config.example.yaml 为 config.yaml 并修改配置。
错误处理
许可证
MIT License
安全与隐私
数据流向
建议
python -m venv venv && source venv/bin/activate