🧪 Skills

Academic Literature Search

提供多权威数据库的学术文献检索,支持自然语言、多字段搜索、高级过滤、去重排序及多格式结果输出。

v0.1.3
❤️ 1
⬇️ 125
👁 1
Share

Description

学术文献检索技能

概述

这是一个专注于学术文献检索的专业工具,集成了多个权威学术数据库,提供全面、快速、准确的文献检索服务。支持多数据库并发检索、高级过滤、智能排序和多种输出格式。

核心功能

🔍 强大的检索能力

  • 多数据库集成:Semantic Scholar、Crossref、arXiv、PubMed
  • 智能查询解析:自然语言、布尔运算、字段限定、短语搜索
  • 并发检索:同时查询多个数据库,毫秒级响应
  • 高级过滤:年份、引用数、期刊类型、开放获取、语言等

📖 高级检索特性

  • 自然语言查询
  • 布尔运算符 (AND, OR, NOT)
  • 字段限定搜索 (title:, author:, year:)
  • 范围搜索 (year:2020-2024, citations:>100)
  • 通配符搜索

🎯 精准的结果处理

  • 智能去重:基于DOI、标题、作者等多维度去重
  • 多维度排序:引用数、年份、相关性、影响力、趋势
  • 高级过滤:(期刊、开放获取、文献类型)
  • 结果丰富:自动补充元数据、计算影响力指标
  • 质量评分:综合评分系统,提供最佳结果

💬 丰富的输出格式

  • Markdown:适合阅读和笔记
  • JSON:适合程序处理
  • CSV/Excel:适合数据分析和导入
  • BibTeX/RIS:适合参考文献管理
  • HTML/XML:适合网页展示和数据交换

⚡ 性能优化

  • 多级缓存:内存、磁盘、分布式缓存
  • 智能重试:自动处理速率限制和网络错误
  • 渐进式加载:快速返回第一批结果
  • 请求合并:减少API调用次数

支持的数据库

数据库 数据量 优势领域 速率限制
Semantic Scholar 2.33亿+ AI、计算机科学、多学科 100请求/5分钟(无认证)
Crossref 1.4亿+ 期刊文章、官方DOI 无限制(礼貌使用)
arXiv 220万+ 预印本、计算机、物理、数学 无限制
PubMed 3500万+ 生物医学、生命科学 10请求/秒

使用示例

基本检索

from agent import AcademicLiteratureSearchSkill
import asyncio

async 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 LiteratureSearchEngine

async 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.yamlconfig.yaml 并修改配置。

错误处理

  • 网络错误:自动重试,提供降级方案
  • API限制:智能退避,多API密钥轮换
  • 无效查询:提供修正建议
  • 无结果:提供扩展搜索建议

许可证

MIT License

安全与隐私

数据流向

  • 检索查询会发送到第三方API:Semantic Scholar、Crossref、PubMed、arXiv
  • 搜索关键词和论文元数据会被发送到这些服务

建议

  • 使用虚拟环境运行:python -m venv venv && source venv/bin/activate
  • 设置自己的 API 密钥以使用您的凭证
  • 默认使用 openclaw@example.com 作为 Crossref 邮箱
  • 缓存目录:~/.cache/openclaw/literature

隐私

  • 如需高隐私保护,避免使用默认凭证
  • 可在代码中审查网络请求目的地

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs