用途
Firecrawl Research Index 用于找到能回答某个研究查询的论文。资料指出,有些问题只有一个答案,但很多问题有多个答案;存疑时倾向于返回更完整的相关集合(最相关的排在最前),而不是收窄到一篇。
索引内容
索引收录论文摘要,并可逐篇访问全文。语料中最大份额为生物医学与生命科学文献——PubMed 期刊文章加上 bioRxiv 和 medRxiv 预印本——因此临床、药物、基因、疾病、流行病学和公共卫生类问题都在范围内。arXiv 预印本覆盖计算机科学、物理和数学。这些来源之外的覆盖较薄:仅存在于出版商付费墙后或小众场合的论文可能未被索引,此时以下通用网页工具作为后备。
工具与各自适用场景
-
MCP:firecrawl_research_search_papers(query, k?) / CLI:firecrawl research search-papers <query> [--k <number>] 对摘要做语义(HyDE)搜索,几乎是任何查询的自然第一步。若结果偏少或高度相似,可用不同表述(相邻领域、竞争方法、数据集/基准名称)重跑,而不是放弃。
-
MCP:firecrawl_research_related_papers(seed_ids, intent, mode?, k?) / CLI:firecrawl research related-papers <seedIds...> --intent <intent> [--mode <similar|citers|references>] [--k <number>] 按意图排序的语义与结构扩展,能触达语义搜索无法覆盖的论文,用于把一篇好结果扩展成一组。mode=similar → 相近的小众论文;citers → 使用/基于种子论文的工作;references → 种子论文所基于或对比的工作。
-
MCP:firecrawl_research_inspect_paper(id) / CLI:firecrawl research inspect-paper <id> 单篇论文的规范元数据:标题、摘要、作者、类别、来源 ID 和日期。在 search_papers 或 related_papers 之后需要完整引用/元数据,或从别处拿到 ID 需确认对应论文时使用。它不读取论文正文;具体全文问题请用 read_paper。
-
MCP:firecrawl_research_read_paper(id, question) / CLI:firecrawl research read-paper <id> --question <question> 读取单篇论文的正文段落,用于核实关键约束(实际使用的方法、实际报告的分数、所属机构、论文对比的对象)。用于解决具体疑问,不必对每篇都用。
-
MCP:firecrawl_search(query, categories: ["research"]) / CLI:firecrawl search <query> --categories research 这不是本索引。它是网站过滤:把普通网页搜索限制到一份研究相关域名清单(清单确实包含 pubmed.ncbi.nlm.nih.gov、biorxiv.org、medrxiv.org、arxiv.org 以及出版商站点),并在 research 分组中返回网页结果,每条含 url、title、description(匹配段落)、position 和 category: "research"——网页结果无 category 字段,合并时可据此区分。其结果是普通网页结果,不提供摘要语义搜索、引用图或相关论文扩展、规范论文元数据,也不提供正文段落。适合已在进行网页搜索、希望同一次调用中纳入这些站点时使用;真正的找论文任务应使用 firecrawl_research_search_papers 及其同类工具。
-
MCP:firecrawl_search(query) / firecrawl_scrape(url) / CLI:firecrawl search <query> / firecrawl scrape <url> 通用网页搜索与页面抓取,用于不在论文摘要中的事实:基准排行榜、排名、“谁得分最高/最大/最常用”。在网页上找到排名,再用 search_papers 将榜单条目映射回论文。仅当语料本身无法回答问题时才使用。
按查询形态选择方法
- 单个具名论文(“the Qwen3 report”)→ 一次 search_papers 即可。这是真正只想要一篇论文的唯一情形。
- 按描述/按方法或技术找论文(“提出 X 的论文”“训练无关的 AI 文本 N-gram 检测”)→ 找到最佳匹配后,假定存在一个家族:用 related_papers 扩展,并纳入紧密相关的方法/论文。即使某篇是完全字面匹配,也应呈现并保留其邻近论文;只有查询指定了具体论文时才按单答案处理。
- 枚举/方法族(“做 X 的论文”“Adam 的替代方案”“Y 的基准”)→ 答案是一个集合,这正是 related_papers 的用武之地:用 mode=similar 扩展多个强锚点,再从新的强命中重新播种。这里一次搜索永远不够。
- 体现某性质(“使用/体现性质 P 的论文”)→ 相关论文应用了 P,但摘要可能未描述它。从 P 的定义性论文出发,通过 citers/references 向外扩展,并用 read_paper 确认候选论文确实使用了 P。
- 最高级/排行榜(“基准 X 上最好”“最大”“最流行”)→ 排名在排行榜/网页上,不在单篇摘要里。用 firecrawl_search / firecrawl_scrape 找到基准的排行榜或排名,读出头部模型/论文,再逐个 search_papers 获取其论文。作为后备,可搜索该基准并用 read_paper 读取候选论文中报告的数字。这是最难的一类,需广撒网。
- 机构/作者过滤(“来自 <机构>”“由 <作者>”)→ 仅主题匹配不够;在保留论文前需通过元数据或 read_paper 核实机构/作者。
- 对比/依据(“论文 X 与什么对比/基于什么”)→ 答案在论文 X 内部:read_paper(X, ...) 或 related_papers([X], ..., mode="references")。
原则
- “research”一词指两个不同功能:论文索引是 firecrawl_research_* / firecrawl research;firecrawl_search 的 categories: ["research"] 是网站过滤——它确实把网页搜索指向 PubMed、bioRxiv、medRxiv、arXiv 和出版商站点,但返回的是这些站点的网页,而非论文记录。若任务关于找论文,应使用读取语料的工具;用 categories: ["research"] 会悄悄回答另一个问题。
- 查询形态与学科领域相互独立:临床试验问题和机器学习问题采用上述相同形态,区别只在于命中来源。不要因为假定语料只有 arXiv 就把生物医学或生命科学查询发到开放网络——PubMed、bioRxiv 和 medRxiv 是 search_papers 读取的最大部分。
- 存疑时纳入:对任何主题/方法/对比问题,返回相关家族而非单一最佳匹配,宁可保留可能相关的论文。
- 跟随文献并保留发现:奠基性来源、竞争方法、紧密邻居通常只有一跳之遥——用 related_papers 并纳入它们。只停在一个好结果是最常见的半答案来源。
- 核实是为了排除,而非设门槛:当硬约束明显不满足(机构/作者不对、实际未报告该分数)时用 read_paper 排除。论文看起来相关时,倾向保留而非要求证明。
- 只丢弃明显偏题的论文,不用确定无关的论文凑数——但这一门槛很高,多数看似相关的工作都应入选。
另见
firecrawl-build-search — 将论文索引构建进应用,而非在此查询。