这是一个专注于学术文献检索的专业工具,集成了多个权威学术数据库,提供全面、快速、准确的文献检索服务。支持多数据库并发检索、高级过滤、智能排序和多种输出格式。
Install via CLI
openskills install InternLM/WildClawBench# 学术文献检索技能
## 概述
这是一个专注于学术文献检索的专业工具,集成了多个权威学术数据库,提供全面、快速、准确的文献检索服务。支持多数据库并发检索、高级过滤、智能排序和多种输出格式。
## 核心功能
### 🔍 强大的检索能力
- **多数据库集成**: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请求/秒 |
## 使用示例
### 基本检索
```python
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())
```
### 高级检索
```python
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"
}
```
### 作为库使用
```python
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 | 保存结果到文件 |
## 配置说明
### 环境变量
```bash
# 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` 并修改配置。
## 错误处理
- **网络错误**:自动重试,提供降级方案
- **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
### 隐私
- 如需高隐私保护,避免使用默认凭证
- 可在代码中审查网络请求目的地
No comments yet. Be the first to comment!