研
研究文献检索
作者:技能派学术研究v1
检索与分析学术论文,查找相关工作,提炼核心观点。当用户说「找论文」「相关工作」「文献综述」「这篇论文讲了什么」或需要理解学术论文时触发。触发词:文献检索、论文搜索、文献综述、学术论文
下载量
273
点赞
68
价格
免费
技能文档
---
name: research-lit
title: 研究文献检索
category: 学术研究
description: 检索与分析学术论文,查找相关工作,提炼核心观点。当用户说「找论文」「相关工作」「文献综述」「这篇论文讲了什么」或需要理解学术论文时触发。触发词:文献检索、论文搜索、文献综述、学术论文
---
# 研究文献检索
研究主题:$ARGUMENTS
## 常量配置
- **PAPER_LIBRARY** — 用户本地论文库目录(PDF 文件)。按以下顺序检查:
1. 当前项目目录下的 `papers/`
2. 当前项目目录下的 `literature/`
3. 用户在项目配置文件中 `## Paper Library` 下指定的自定义路径
- **MAX_LOCAL_PAPERS = 20** — 本地 PDF 最大扫描数量(每篇读取前 3 页)。超出时按文件名与主题的相关度优先排序。
- **ARXIV_DOWNLOAD = false** — 为 `true` 时,下载最相关的 3-5 篇 arXiv PDF 到 PAPER_LIBRARY;为 `false`(默认)时仅通过 arXiv API 获取元数据(标题、摘要、作者),不下载文件。
- **ARXIV_MAX_DOWNLOAD = 5** — 启用下载时最多下载的 PDF 数量。
> 覆盖参数:
> - `/research-lit "主题" — paper library: ~/my_papers/` — 自定义本地 PDF 路径
> - `/research-lit "主题" — sources: zotero, local` — 仅搜索 Zotero + 本地 PDF
> - `/research-lit "主题" — sources: web` — 仅搜索网络(跳过本地)
> - `/research-lit "主题" — sources: web, semantic-scholar` — 搜索网络 + Semantic Scholar
> - `/research-lit "主题" — sources: deepxiv` — 仅通过 DeepXiv 检索
> - `/research-lit "主题" — arxiv download: true` — 下载相关 arXiv PDF
> - `/research-lit "主题" — arxiv download: true, max download: 10` — 最多下载 10 篇
## 数据源
技能按优先级检查多个数据源。
### 数据源选择
解析 `$ARGUMENTS` 中的 `— sources:` 指令:
- **指定 `— sources:`**:仅搜索列出的数据源(逗号分隔)。可选值:`zotero`、`obsidian`、`local`、`web`、`semantic-scholar`、`deepxiv`、`exa`、`all`。
- **未指定**:默认 `all` — 按优先级搜索所有可用源(`semantic-scholar`、`deepxiv`、`exa` 不在默认范围内,需显式指定)。
示例:
```
/research-lit "diffusion models" → all(默认)
/research-lit "diffusion models" — sources: zotero → 仅 Zotero
/research-lit "diffusion models" — sources: zotero, web → Zotero + 网络
/research-lit "diffusion models" — sources: local → 仅本地 PDF
/research-lit "topic" — sources: web, semantic-scholar → 网络 + Semantic Scholar API
/research-lit "topic" — sources: deepxiv → 仅 DeepXiv
/research-lit "topic" — sources: exa → 仅 Exa(广泛网络搜索 + 内容提取)
```
### 数据源列表
| 优先级 | 数据源 | 标识 | 检测方式 | 提供内容 |
|--------|--------|------|----------|----------|
| 1 | **Zotero**(通过 MCP) | `zotero` | 尝试调用 Zotero MCP 工具,不可用则跳过 | 文集、标签、注释、PDF 高亮、BibTeX、语义搜索 |
| 2 | **Obsidian**(通过 MCP) | `obsidian` | 尝试调用 Obsidian MCP 工具,不可用则跳过 | 研究笔记、论文摘要、标签引用、双向链接 |
| 3 | **本地 PDF** | `local` | 文件匹配 `papers/**/*.pdf`, `literature/**/*.pdf` | PDF 原文内容(前 3 页) |
| 4 | **网络搜索** | `web` | 始终可用 | arXiv、Semantic Scholar、Google Scholar |
| 5 | **Semantic Scholar API** | `semantic-scholar` | 辅助脚本或已安装 SDK | 已发表期刊论文(IEEE、ACM、Springer),含引用数、期刊信息、TLDR。**仅显式请求时运行** |
| 6 | **DeepXiv CLI** | `deepxiv` | 辅助脚本或已安装 CLI | 渐进式论文检索:搜索、摘要、章节、趋势。**仅显式请求时运行** |
| 7 | **Exa 搜索** | `exa` | 辅助脚本或已安装 SDK | AI 驱动的广泛网络搜索,含内容提取(高亮、文本、摘要)。**仅显式请求时运行** |
> 用户显式请求 Zotero 或 Obsidian 但未配置时,停止并告知用户如何启用。未被请求的可选源可静默跳过。
## 技能工作流
### 步骤1:搜索 Zotero 文献库(如可用)
**用户显式请求 Zotero 但未配置 MCP 时,停止并提示用户配置。否则跳过本步骤。**
尝试调用 Zotero MCP 工具,成功后:
1. **按主题搜索**:使用 Zotero 搜索工具查找相关论文
2. **查看文集**:检查用户是否有该文主题相关的文集/文件夹
3. **提取注释**:对高相关度论文提取 PDF 高亮和笔记
4. **导出 BibTeX**:获取相关论文的引用数据
5. **汇总结果**:提取每条目的标题、作者、年份、期刊、注释、标签、所属文集
> Zotero 注释最有价值 — 它们展示了用户个人认为重要的内容。
### 步骤2:搜索 Obsidian 知识库(如可用)
**用户显式请求 Obsidian 但未配置 MCP 时,停止并提示用户配置。否则跳过本步骤。**
尝试调用 Obsidian MCP 工具,成功后:
1. **搜索知识库**:查找与研究主题相关的笔记
2. **检查标签**:查找相关主题标签(如 `#diffusion-models`、`#paper-review`)
3. **阅读研究笔记**:提取用户自己的总结和见解
4. **跟踪链接**:沿双向链接发现更多相关笔记
5. **汇总结果**:提取笔记标题、路径、用户摘要、链接关系、元数据
> Obsidian 笔记代表用户**加工后的理解**,对理解用户视角很有价值。
### 步骤3:扫描本地论文库
在线搜索前,先检查用户本地是否已有相关论文:
1. **定位文献库**:检查 PAPER_LIBRARY 路径中的 PDF 文件
2. **去重**:跳过 Zotero 结果已覆盖的论文(按文件名或标题匹配)
3. **相关性过滤**:按文件名和首页内容匹配主题,跳过明显无关的论文
4. **摘要提取**:对每篇相关本地 PDF(最多 MAX_LOCAL_PAPERS 篇)读取前 3 页,提取标题、作者、年份、核心贡献、与主题的相关度
5. **构建本地知识库**:汇总为「已有论文」摘要,作为后续外部搜索的起点
> 未找到本地论文时跳到步骤4。本地收藏全面时,外部搜索可更有针对性(聚焦缺失部分)。
### 步骤4:外部搜索
通过网络搜索查找主题相关的最新论文,优先关注近 2 年的成果(除非研究经典工作)。跳过 Zotero、Obsidian 或本地库已找到的论文。
**arXiv API 搜索**(始终运行,默认不下载):
定位辅助脚本并直接搜索 arXiv:
```bash
# 定位 arxiv_fetch.py 辅助脚本
SCRIPT=$(find tools/ -name "arxiv_fetch.py" 2>/dev/null | head -1)
# 搜索 arXiv API 获取结构化结果(标题、摘要、作者、分类)
[ -n "$SCRIPT" ] && python3 "$SCRIPT" search "QUERY" --max 10
```
辅助脚本不可用时,回退到网络搜索获取 arXiv 结果。arXiv API 返回结构化元数据(标题、摘要、完整作者列表、分类、日期),比网络搜索片段更丰富。合并结果并去重。
**Semantic Scholar 搜索**(仅在 sources 包含 `semantic-scholar` 时):
```bash
S2_SCRIPT=$(find tools/ -name "semantic_scholar_fetch.py" 2>/dev/null | head -1)
if [ -n "$S2_SCRIPT" ]; then
python3 "$S2_SCRIPT" search "QUERY" --max 10 --fields title,authors,year,venue,citationCount,externalIds,tldr,url
else
echo "Semantic Scholar 不可用,跳过此可选源。" >&2
fi
```
Semantic Scholar 覆盖许多不在 arXiv 上的 IEEE/ACM 期刊论文,提供引用数和期刊元数据。
arXiv 与 S2 去重:优先按 arXiv ID(`externalIds.ArXiv`)匹配,其次按标题匹配。S2 有期刊/DOI/引用元数据时以 S2 为权威来源,保留 arXiv PDF 链接。
**DeepXiv 搜索**(仅在 sources 包含 `deepxiv` 时):
```bash
DEEPXIV_SCRIPT=$(find tools/ -name "deepxiv_fetch.py" 2>/dev/null | head -1)
if [ -n "$DEEPXIV_SCRIPT" ]; then
python3 "$DEEPXIV_SCRIPT" search "QUERY" --max 10
python3 "$DEEPXIV_SCRIPT" paper-brief ARXIV_ID
elif command -v deepxiv >/dev/null 2>&1; then
deepxiv search "QUERY" --limit 10 --format json
else
echo "DeepXiv 不可用,跳过此可选源。" >&2
fi
```
**Exa 搜索**(仅在 sources 包含 `exa` 时):
```bash
EXA_SCRIPT=$(find tools/ -name "exa_search.py" 2>/dev/null | head -1)
[ -n "$EXA_SCRIPT" ] && python3 "$EXA_SCRIPT" search "QUERY" --max 10 --category "research paper" --content highlights
[ -n "$EXA_SCRIPT" ] || echo "Exa 不可用,跳过此可选源。" >&2
```
**可选 PDF 下载**(仅在 `ARXIV_DOWNLOAD = true` 时):
所有源搜索完毕、按相关度排序后:
```bash
# 下载最相关的 arXiv 论文
python3 arxiv_fetch.py download ARXIV_ID --dir papers/
```
- 仅下载相关度排名前 ARXIV_MAX_DOWNLOAD 的论文
- 跳过本地库已有的论文
- 下载间隔 1 秒(速率限制)
- 验证每个 PDF > 10 KB
### 步骤5:分析每篇论文
对每篇相关论文提取:
- **问题**:解决了什么空白?
- **方法**:核心技术贡献(1-2 句话)
- **结果**:关键数据/结论
- **相关度**:与我们工作的关系
- **来源**:从哪里找到的(Zotero/Obsidian/本地/网络)
### 步骤6:综合分析
- 按方法/主题分组
- 识别领域内的共识与分歧
- 发现我们工作可以填补的空白
- 如有 Obsidian 笔记,将用户自己的见解纳入综合分析
### 步骤7:输出
以结构化文献表呈现:
```
| 论文 | 期刊/会议 | 方法 | 关键结果 | 与我们工作的关系 | 来源 |
|------|-----------|------|----------|-----------------|------|
```
附 3-5 段领域综述。
如导出了 Zotero BibTeX,附上 `references.bib` 片段供论文写作直接使用。
### 步骤8:保存(按需)
- 将论文 PDF 保存到 `literature/` 或 `papers/`
- 在项目记忆中更新相关工作笔记
## 关键规则
- 始终包含论文引用(作者、年份、期刊)
- 区分同行评审论文与预印本
- 如实说明每篇论文的局限性
- 标注论文与用户方法是竞争还是支持关系
- 用户请求的 Zotero/Obsidian 不可用时,停止并报告,不要静默降级
- 仅未请求的可选源可自动跳过
- Zotero/Obsidian 的 MCP 工具名称因用户配置而异,尝试最常见的模式并适配使用说明
# 研究文献检索 从 arXiv、Semantic Scholar、Zotero、本地论文库等多个来源检索学术论文,自动生成结构化文献综述。 ## 使用 在对话中输入: ``` /research-lit "扩散模型在医学影像中的应用" ``` 指定数据源: ``` /research-lit "大语言模型安全" — sources: web, semantic-scholar ``` 启用 arXiv PDF 下载: ``` /research-lit "强化学习" — arxiv download: true ``` ## 工作原理 1. 按优先级检查 Zotero、Obsidian、本地 PDF 库等已有资源 2. 通过 arXiv API 和网络搜索获取最新论文 3. 可选接入 Semantic Scholar、DeepXiv、Exa 等扩展源 4. 逐篇提取问题、方法、结果和相关度 5. 按主题分组综合分析,输出文献表与领域综述 ## 支持的数据源 | 数据源 | 说明 | |--------|------| | Zotero | 通过 MCP 接入,提取注释和高亮 | | Obsidian | 通过 MCP 接入,读取研究笔记 | | 本地 PDF | 扫描 papers/ 和 literature/ 目录 | | arXiv | API 搜索结构化元数据,可选下载 PDF | | Semantic Scholar | 已发表期刊论文,含引用数据 | | DeepXiv | 渐进式论文检索 | | Exa | AI 驱动的广泛网络搜索 |
支持平台:Qoder · QoderWork · Claude · Codex 等 AI 编程助手