mcpField
F
firecrawl-research

firecrawl-research

github.com/glebis生产力401380 次安装1 天前更新
代码仓库

关于 firecrawl-research

FireCrawl Research 通过 FireCrawl API 搜索网页并抓取来源内容,将 Markdown 文件中的主题整理为研究文档。它还提供 BibTeX 参考文献生成工具和学术论文模板。

主要功能

  1. 01从标题和研究标签提取主题
  2. 02通过 FireCrawl 搜索并抓取网页来源
  3. 03为每个主题保存一个 Markdown 文件
  4. 04根据研究文件生成 BibTeX 条目
  5. 05提供 Pandoc 和 MyST 论文模板

适用场景

  1. 01为研究笔记补充网页来源
  2. 02批量收集多个主题的资料
  3. 03根据抓取结果生成参考文献
  4. 04使用内置模板起草学术论文

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/glebis/claude-skills --skill firecrawl-research

安装后在 Claude Code 中输入/firecrawl-research确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

.env.example
requirements.txt
.claude-plugin/
plugin.json
assets/
references.bib
assets/templates/
myst-scientific-paper.md
pandoc-scholarly-paper.md
scripts/
convert_academic.py
firecrawl_research.py
generate_bibliography.py

详细介绍

FireCrawl 研究

概述

使用 FireCrawl API 自动搜索和抓取网页来源,为研究文档补充内容。从 Markdown 文件中提取研究主题,并利用来源材料生成全面的研究文档。

何时使用此技能

在用户遇到以下情况时使用此技能:

  • 说“使用 FireCrawl 研究这个主题”
  • 要求用网页来源丰富笔记或文档
  • 想要收集 Markdown 文件中列出的主题信息
  • 需要系统地搜索和抓取多个主题

工作原理

1. 提取主题

脚本使用两种方法自动从 Markdown 文件中提取研究主题:

方法 1:标题

## Spatial Reasoning in AI
### Computer Vision Applications

Spatial Reasoning in AI 和 Computer Vision Applications 都会成为研究主题。

方法 2:研究标签

- [research] Large Language Models for robotics
- [search] Theory of Mind in autonomous driving

两个带标签的项目都会成为研究主题。

2. 搜索和抓取

对于每个主题:

  1. 使用该主题作为查询词搜索 FireCrawl
  2. 最多获取 N 条结果(默认值:5)
  3. 自动抓取每条结果的完整内容
  4. 提取 Markdown 格式的内容(仅主要内容)
3. 生成输出

在指定的输出目录中创建新的 Markdown 文件:

  • 每个主题对应一个文件
  • 文件名:{topic}_{timestamp}.md
  • 包含:标题、日期、来源数量、完整抓取内容
  • 每个来源包含:标题、URL、Markdown 内容

使用方法

基本用法
python scripts/firecrawl_research.py research.md

输出到当前目录。

指定输出目录
python scripts/firecrawl_research.py research.md ./output

在 ./output/ 文件夹中创建文件。

限制每个主题的结果数量
python scripts/firecrawl_research.py research.md ./output 3

每个主题最多获取 3 条结果。

配置

设置 API 密钥
  1. 将 .env.example 复制为 .env:

    cp .env.example .env
    
  2. 添加 FireCrawl API 密钥:

    FIRECRAWL_API_KEY=fc-your-actual-api-key
    

脚本会自动从技能的 .env 文件中加载 API 密钥。

速率限制

脚本针对 FireCrawl 免费层级内置了自动速率限制:

  • 免费层级限制: 每分钟 5 次请求
  • 内置延迟: 每个主题之间间隔 12 秒
  • 防止 API 错误和额度耗尽

处理多个主题时,预计耗时:

  • 5 个主题:约 1 分钟
  • 10 个主题:约 2 分钟
  • 20 个主题:约 4 分钟

工作流示例

用户请求:“使用 FireCrawl 研究这些 AI 主题”

输入文件(ai-research.md):

# AI Research Topics

## Spatial Reasoning in Vision-Language Models

- [research] Embodied AI for robotics
- [research] Computer Use Agents

命令:

python scripts/firecrawl_research.py ai-research.md ./research_output 5

输出:

research_output/
├── Spatial_Reasoning_in_Vision-Language_Models_20251122_140530.md
├── Embodied_AI_for_robotics_20251122_140542.md
└── Computer_Use_Agents_20251122_140554.md

每个文件包含:

  • 主题标题
  • 时间戳
  • 来源数量
  • 最多 5 个来源的完整抓取内容
  • 来源 URL

常见模式

模式 1:快速研究

从现有笔记中提取主题并进行研究,保存到当前文件夹:

python scripts/firecrawl_research.py my-notes.md
模式 2:有序研究

为研究结果创建专用输出文件夹:

python scripts/firecrawl_research.py topics.md ./research_results
模式 3:深入研究

增加每个主题的结果数量,以获得全面的信息:

python scripts/firecrawl_research.py topics.md ./deep_research 10
模式 4:集成 Obsidian 库

直接输出到库的研究文件夹:

python scripts/firecrawl_research.py topics.md ~/Brains/brain/Research

错误处理

“未找到 API 密钥”

在技能文件夹中创建 .env 文件,并添加 FIRECRAWL_API_KEY=...

“超出速率限制”
  • 免费层级:每分钟 5 次请求
  • 脚本内置 12 秒延迟
  • 如果仍然触发限制,请减少主题数量或在两次运行之间等待
“额度不足”
  • 检查 FireCrawl 账户额度
  • 升级套餐或等待额度重置
“未找到主题”

使用以下格式在 Markdown 中添加主题:

  • ## Header format
  • - [research] Topic format
  • - [search] Topic format

脚本详情

位置: scripts/firecrawl_research.py

依赖项:

  • python-dotenv - 环境变量管理
  • requests - 向 FireCrawl API 发送 HTTP 请求

安装依赖项:

pip install python-dotenv requests

使用的 FireCrawl 功能:

  • /v1/search 端点 - 搜索并自动抓取
  • scrapeOptions.formats: ['markdown'] - Markdown 输出
  • scrapeOptions.onlyMainContent: true - 过滤无关内容

学术写作模板

此技能包含用于以 Markdown 格式撰写科学论文的模板。

可用模板

1. Pandoc 学术论文 (assets/templates/pandoc-scholarly-paper.md)

  • 标准学术论文格式
  • 兼容 Pandoc 转换器
  • 支持通过 BibTeX 引用
  • 可导出为 PDF、DOCX、HTML

2. MyST 科学论文 (assets/templates/myst-scientific-paper.md)

  • MyST(结构化文本标记)格式
  • 高级交叉引用
  • 专业科学出版
  • 多格式导出(PDF、LaTeX、DOCX)
使用模板

将模板复制到项目中:

cp assets/templates/pandoc-scholarly-paper.md my-paper.md
# or
cp assets/templates/myst-scientific-paper.md my-paper.md

编辑内容:

  • 更新 YAML 前置元数据(标题、作者、所属机构)
  • 按章节编写内容
  • 使用 [@AuthorYear](Pandoc)或 {cite}\AuthorYear``(MyST)添加引用

转换为 PDF/DOCX:

python scripts/convert_academic.py my-paper.md pdf
python scripts/convert_academic.py my-paper.md docx
python scripts/convert_academic.py my-paper.md pdf --myst  # For MyST
生成参考文献

将 FireCrawl 研究结果转换为 BibTeX 参考文献条目:

python scripts/generate_bibliography.py research_output/*.md -o references.bib

功能说明:

  • 从 FireCrawl Markdown 文件中提取 URL 和标题
  • 生成 BibTeX @misc 条目
  • 自动创建引用键
  • 添加访问日期

工作流示例:

# 1. Research topics
python scripts/firecrawl_research.py topics.md ./research

# 2. Generate bibliography
python scripts/generate_bibliography.py research/*.md -o refs.bib

# 3. Copy template
cp assets/templates/pandoc-scholarly-paper.md paper.md

# 4. Edit paper.md (add content, cite sources)

# 5. Convert to PDF
python scripts/convert_academic.py paper.md pdf
引用示例

Pandoc 语法:

Recent research [@Smith2024] shows...
Multiple studies [@Jones2023; @Brown2024] indicate...

MyST 语法:

Recent research {cite}`Smith2024` shows...
Multiple studies {cite}`Jones2023,Brown2024` indicate...
参考文献文件示例

assets/references.bib 中提供了一个示例参考文献文件,包含常见条目类型:

  • 期刊文章(@article)
  • 会议论文(@inproceedings)
  • 图书(@book)
  • 博士论文(@phdthesis)
  • 网络资源(@misc)
  • 预印本(使用 arXiv 的 @article)

提示

  1. 按层级组织主题 - 主主题使用 ##,子主题使用 ###
  2. 使用描述性名称 - 主题文本会成为文件名,请确保名称清晰
  3. 批量处理 - 将相关主题归入一个文件以提高效率
  4. 组织输出 - 为不同的研究项目创建单独的文件夹
  5. 审查内容 - 为便于阅读,每个来源的结果会截断至 3000 个字符
  6. 学术工作流 - 使用参考文献生成器在论文中引用研究来源
  7. 自定义模板 - 根据所在领域的引用样式修改模板

限制

  • 不提供摘要 - 返回抓取的原始内容,而非摘要
  • 不去重 - 不同主题中可能出现重复来源
  • 不进行质量排名 - 所有结果一视同仁
  • 仅创建新文件 - 不会追加到现有文件
  • 免费套餐限制 - 速率限制会影响处理速度

评论

支持 Markdown