paper-navigator
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChinesePaper Navigator
论文导航工具
Find and read academic papers in four stages:
┌──────────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ Disambiguate │ → │ Discover │ → │ Evaluate │ → │ Read │
└──────────────┘ └──────────┘ └──────────┘ └──────────┘
↓
┌──────────────────┐
│ research-survey │ (for survey reports)
│ research-ideation│ (for idea generation)
└──────────────────┘Setup: Scripts are in . Run via . Optional env vars for higher rate limits: (Semantic Scholar), (Jina Reader), , .
skills/paper-navigator/scripts/python skills/paper-navigator/scripts/<name>.pyS2_API_KEYJINA_API_KEYGITHUB_TOKENHF_TOKEN分为四个阶段查找与阅读学术论文:
┌──────────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ 消歧查询 │ → │ 发现论文 │ → │ 评估论文 │ → │ 阅读论文 │
└──────────────┘ └──────────┘ └──────────┘ └──────────┘
↓
┌──────────────────┐
│ research-survey │ (用于生成综述报告)
│ research-ideation│ (用于生成研究想法)
└──────────────────┘设置说明:脚本位于目录下。通过运行。可设置以下环境变量以提升请求速率限制:(Semantic Scholar)、(Jina Reader)、、。
skills/paper-navigator/scripts/python skills/paper-navigator/scripts/<name>.pyS2_API_KEYJINA_API_KEYGITHUB_TOKENHF_TOKENStep 0: Search Strategy Principles (MANDATORY)
步骤0:搜索策略原则(强制要求)
Every discovery task MUST follow these principles before executing any workflow.
所有发现任务在执行任何工作流之前,必须遵循以下原则。
Query Reformulation
查询重构
Before searching, decompose the user's topic and generate 4-6 variant queries covering distinct research angles. This is critical because different papers use different terminology for the same concept, and a single research topic often spans multiple sub-communities.
Step 1: Sub-topic decomposition. Identify 3-5 distinct research angles within the user's query. Most research topics span multiple perspectives:
- Empirical vs. theoretical — papers that observe/measure the phenomenon vs. papers that prove/explain it formally
- Mechanism vs. condition — papers about how something works vs. when/why it emerges
- Method keywords — different communities use different terms for the same concept (e.g., "gradient descent" vs. "meta-optimization" vs. "implicit learning")
- Adjacent formulations — the same idea framed differently (e.g., "in-context learning" vs. "few-shot learning" vs. "learning from demonstrations")
Step 2: Generate queries. Create at least one query per identified angle, using synonym substitution, specificity adjustment, and structural variants:
- Synonym substitution: "data pruning" → "data selection", "data filtering", "data curation"
- Specificity adjustment: broaden ("pretraining data quality") or narrow ("perplexity-based data pruning LLM")
- Structural variants: swap word order, add/remove qualifiers, use abbreviations
Example: User asks "how LLMs gain in-context learning during pretraining"
- Angles: (a) mechanistic/circuit, (b) training dynamics, (c) ICL-as-optimization theory, (d) data/task conditions, (e) formal theory
- Query 1: (general)
"in-context learning emergence pretraining language model" - Query 2: (mechanistic)
"induction heads formation training transformer" - Query 3: (optimization view)
"transformers learn in-context gradient descent meta-learning" - Query 4: (data conditions)
"pretraining task diversity data structure in-context learning" - Query 5: (formal theory)
"in-context learning theory linear attention generalization"
Example: User asks "papers about data pruning for LLM pretraining"
- Angles: (a) selection methods, (b) quality metrics, (c) scaling effects
- Query 1:
"data pruning pretraining language model" - Query 2:
"data selection pretraining LLM" - Query 3:
"training data curation large language model quality" - Query 4:
"data quality scoring pretraining scaling"
搜索前,分解用户的主题并生成4-6个变体查询,覆盖不同的研究角度。这一点至关重要,因为不同论文对同一概念的术语表述不同,且单个研究主题通常涉及多个子领域。
步骤1:子主题分解。从用户的查询中识别3-5个不同的研究角度。大多数研究主题涵盖多个视角:
- 实证研究 vs 理论研究 —— 观察/测量现象的论文 vs 正式证明/解释现象的论文
- 机制 vs 条件 —— 研究事物运作方式的论文 vs 研究事物何时/为何出现的论文
- 方法关键词 —— 不同领域对同一概念的术语表述不同(例如:"gradient descent" vs "meta-optimization" vs "implicit learning")
- 相邻表述 —— 同一想法的不同框架(例如:"in-context learning" vs "few-shot learning" vs "learning from demonstrations")
步骤2:生成查询。为每个识别出的角度至少创建一个查询,使用同义词替换、特异性调整和结构变体:
- 同义词替换:"data pruning" → "data selection", "data filtering", "data curation"
- 特异性调整:拓宽范围("pretraining data quality")或缩小范围("perplexity-based data pruning LLM")
- 结构变体:调换语序、添加/删除限定词、使用缩写
示例:用户询问"how LLMs gain in-context learning during pretraining"
- 角度:(a) 机制/电路层面, (b) 训练动态, (c) 上下文学习的优化理论视角, (d) 数据/任务条件, (e) 形式化理论
- 查询1:(通用型)
"in-context learning emergence pretraining language model" - 查询2:(机制层面)
"induction heads formation training transformer" - 查询3:(优化视角)
"transformers learn in-context gradient descent meta-learning" - 查询4:(数据条件)
"pretraining task diversity data structure in-context learning" - 查询5:(形式化理论)
"in-context learning theory linear attention generalization"
示例:用户询问"papers about data pruning for LLM pretraining"
- 角度:(a) 选择方法, (b) 质量指标, (c) 缩放效应
- 查询1:
"data pruning pretraining language model" - 查询2:
"data selection pretraining LLM" - 查询3:
"training data curation large language model quality" - 查询4:
"data quality scoring pretraining scaling"
Multi-Source Parallel Search
多源并行搜索
Never rely on a single search source. For every discovery task, run at least 2 sources:
- Primary: (S2 with automatic arXiv fallback on rate limit)
scholar_search - Secondary: for broader keyword coverage
arxiv_monitor --keywords "<variants>" --match-mode flexible - Tertiary (when S2 is rate limited): web search for recent blog posts/surveys that reference papers
CRITICAL — S2 parallelization rule:
- With set (100 req/min): You MAY run multiple
S2_API_KEYcalls in parallel.scholar_search - Without (100 req/5min, ~1 req/3s): You MUST run
S2_API_KEYcalls sequentially, one at a time. Parallel S2 calls without a key will exhaust the rate limit immediately, causing all calls to fail with 429 and fall back to the lower-quality arXiv search. This applies to ALL S2-dependent scripts:scholar_search,scholar_search,citation_traverse,recommend,author_search.trending - How to check: Before starting discovery, run or check if the env var is set. If empty, switch to sequential mode.
echo $S2_API_KEY - arXiv-only scripts () are NOT affected by this rule and can always run in parallel with other calls.
arxiv_monitor
绝不能依赖单一搜索源。对于所有发现任务,至少使用2个来源:
- 主来源:(Semantic Scholar,速率受限自动回退到arXiv)
scholar_search - 次来源:,用于更广泛的关键词覆盖
arxiv_monitor --keywords "<variants>" --match-mode flexible - 第三来源(当Semantic Scholar速率受限):网页搜索近期的博客文章/综述,这些内容通常会引用相关论文
关键规则——S2并行化规则:
- 已设置(100次请求/分钟):可以并行运行多个
S2_API_KEY调用。scholar_search - 未设置(100次请求/5分钟,约1次请求/3秒):必须依次逐个运行
S2_API_KEY调用。无API密钥时并行调用会立即耗尽速率限制,导致所有调用返回429错误并回退到质量较低的arXiv搜索。此规则适用于所有依赖S2的脚本:scholar_search、scholar_search、citation_traverse、recommend、author_search。trending - 如何检查:开始发现任务前,运行或检查环境变量是否已设置。如果为空,切换到串行模式。
echo $S2_API_KEY - 仅基于arXiv的脚本()不受此规则影响,始终可以与其他调用并行运行。
arxiv_monitor
Rate-Limit-Aware Fallback Chain
速率限制感知的回退链
When Semantic Scholar returns 429 or empty results:
- automatically falls back to arXiv (built-in since v1.2)
scholar_search - Use with
arxiv_monitor --keywordsfor broader coverage--match-mode flexible - Switch to web search for blog posts, surveys, GitHub repos that reference papers
- Space S2-dependent calls (,
citation_traverse) at least 5s apart and reducerecommend--limit
Prevention is better than fallback: The arXiv fallback produces lower-quality results (no citation counts, less precise relevance ranking). To avoid triggering it, always follow the S2 parallelization rule above — run S2 calls sequentially when no API key is set.
当Semantic Scholar返回429错误或空结果时:
- 会自动回退到arXiv(v1.2版本起内置该功能)
scholar_search - 使用并设置
arxiv_monitor --keywords以扩大覆盖范围--match-mode flexible - 切换到网页搜索博客文章、综述、GitHub仓库,这些内容会引用相关论文
- 依赖S2的调用(、
citation_traverse)之间至少间隔5秒,并减少recommend参数的值--limit
预防胜于回退:arXiv回退的结果质量较低(无引用计数、相关性排名不够精准)。为避免触发回退,请始终遵循上述S2并行化规则——未设置API密钥时,串行运行S2调用。
Mandatory Citation Expansion (for multi-paper discovery tasks)
强制引文扩展(针对多论文发现任务)
After finding ≥3 relevant seed papers, you MUST expand coverage using the citation graph. The goal is to discover papers that keyword search cannot reach.
Seed selection: Rank all found relevant papers by citation count. Pick the top 3 as primary seeds.
Expansion steps (all mandatory):
- Co-citation on the single highest-cited seed: — this is the strongest signal for finding closely related work that uses different terminology
citation_traverse --direction co-citation --limit 15 - Forward citations on the top 2 seeds: — finds follow-up work
citation_traverse --direction forward --limit 20 - Backward citations on 1-2 seeds whose topic coverage differs: — finds foundational and adjacent work that seeds build on. Pick seeds from different sub-topics to maximize coverage breadth
citation_traverse --direction backward --limit 20 - Recommendations with diverse seeds: — serendipitous discovery of semantically related work not connected by citations
recommend --positive <seed1>,<seed2>,<seed3>
Seed diversity principle: When selecting seeds for backward traversal or recommendations, prefer seeds from different sub-topics identified in query reformulation. This prevents the citation graph from staying within a single research community.
Applies to: WF1 (Survey), WF3 (Quick Search with >10 results), WF5 (Track Developments), WF9 (Ideation), WF10 (User-specified count).
Does NOT apply to: WF2 (Find specific paper), WF7 (Read paper by URL).
找到**≥3篇相关种子论文后,必须通过引文图谱扩展覆盖范围**。目标是发现关键词搜索无法触及的论文。
种子选择:按引用量对所有找到的相关论文排序,选择前3篇作为主要种子。
扩展步骤(全部为强制要求):
- 共引分析:对引用量最高的单篇种子论文执行——这是发现使用不同术语的密切相关研究的最强信号
citation_traverse --direction co-citation --limit 15 - 正向引文:对前2篇种子论文执行——查找后续研究
citation_traverse --direction forward --limit 20 - 反向引文:对1-2篇主题覆盖不同的种子论文执行——查找种子论文所基于的基础研究和相邻研究。选择来自不同子主题的种子以最大化覆盖广度
citation_traverse --direction backward --limit 20 - 基于多样化种子的推荐:——偶然发现与种子论文语义相关但无引文关联的研究
recommend --positive <seed1>,<seed2>,<seed3>
种子多样性原则:选择用于反向遍历或推荐的种子时,优先选择来自查询重构阶段识别出的不同子主题的种子。这可以防止引文图谱局限于单一研究社区。
适用场景:WF1(综述)、WF3(快速搜索且结果>10篇)、WF5(追踪研究进展)、WF9(创意生成)、WF10(用户指定数量)。
不适用场景:WF2(查找特定论文)、WF7(通过URL阅读论文)。
Coverage Gap Check (for multi-paper discovery tasks)
覆盖缺口检查(针对多论文发现任务)
After initial search + citation expansion, review the collected papers against the sub-topics identified during query reformulation.
For each sub-topic angle:
- Count how many collected papers address it
- If a sub-topic has 0-1 papers, run a targeted with a query specific to that angle
scholar_search - If targeted search finds new relevant papers, optionally run one more or
citation_traverseround on the new findsrecommend
This step catches systematic blind spots where an entire research perspective was missed by all prior queries. It is lightweight — typically 1-2 additional searches for gaps, not a full re-search.
Applies to: Same workflows as Mandatory Citation Expansion.
完成初始搜索+引文扩展后,对照查询重构阶段识别出的子主题,审查收集到的论文。
针对每个子主题角度:
- 统计收集到的论文中有多少篇涉及该角度
- 如果某个子主题仅有0-1篇论文,运行针对该角度的定向
scholar_search - 如果定向搜索找到新的相关论文,可以选择对新发现的论文再执行一轮或
citation_traverserecommend
此步骤用于捕捉系统盲点,即所有先前查询都遗漏了整个研究视角。该步骤操作简便——通常只需针对缺口执行1-2次额外搜索,无需重新执行完整搜索。
适用场景:与强制引文扩展的适用工作流相同。
Step 1: Classify Intent and Select Workflow
步骤1:分类意图并选择工作流
Start here. Determine what the user wants and route to the right workflow. Match complexity to intent — simple queries get simple answers.
| Intent | Signal | Workflow | Complexity |
|---|---|---|---|
| Find a specific paper | Title, author name, or URL | WF 2 | Single search call |
| Quick paper search | "give me papers about X", "find papers on X" | WF 3 | Single search call |
| Metadata search | Author + year, venue filter | WF 4 | Single search + filter |
| Track recent advances | "latest", "recent", "what's new" | WF 5 | 1-2 calls |
| Find a baseline | Code, SOTA, implementation | WF 6 | Search + code check |
| Read a paper | URL or "read this paper" | WF 7 | Fetch + read |
| Ambiguous term | Project name, module name, nickname | WF 8 | Web search + resolve |
| Literature survey | "survey X", comprehensive coverage | WF 1 → then hand off to | Iterative collection |
| Related work map | Connections between papers | WF 1 | Citation traversal |
| Ideation support | Called from research-ideation | WF 9 | Iterative + strict filter |
| User-specified count | "find me exactly N papers about X" | WF 10 | Adaptive |
Key principle: Simple "find me papers about X" queries should return results from a single search call, not trigger the full iterative collection workflow. Only use iterative expansion for comprehensive surveys or ideation support.
从此处开始。确定用户需求并路由到正确的工作流。根据意图匹配复杂度——简单查询返回简单结果。
| 意图 | 信号 | 工作流 | 复杂度 |
|---|---|---|---|
| 查找特定论文 | 标题、作者姓名或URL | WF 2 | 单次搜索调用 |
| 快速论文搜索 | "give me papers about X", "find papers on X" | WF 3 | 单次搜索调用 |
| 元数据搜索 | 作者+年份、会议/期刊筛选 | WF 4 | 单次搜索+筛选 |
| 追踪最新进展 | "latest", "recent", "what's new" | WF 5 | 1-2次调用 |
| 查找基线模型 | 代码、SOTA、实现 | WF 6 | 搜索+代码检查 |
| 阅读论文 | URL或"read this paper" | WF 7 | 获取+阅读 |
| 模糊术语 | 项目名称、模块名称、昵称 | WF 8 | 网页搜索+消歧 |
| 文献综述 | "survey X", 全面覆盖 | WF 1 → 移交至 | 迭代式收集 |
| 相关研究图谱 | 论文之间的关联 | WF 1 | 引文遍历 |
| 创意生成支持 | 由research-ideation调用 | WF 9 | 迭代式+严格筛选 |
| 用户指定论文数量 | "find me exactly N papers about X" | WF 10 | 自适应 |
核心原则:简单的"find me papers about X"查询应返回单次搜索调用的结果,无需触发完整的迭代收集工作流。仅在生成全面综述或创意生成支持时使用迭代扩展。
Step 2: Resolve Ambiguous Terms (if needed)
步骤2:解析模糊术语(如有需要)
When the user's query might be a colloquial name, project name, or module name (rather than a paper title):
- Quick academic search — Try with the exact query
scholar_search - If zero results — Broaden the search:
- Web search: Find GitHub repos, blog posts, or social media that reveal the actual paper title or arXiv ID
- GitHub search: — repos often link to papers
github_search.py --query "USER_QUERY"
- Extract identifiers — Actual paper title, arXiv ID, GitHub repo URL, author names
- Re-enter the appropriate workflow with resolved identifiers
Example disambiguation report:
🔍 Disambiguation Report for "deepseek engram"
├── Intent: Track recent advances (ambiguous term)
├── Resolution: "Engram" is a module name from DeepSeek AI
│ ├── Actual paper: "Conditional Memory via Scalable Lookup" (ArXiv:2601.07372)
│ └── GitHub: https://github.com/deepseek-ai/Engram
└── Search Plan:
├── scholar_search --query "Conditional Memory Scalable Lookup" --sort-by year
├── citation_traverse --paper-id ArXiv:2601.07372 --direction forward
└── github_search --query "deepseek engram"当用户的查询可能是口语化名称、项目名称或模块名称(而非论文标题)时:
- 快速学术搜索 —— 使用精确查询尝试
scholar_search - 如果无结果 —— 扩大搜索范围:
- 网页搜索:查找GitHub仓库、博客文章或社交媒体,以获取实际论文标题或arXiv ID
- GitHub搜索:—— 仓库通常会链接到论文
github_search.py --query "USER_QUERY"
- 提取标识符 —— 实际论文标题、arXiv ID、GitHub仓库URL、作者姓名
- 重新进入:使用解析后的标识符进入相应的工作流
示例消歧报告:
🔍 针对"deepseek engram"的消歧报告
├── 意图:追踪最新进展(模糊术语)
├── 解析结果:"Engram"是DeepSeek AI的一个模块名称
│ ├── 对应论文:"Conditional Memory via Scalable Lookup" (ArXiv:2601.07372)
│ └── GitHub:https://github.com/deepseek-ai/Engram
└── 搜索计划:
├── scholar_search --query "Conditional Memory Scalable Lookup" --sort-by year
├── citation_traverse --paper-id ArXiv:2601.07372 --direction forward
└── github_search --query "deepseek engram"Standard Output Formats
标准输出格式
Use these formats when presenting results to the user. Match the format to the intent.
向用户展示结果时使用以下格式,根据意图匹配格式。
Format A: Single Paper Card (for navigational search, WF 2)
格式A:单篇论文卡片(用于导航搜索,WF 2)
📄 **Highly accurate protein structure prediction with AlphaFold**
Authors: Jumper et al.
Year: 2021 | Venue: Nature
Citations: 25,000+
DOI: 10.1038/s41586-021-03819-2 | S2 ID: 235959867
Link: https://doi.org/10.1038/s41586-021-03819-2
TLDR: End-to-end neural network for protein structure prediction achieving atomic accuracy...📄 **Highly accurate protein structure prediction with AlphaFold**
作者:Jumper et al.
年份:2021 | 期刊:Nature
引用量:25,000+
DOI:10.1038/s41586-021-03819-2 | S2 ID:235959867
链接:https://doi.org/10.1038/s41586-021-03819-2
TLDR:端到端神经网络用于蛋白质结构预测,达到原子级精度...Format B: Paper List Table (for quick search, metadata search, trending — WF 3/4/5)
格式B:论文列表表格(用于快速搜索、元数据搜索、趋势追踪 — WF 3/4/5)
| # | Title | Authors | Year | Venue | Citations | ID |
|---|-------|---------|------|-------|-----------|-----|
| 1 | Paper Title | First Author et al. | 2024 | NeurIPS | 150 | arXiv:2401.xxxxx |
| 2 | ... | ... | ... | ... | ... | ... |After the table, briefly note how many results were found and whether the list was filtered.
| # | 标题 | 作者 | 年份 | 会议/期刊 | 引用量 | ID |
|---|-------|---------|------|-------|-----------|-----|
| 1 | 论文标题 | 第一作者 et al. | 2024 | NeurIPS | 150 | arXiv:2401.xxxxx |
| 2 | ... | ... | ... | ... | ... | ... |表格后,简要说明找到的结果数量以及是否对列表进行了筛选。
Format C: Baseline Recommendation (for baseline hunt, WF 6)
格式C:基线推荐(用于基线查找,WF 6)
📦 **Recommended Baseline: [Model Name]**
Paper: [Title] ([Year], [Venue]) — [arXiv ID]
Code: [GitHub URL] ⭐ [stars] | Framework: [PyTorch/TF]
Performance: [key metric = value] on [dataset]
HuggingFace: [model page URL] | Downloads: [N]📦 **推荐基线:[Model Name]**
论文:[标题]([年份], [会议/期刊]) — [arXiv ID]
代码:[GitHub URL] ⭐ [stars] | 框架:[PyTorch/TF]
性能:[关键指标 = 数值] on [数据集]
HuggingFace:[模型页面URL] | 下载量:[N]Format D: Reading Notes (for read a paper, WF 7)
格式D:阅读笔记(用于阅读论文,WF 7)
Use the template at . Save to .
assets/paper-summary-template.md/artifacts/paper-notes/{paper-id}.md使用中的模板。保存到。
assets/paper-summary-template.md/artifacts/paper-notes/{paper-id}.mdFormat E: Disambiguation Report (for ambiguous queries, WF 8)
格式E:消歧报告(用于模糊查询,WF 8)
🔍 Disambiguation Report for "[query]"
├── Intent: [classified intent]
├── Resolution: [what the term actually refers to]
│ ├── Paper: [resolved title] ([arXiv ID])
│ └── Code: [GitHub URL]
└── Search Plan:
├── [script call 1]
└── [script call 2]🔍 针对"[query]"的消歧报告
├── 意图:[分类后的意图]
├── 解析结果:[该术语实际指代的内容]
│ ├── 论文:[解析后的标题] ([arXiv ID])
│ └── 代码:[GitHub URL]
└── 搜索计划:
├── [脚本调用1]
└── [脚本调用2]Common Workflows
常见工作流
Workflow 1: Collect Papers for Survey
工作流1:收集论文用于综述
"Help me survey CRISPR-based gene therapy for sickle cell disease"
Use iterative collection (target 30-80 papers). See Appendix A for the full iterative methodology.
- Discover: Initial → iterative expansion with EXPLORE/EXPLOIT strategy →
scholar_search --query "CRISPR gene therapy sickle cell" --limit 20 --sort-by citationson seminal paperscitation_traverse --direction forward - Evaluate: Review each paper's title + abstract for relevance → filter by abstract quality → prefer top-tier venues → shortlist
- Read: for key papers → L2 reading → notes using
fetch_paperassets/paper-summary-template.md - Hand off to to synthesize the collected papers into a structured survey report
research-survey
"Help me survey CRISPR-based gene therapy for sickle cell disease"
使用迭代式收集(目标30-80篇论文)。完整的迭代方法请参见附录A。
- 发现:初始调用→ 使用探索/利用策略进行迭代扩展 → 对开创性论文执行
scholar_search --query "CRISPR gene therapy sickle cell" --limit 20 --sort-by citationscitation_traverse --direction forward - 评估:查看每篇论文的标题+摘要以判断相关性 → 按摘要质量筛选 → 优先选择顶级会议/期刊 → 生成候选列表
- 阅读:为关键论文执行→ 二级阅读 → 使用
fetch_paper记录笔记assets/paper-summary-template.md - 移交至:将收集到的论文合成为结构化综述报告
research-survey
Workflow 2: Navigational Search
工作流2:导航搜索
"Find me the attention is all you need paper" "Find me the original GPT 3 paper"
- Discover: — single call, return top result
scholar_search --query "Attention Is All You Need" - Output: Use Format A (Single Paper Card)
Do NOT proceed to Read unless the user explicitly asks.
"Find me the attention is all you need paper" "Find me the original GPT 3 paper"
- 发现:调用—— 单次调用,返回排名第一的结果
scholar_search --query "Attention Is All You Need" - 输出:使用格式A(单篇论文卡片)
除非用户明确要求,否则不要进入阅读步骤。
Workflow 3: Quick Paper Search
工作流3:快速论文搜索
"Give me papers about perovskite solar cell stability under humidity" "Find papers on gut microbiome modulation for autoimmune diseases"
- Sub-topic decomposition + query reformulation: Identify 3-5 research angles within the topic, generate 4-6 variant queries covering distinct angles (see Step 0)
- Discover: Run on each variant. If
scholar_search --query "<variant>" --limit 20 --sort-by relevanceis set, parallelize these calls; if not, run them sequentially one at a time to avoid rate-limit exhaustion (see "S2 parallelization rule" in Step 0). Also runS2_API_KEYfor additional coverage (arXiv calls can always run in parallel with other non-S2 calls)arxiv_monitor --keywords "<variants>" --match-mode flexible - Citation expansion (if initial results ≥ 3 relevant papers): Follow Mandatory Citation Expansion (Step 0) — co-citation on highest-cited seed, forward on top 2, backward on 1-2 diverse seeds, recommend with 3 seeds
- Coverage gap check: Review collected papers against identified sub-topics. Run targeted searches for any uncovered angles (see Step 0)
- Filter: Review all results, deduplicate, keep relevant papers based on title + abstract
- Output: Use Format B (Paper List Table)
Only escalate to full iterative workflow (WF1) if results are clearly insufficient or the user explicitly asks for more.
"Give me papers about perovskite solar cell stability under humidity" "Find papers on gut microbiome modulation for autoimmune diseases"
- 子主题分解 + 查询重构:识别主题内的3-5个研究角度,生成4-6个覆盖不同角度的变体查询(参见步骤0)
- 发现:对每个变体调用。如果已设置
scholar_search --query "<variant>" --limit 20 --sort-by relevance,并行执行这些调用;如果未设置,依次逐个执行以避免耗尽速率限制(参见步骤0中的"S2并行化规则")。同时调用S2_API_KEY以扩大覆盖范围(arXiv调用始终可以与其他非S2调用并行运行)arxiv_monitor --keywords "<variants>" --match-mode flexible - 引文扩展(如果初始结果≥3篇相关论文):遵循强制引文扩展规则(步骤0)——对引用量最高的种子执行共引分析、对前2篇种子执行正向引文、对1-2篇多样化种子执行反向引文、基于3篇种子执行推荐
- 覆盖缺口检查:对照识别出的子主题审查收集到的论文,对未覆盖的角度执行定向搜索(参见步骤0)
- 筛选:查看所有结果,去重,保留标题+摘要相关的论文
- 输出:使用格式B(论文列表表格)
仅当结果明显不足或用户明确要求更多时,才升级为完整的迭代工作流(WF1)。
Workflow 4: Metadata Search
工作流4:元数据搜索
"2012 papers by David Harel" "Papers by David Harel from 2020 to 2022" "Journal articles by David Harel from 2020 to 2022"
- Parse query: Extract author name, year range, venue type (journal/conference)
- Discover:
author_search --name "David Harel" --papers --limit 50 --sort-by year - Filter: Year range, venue type (check field), other attributes
venue - Output: Use Format B (Paper List Table)
For keyword + year filter (no author):
scholar_search --query "<keywords>" --year-min YYYY --year-max YYYY"2012 papers by David Harel" "Papers by David Harel from 2020 to 2022" "Journal articles by David Harel from 2020 to 2022"
- 解析查询:提取作者姓名、年份范围、会议/期刊类型
- 发现:调用
author_search --name "David Harel" --papers --limit 50 --sort-by year - 筛选:按年份范围、会议/期刊类型(检查字段)、其他属性筛选
venue - 输出:使用格式B(论文列表表格)
针对带年份筛选的关键词查询(无作者):
scholar_search --query "<keywords>" --year-min YYYY --year-max YYYYWorkflow 5: Track Field Developments
工作流5:追踪领域进展
"What's new in condensed matter physics this week?"
- Discover: (see
arxiv_monitor --categories cond-mat --days 7for codes) +references/arxiv-categories.mdtrending --query "topological insulator" --period 30 - Output: Use Format B (Paper List Table), highlight high-potential papers with TLDRs
"What's new in condensed matter physics this week?"
- 发现:调用(分类代码请参见
arxiv_monitor --categories cond-mat --days 7) +references/arxiv-categories.mdtrending --query "topological insulator" --period 30 - 输出:使用格式B(论文列表表格),突出显示带有TLDR的高潜力论文
Workflow 6: Find a Baseline with Code
工作流6:查找带代码的基线模型
"I need a baseline for protein structure prediction with code"
- Discover:
scholar_search --query "protein structure prediction" --sort-by citations - Evaluate: on top results +
find_code→ pick one with official code + high downloadssota --task "protein-structure-prediction" - Output: Use Format C (Baseline Recommendation)
"I need a baseline for protein structure prediction with code"
- 发现:调用
scholar_search --query "protein structure prediction" --sort-by citations - 评估:对排名靠前的结果执行+
find_code→ 选择带有官方代码+高下载量的模型sota --task "protein-structure-prediction" - 输出:使用格式C(基线推荐)
Workflow 7: Read a Paper by URL
工作流7:通过URL阅读论文
"Read this paper: arxiv.org/abs/2301.12345"
Output: Use Format D (Reading Notes)
- Fetch:
fetch_paper --url "https://arxiv.org/abs/2301.12345" - Choose reading depth (see ):
references/reading-strategy.md
| Level | Goal | When to use | Effort |
|---|---|---|---|
| L1 Technical | Can reimplement | Building directly on this paper | High |
| L2 Analytical | Understand motivation + design choices | Most papers in a survey | Medium |
| L3 Contextual | Know what it is and where it fits | Quick scanning | Low |
- Take notes using . Save to
assets/paper-summary-template.md./artifacts/paper-notes/{paper-id}.md
"Read this paper: arxiv.org/abs/2301.12345"
输出:使用格式D(阅读笔记)
- 获取:调用
fetch_paper --url "https://arxiv.org/abs/2301.12345" - 选择阅读深度(参见):
references/reading-strategy.md
| 层级 | 目标 | 适用场景 | 工作量 |
|---|---|---|---|
| L1 技术级 | 可重新实现 | 直接基于该论文开展研究 | 高 |
| L2 分析级 | 理解动机+设计选择 | 综述中的大多数论文 | 中 |
| L3 上下文级 | 了解论文内容及其定位 | 快速浏览 | 低 |
- 使用记录笔记,保存到
assets/paper-summary-template.md。/artifacts/paper-notes/{paper-id}.md
Workflow 8: Ambiguous Query Resolution
工作流8:模糊查询解析
"Find the latest about deepseek engram"
- Disambiguate: Follow Step 2 above
- Discover: with resolved title +
scholar_searchwith original term +github_searchon arXiv IDcitation_traverse - Evaluate: Review results, check code via or GitHub
find_code - Read: for top papers
fetch_paper - If user wants a survey: hand off to
research-survey
"Find the latest about deepseek engram"
- 消歧:遵循上述步骤2
- 发现:使用解析后的标题执行+ 使用原始术语执行
scholar_search+ 对arXiv ID执行github_searchcitation_traverse - 评估:查看结果,通过或GitHub检查代码
find_code - 阅读:对排名靠前的论文执行
fetch_paper - 如果用户需要综述:移交至
research-survey
Workflow 9: Ideation Support (called from research-ideation)
工作流9:创意生成支持(由research-ideation调用)
research-ideation Step 2 needs papers to build a literature tree
Iterative collection with strict filter (target 30-50 papers, recent 2020+). See Appendix A and Appendix B.
- Disambiguate: Parse the research goal → extract domain + method type
- Discover: Initial broad search (60 candidates) → iterative expansion up to 15 rounds:
- EXPLORE: new keyword queries for diverse sub-areas
- EXPLOIT: or
citation_traverseon strongly relevant papersrecommend
- Evaluate: Only keep strongly relevant papers. Prefer top-tier venues + 2020+ papers.
- Deduplicate: Track seen titles and abstracts.
- Output: 30-50 high-quality papers → feed into novelty tree + challenge-insight tree.
research-ideation Step 2 needs papers to build a literature tree
- 消歧:解析研究目标 → 提取领域+方法类型
- 发现:初始广泛搜索(60个候选) → 最多15轮迭代扩展:
- 探索:针对不同子领域生成新的关键词查询
- 利用:对高度相关的论文执行或
citation_traverserecommend
- 评估:仅保留高度相关的论文,优先选择顶级会议/期刊+2020年以后的论文
- 去重:跟踪已查看的标题和摘要
- 输出:30-50篇高质量论文 → 输入到新颖性树+挑战-洞察树
Workflow 10: User-Specified Paper Count
工作流10:用户指定论文数量
"Find me exactly 15 papers about reinforcement learning from human feedback"
- Use the user's number as the target
- Apply the closest profile's quality settings
- Run iterative collection until target met or max iterations exhausted
- If not enough, progressively relax relevance standard and inform the user
"Find me exactly 15 papers about reinforcement learning from human feedback"
- 将用户指定的数量作为目标
- 应用最接近的配置文件的质量设置
- 运行迭代式收集,直到达到目标或耗尽最大迭代次数
- 如果数量不足,逐步放宽相关性标准并告知用户
Discovery Paths (Stage 1 Detail)
发现路径(阶段1详情)
Seven paths, used by workflows above.
七种路径,供上述工作流使用。
Path A: Keyword Search (most common)
路径A:关键词搜索(最常见)
bash
python scripts/scholar_search.py --query "transformer attention mechanism" --limit 20 --sort-by citationsOptions: , , .
--year-min/--year-max--open-access-only--sort-by relevance|citations|yearbash
python scripts/scholar_search.py --query "transformer attention mechanism" --limit 20 --sort-by citations选项:, , 。
--year-min/--year-max--open-access-only--sort-by relevance|citations|yearPath B: Citation Traversal
路径B:引文遍历
bash
undefinedbash
undefinedForward — who cited this paper
正向引文 —— 哪些论文引用了该论文
python scripts/citation_traverse.py --paper-id ArXiv:1706.03762 --direction forward --limit 20
python scripts/citation_traverse.py --paper-id ArXiv:1706.03762 --direction forward --limit 20
Backward — what this paper cites
反向引文 —— 该论文引用了哪些论文
python scripts/citation_traverse.py --paper-id ArXiv:1706.03762 --direction backward --limit 20
python scripts/citation_traverse.py --paper-id ArXiv:1706.03762 --direction backward --limit 20
Co-citation — papers frequently cited alongside this one (most powerful for finding related work)
共引分析 —— 经常与该论文一起被引用的论文(发现相关研究的最有效方式)
python scripts/citation_traverse.py --paper-id ArXiv:1706.03762 --direction co-citation --limit 15
undefinedpython scripts/citation_traverse.py --paper-id ArXiv:1706.03762 --direction co-citation --limit 15
undefinedPath C: Recommendations
路径C:推荐
bash
python scripts/recommend.py --positive ArXiv:1706.03762,ArXiv:2005.14165 --limit 15
python scripts/recommend.py --positive ArXiv:1706.03762 --negative ArXiv:2301.00001 --limit 10bash
python scripts/recommend.py --positive ArXiv:1706.03762,ArXiv:2005.14165 --limit 15
python scripts/recommend.py --positive ArXiv:1706.03762 --negative ArXiv:2301.00001 --limit 10Path D: Author Tracking
路径D:作者追踪
bash
python scripts/author_search.py --name "Geoffrey Hinton" --papers --limit 20 --sort-by citationsbash
python scripts/author_search.py --name "Geoffrey Hinton" --papers --limit 20 --sort-by citationsPath E: arXiv Monitoring
路径E:arXiv监测
bash
python scripts/arxiv_monitor.py --categories cs.CL,cs.AI --days 3 --limit 30
python scripts/arxiv_monitor.py --keywords "chain of thought,reasoning" --days 7
python scripts/arxiv_monitor.py --keywords "data pruning pretraining" --match-mode flexible --days 365Options: (default, AND-of-words for better recall) or (phrase matching for precision). See for category codes.
--match-mode flexible--match-mode exactreferences/arxiv-categories.mdbash
python scripts/arxiv_monitor.py --categories cs.CL,cs.AI --days 3 --limit 30
python scripts/arxiv_monitor.py --keywords "chain of thought,reasoning" --days 7
python scripts/arxiv_monitor.py --keywords "data pruning pretraining" --match-mode flexible --days 365选项:(默认,词与词的逻辑与,召回率更高)或(短语匹配,精度更高)。分类代码请参见。
--match-mode flexible--match-mode exactreferences/arxiv-categories.mdPath F: Trending Detection
路径F:趋势检测
bash
python scripts/trending.py --query "large language models" --period 90 --limit 15Ranks by citation velocity (citations/month).
bash
python scripts/trending.py --query "large language models" --period 90 --limit 15按引用速度(每月引用量)排名。
Path G: GitHub Search
路径G:GitHub搜索
bash
python scripts/github_search.py --query "deepseek engram" --limit 10
python scripts/github_search.py --query "mamba state space model" --sort starsUseful when papers haven't been published on arXiv yet or industry labs release code before papers.
bash
python scripts/github_search.py --query "deepseek engram" --limit 10
python scripts/github_search.py --query "mamba state space model" --sort stars适用于论文尚未在arXiv发表,或行业实验室先发布代码后发表论文的场景。
Citation Graph Visualization
引文图谱可视化
After traversal, visualize with Mermaid (keep ≤30 nodes):
mermaid
graph TD
SEED["Attention Is All You Need<br/>2017 · 100k+"]
A["BERT · 2018"] --> SEED
B["GPT-2 · 2019"] --> SEED
C["Vision Transformer · 2020"] --> SEED遍历后,使用Mermaid可视化(节点数≤30):
mermaid
graph TD
SEED["Attention Is All You Need<br/>2017 · 100k+"]
A["BERT · 2018"] --> SEED
B["GPT-2 · 2019"] --> SEED
C["Vision Transformer · 2020"] --> SEEDEvaluation Tools (Stage 2 Detail)
评估工具(阶段2详情)
Quick Assessment (from scholar_search output)
快速评估(来自scholar_search的输出)
| Signal | What it tells you |
|---|---|
| TLDR | One-sentence understanding |
| Citation count | Overall impact |
| Influential citations | Quality of impact |
| Year + venue | Recency and authority |
| Open Access PDF | Whether you can read full text |
| 信号 | 说明 |
|---|---|
| TLDR | 一句话理解论文内容 |
| 引用量 | 整体影响力 |
| 有影响力的引用 | 影响力的质量 |
| 年份+会议/期刊 | 时效性和权威性 |
| 开放获取PDF | 是否可以阅读全文 |
Code Availability
代码可用性
bash
python scripts/find_code.py --arxiv-id 1706.03762bash
python scripts/find_code.py --arxiv-id 1706.03762Top Models by Task
按任务划分的顶级模型
bash
python scripts/sota.py --task "text-generation" --limit 10
python scripts/sota.py --task "translation" --list-tasksbash
python scripts/sota.py --task "text-generation" --limit 10
python scripts/sota.py --task "translation" --list-tasksDataset Discovery
数据集发现
bash
python scripts/dataset_search.py --query "sentiment analysis" --limit 10bash
python scripts/dataset_search.py --query "sentiment analysis" --limit 10Reproducibility Assessment
可复现性评估
| Dimension | Check |
|---|---|
| Code | Open-source? Official? Stars? Last update? |
| Results | Reproduced on SOTA leaderboard? |
| Data | Dataset publicly available? |
| Overall | High / Medium / Low / None |
| 维度 | 检查项 |
|---|---|
| 代码 | 是否开源?是否为官方代码?星标数?最后更新时间? |
| 结果 | 是否在SOTA排行榜上复现? |
| 数据 | 数据集是否公开可用? |
| 整体 | 高 / 中 / 低 / 无 |
After Collecting Papers: Next Steps
收集论文后的下一步
| Goal | Hand off to |
|---|---|
| Generate a literature survey report | |
| Generate research ideas | |
| Write a Related Work section | |
| 目标 | 移交至 |
|---|---|
| 生成文献综述报告 | |
| 生成研究想法 | |
| 撰写相关研究章节 | |
Quick Report (optional, stays in paper-navigator)
快速报告(可选,保留在paper-navigator中)
For a brief summary table without a full survey report, use :
literature_report.pybash
python scripts/literature_report.py --paper-ids ArXiv:2601.07372,ArXiv:2501.12948 --intent quick_scan| Intent | Output |
|---|---|
| Brief table: title, authors, year, citations, TLDR |
| Code availability, SOTA position, dataset access, reproducibility |
For full survey reports (, intents), use instead.
surveydeep_diveresearch-survey如果不需要完整的综述报告,仅需简要摘要表格,使用:
literature_report.pybash
python scripts/literature_report.py --paper-ids ArXiv:2601.07372,ArXiv:2501.12948 --intent quick_scan| 意图 | 输出 |
|---|---|
| 简要表格:标题、作者、年份、引用量、TLDR |
| 代码可用性、SOTA排名、数据集可访问性、可复现性 |
如需完整的综述报告(、意图),请使用。
surveydeep_diveresearch-surveyAppendix A: Iterative Collection Workflow
附录A:迭代式收集工作流
For workflows requiring many papers (survey, ideation support), use iterative expand-and-filter:
1. Parse query → extract goal, search terms, key term definitions
2. Define task attributes → identify domain + method type
3. Initial search → scholar_search with broad query
4. Review each paper's title + abstract → judge relevance (keep/reject)
5. LOOP until target met or max iterations reached:
a. From kept papers, pick the most relevant as "grounding set"
b. Generate next search query:
- EXPLORE: new keyword query to broaden coverage
- EXPLOIT: citation_traverse or recommend on a high-relevance paper
c. Fetch new papers → review → deduplicate → add to collection
6. Final filter: apply quality checks, take top NRelevance judging: You (Claude) evaluate each paper directly from title + abstract against the user's goal. No separate API call needed.
Deduplication: Track seen titles (normalized) and abstract prefixes. Skip already-evaluated papers.
Quality filtering:
- Skip papers with very short abstracts (< 20 words)
- For ideation/survey: prefer top-tier venues and journals in the user's field (e.g., Nature, Science, Cell, Lancet, PNAS for broad science; field-specific top venues like NeurIPS/ICML for ML, Physical Review Letters for physics, JACS for chemistry, etc.)
- For ideation: prefer 2020+ papers; include older only if foundational
对于需要大量论文的工作流(综述、创意生成支持),使用迭代式扩展与筛选:
1. 解析查询 → 提取目标、搜索词、关键术语定义
2. 定义任务属性 → 识别领域+方法类型
3. 初始搜索 → 使用广泛查询执行scholar_search
4. 查看每篇论文的标题+摘要 → 判断相关性(保留/拒绝)
5. 循环直到达到目标或耗尽最大迭代次数:
a. 从保留的论文中,选择最相关的作为"基础集"
b. 生成下一个搜索查询:
- 探索:生成新的关键词查询以扩大覆盖范围
- 利用:对高度相关的论文执行citation_traverse或recommend
c. 获取新论文 → 查看 → 去重 → 添加到集合
6. 最终筛选:应用质量检查,选择前N篇相关性判断:你(Claude)直接根据标题+摘要评估每篇论文与用户目标的相关性,无需额外的API调用。
去重:跟踪已查看的标题(规范化后)和摘要前缀,跳过已评估的论文。
质量筛选:
- 跳过摘要极短的论文(<20词)
- 对于创意生成/综述:优先选择用户领域的顶级会议和期刊(例如:广泛科学领域的Nature、Science、Cell、Lancet、PNAS;机器学习领域的NeurIPS/ICML;物理学领域的Physical Review Letters;化学领域的JACS等)
- 对于创意生成:优先选择2020年以后的论文;仅在为基础研究时包含较旧的论文
Appendix B: Ideation vs Survey Collection
附录B:创意生成与综述收集的对比
| Aspect | Ideation Support | Literature Survey |
|---|---|---|
| Goal | Find gaps and transferable techniques | Comprehensive field coverage |
| Relevance standard | Strict — only strongly relevant | Moderate — include tangentially relevant |
| Recency | Strong bias toward 2020+ | Include foundational older work |
| Initial search size | 60 candidates | 20 candidates |
| Coverage strategy | Deep on core topic + cross-domain | Balanced across sub-topics |
| Output use | Novelty tree + challenge-insight tree | Comprehensive report |
| 方面 | 创意生成支持 | 文献综述 |
|---|---|---|
| 目标 | 发现研究缺口和可迁移技术 | 全面覆盖领域 |
| 相关性标准 | 严格 —— 仅保留高度相关的 | 中等 —— 包含部分相关的 |
| 时效性 | 强烈偏向2020年以后的 | 包含基础的旧论文 |
| 初始搜索规模 | 60个候选 | 20个候选 |
| 覆盖策略 | 深入核心主题+跨领域 | 平衡覆盖各子主题 |
| 输出用途 | 新颖性树+挑战-洞察树 | 全面报告 |
Appendix C: Script & API Reference
附录C:脚本与API参考
All scripts output Markdown to stdout, errors to stderr. Common flags: , .
--limit N--json所有脚本向标准输出打印Markdown,向标准错误输出打印错误信息。通用参数:, 。
--limit N--jsonPaper ID Formats
论文ID格式
Scripts accept and normalize automatically: S2 ID, arXiv ( or or URL), DOI ().
ArXiv:1706.037621706.03762DOI:10.18653/v1/N18-3011脚本自动接受并规范化以下格式:S2 ID、arXiv(或或URL)、DOI()。
ArXiv:1706.037621706.03762DOI:10.18653/v1/N18-3011Rate Limits
速率限制
| API | Without key | With key | When rate limited |
|---|---|---|---|
| Semantic Scholar | 100 req/5min (~1 req/3s); NO parallel calls | 100 req/min; parallel OK | Auto-fallback to arXiv in |
| arXiv | 1 req/3s (courtesy) | N/A | Primary fallback when S2 is limited; no auth needed |
| Jina Reader | Free tier | Higher with key | — |
| HuggingFace | 500 req / 300s | Higher with | — |
| GitHub | 10 req/min | 5,000 req/hr (set | — |
All scripts retry on 429 and 5xx errors with exponential backoff (3s, 6s, 12s, 24s, 48s — 5 retries). A global S2 request pacer enforces minimum interval between Semantic Scholar API calls to prevent budget exhaustion.
For detailed API endpoints, query parameters, and field specifications, see .
references/api-reference.md| API | 无密钥 | 有密钥 | 速率受限时 |
|---|---|---|---|
| Semantic Scholar | 100次请求/5分钟(约1次请求/3秒);禁止并行调用 | 100次请求/分钟;允许并行调用 | |
| arXiv | 1次请求/3秒(礼貌性限制) | 无 | S2受限时的主要回退选项;无需授权 |
| Jina Reader | 免费额度 | 密钥用户额度更高 | — |
| HuggingFace | 500次请求/300秒 | | — |
| GitHub | 10次请求/分钟 | 5000次请求/小时(设置 | — |
所有脚本在遇到429和5xx错误时会自动重试,采用指数退避策略(3s, 6s, 12s, 24s, 48s —— 最多5次重试)。全局S2请求控制器会强制Semantic Scholar API调用之间的最小间隔,以避免耗尽请求额度。
详细的API端点、查询参数和字段说明,请参见。
references/api-reference.mdIntegration
集成
- research-survey: After collecting papers, hand off to research-survey for structured survey report generation (8-section goal-centric synthesis).
- research-ideation: After collecting papers, hand off to research-ideation for idea generation (novelty tree + challenge-insight tree + problem selection + solution design).
- experiment-pipeline: After finding a baseline via Workflow 6, hand off to experiment-pipeline.
- paper-writing: Paper notes serve as input for paper-writing's Related Work section.
- research-survey:收集论文后,移交至research-survey以生成结构化综述报告(以目标为中心的8节合成内容)。
- research-ideation:收集论文后,移交至research-ideation以生成研究想法(新颖性树+挑战-洞察树+问题选择+解决方案设计)。
- experiment-pipeline:通过工作流6找到基线后,移交至experiment-pipeline。
- paper-writing:论文笔记作为paper-writing的相关研究章节的输入。