中文学术论文搜索工具。搜索中英文论文,覆盖知网、万方、维普等中文数据库的论文。Use when: 用户说「搜论文」「查文献」「知网」「CNKI」「搜索中文学术论文」「找中文文献」,或需要搜索、下载、引用中英文论文。支持OpenAlex API(免费,2亿+论文)和Crossref API(DOI覆盖)。Also activate when: 用户需要学术搜索、论文元数据提取、引用格式生成。
基于OpenAlex和Crossref API的学术搜索工具,覆盖中英文论文(包括知网收录的论文)。
| 数据源 | 覆盖范围 | 优势 | 限制 |
|---|---|---|---|
| OpenAlex | 2亿+论文 | 免费、数据全、有被引量 | 部分中文论文元数据不完整 |
| Crossref |
使用OpenAlex API搜索:
bash
curl -s https://api.openalex.org/works?search=YOURQUERY&perpage=10
支持的筛选参数:
每个结果包含:
OpenAlex提供OA(开放获取)链接:
支持格式:
用户:帮我搜一下多智能体编队控制的论文
→ 调用OpenAlex API搜索 multi-agent formation control
→ 返回top 10结果,按被引量排序
→ 展示标题、作者、年份、被引量、期刊
用户:这篇论文能下载吗?DOI: 10.1109/tie.2017.2701778
→ 检查OpenAlex的open_access字段
→ 如果是OA,提供下载链接
→ 如果不是OA,建议其他获取方式
用户:帮我生成这篇论文的APA引用
→ 解析元数据
→ 生成APA 7th格式:
Ge, X., & Han, Q.-L. (2017). Distributed Formation Control...
IEEE Transactions on Industrial Electronics. https://doi.org/...
bash
search_papers() {
local query=$1
local limit=${2:-10}
local year_filter=${3:-}
local url=https://api.openalex.org/works?search=${query}&per_page=${limit}
if [ -n $year_filter ]; then
url=${url}&filter=publicationyear:${yearfilter}
fi
curl -s $url | python3 -c
import json, sys
d = json.load(sys.stdin)
for i, w in enumerate(d.get(results, []), 1):
authors = , .join([a[author].get(display_name,) for a in w.get(authorships,[])[:3]])
if len(w.get(authorships,[])) > 3:
authors += et al.
source =
if w.get(primary_location,{}).get(source):
source = w[primarylocation][source].get(displayname,)
print(f\{i}. {w.get(title,)}\)
print(f\ 作者: {authors}\)
print(f\ 年份: {w.get(publication_year,)}\)
print(f\ 期刊: {source}\)
print(f\ 被引: {w.get(citedbycount,0)}\)
print(f\ DOI: {w.get(doi,)}\)
oa = w.get(open_access,{})
if oa.get(is_oa):
print(f\ PDF: {oa.get(oa_url,)}\)
print()
}
bash
getpaperby_doi() {
local doi=$1
curl -s https://api.openalex.org/works/doi:${doi}
}
bash
generate_apa() {
local doi=$1
curl -s https://api.openalex.org/works/doi:${doi} | python3 -c
import json, sys
w = json.load(sys.stdin)
authors = []
for a in w.get(authorships, []):
name = a[author].get(display_name, )
parts = name.split()
if len(parts) >= 2:
authors.append(f{parts[-1]}, {parts[0][0]}.)
else:
authors.append(name)
author_str = , .join(authors[:7])
if len(w.get(authorships, [])) > 7:
author_str += , ...
year = w.get(publication_year, n.d.)
title = w.get(title, Untitled)
source =
if w.get(primary_location,{}).get(source):
source = w[primarylocation][source].get(displayname,)
doi = w.get(doi, )
print(f{author_str} ({year}). {title}. {source}. {doi})
}
对于知网独有(OpenAlex未收录)的论文,建议:
cnki-scholar/
├── SKILL.md
└── references/
├── openalex-fields.md # OpenAlex字段说明
└── citation-formats.md # 引用格式模板
该技能支持在以下平台通过对话安装:
帮我安装 SkillHub 和 cnki-scholar-1775884100 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 cnki-scholar-1775884100 技能
skillhub install cnki-scholar-1775884100
文件大小: 5.66 KB | 发布时间: 2026-4-12 09:29