关于 firecrawl-research
FireCrawl Research 通过 FireCrawl API 搜索网页并抓取来源内容,将 Markdown 文件中的主题整理为研究文档。它还提供 BibTeX 参考文献生成工具和学术论文模板。
主要功能
- 01从标题和研究标签提取主题
- 02通过 FireCrawl 搜索并抓取网页来源
- 03为每个主题保存一个 Markdown 文件
- 04根据研究文件生成 BibTeX 条目
- 05提供 Pandoc 和 MyST 论文模板
适用场景
- 01为研究笔记补充网页来源
- 02批量收集多个主题的资料
- 03根据抓取结果生成参考文献
- 04使用内置模板起草学术论文
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ glebis/ claude-skills --skill firecrawl-research安装后在 Claude Code 中输入/firecrawl-research确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.env.examplerequirements.txt.claude-plugin/plugin.jsonassets/references.bibassets/templates/myst-scientific-paper.mdpandoc-scholarly-paper.mdscripts/convert_academic.pyfirecrawl_research.pygenerate_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. 搜索和抓取
对于每个主题:
- 使用该主题作为查询词搜索 FireCrawl
- 最多获取 N 条结果(默认值:5)
- 自动抓取每条结果的完整内容
- 提取 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 密钥
-
将
.env.example复制为.env:cp .env.example .env -
添加 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)
提示
- 按层级组织主题 - 主主题使用
##,子主题使用### - 使用描述性名称 - 主题文本会成为文件名,请确保名称清晰
- 批量处理 - 将相关主题归入一个文件以提高效率
- 组织输出 - 为不同的研究项目创建单独的文件夹
- 审查内容 - 为便于阅读,每个来源的结果会截断至 3000 个字符
- 学术工作流 - 使用参考文献生成器在论文中引用研究来源
- 自定义模板 - 根据所在领域的引用样式修改模板
限制
- 不提供摘要 - 返回抓取的原始内容,而非摘要
- 不去重 - 不同主题中可能出现重复来源
- 不进行质量排名 - 所有结果一视同仁
- 仅创建新文件 - 不会追加到现有文件
- 免费套餐限制 - 速率限制会影响处理速度