用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/huangqianqian120/skillslibrary --skill firecrawl命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
基于 SOC 职业分类
| name | firecrawl |
| description | 网页数据抓取工具,用于 AI 应用。将网页转换为 Markdown 或结构化 JSON 数据。支持抓取、爬取、搜索等功能。适用于需要获取网页内容的 AI Agent 场景。 |
Firecrawl 是一个强大的网页数据 API,专为 AI 应用设计。可以把网页转换为 LLM 可用的 Markdown 或结构化数据。
npm install @mendable/firecrawl-js
# 或
pnpm add @mendable/firecrawl-js
import { FirecrawlApp } from '@mendable/firecrawl-js';
const app = new FirecrawlApp({ apiKey: 'your-api-key' });
// 抓取网页内容
const scrapeResult = await app.scrapeUrl('https://example.com', {
formats: ['markdown', 'html', 'text'],
});
console.log(scrapeResult.markdown);
// 爬取网站的所有页面
const crawlResult = await app.crawlUrl('https://example.com', {
limit: 10,
formats: ['markdown'],
});
console.log(crawlResult.data);
// 搜索网页
const searchResult = await app.search('what is firecrawl', {
limit: 5,
});
console.log(searchResult.data);
创建脚本文件 scripts/firecrawl-scrape.js:
import { FirecrawlApp } from '@mendable/firecrawl-js';
const apiKey = process.env.FIRECRAWL_API_KEY;
const app = new FirecrawlApp({ apiKey });
const url = process.argv[2];
const format = process.argv[3] || 'markdown';
async function scrape() {
try {
const result = await app.scrapeUrl(url, {
formats: [format],
});
console.log(JSON.stringify(result, null, 2));
} catch (error) {
console.error('Error:', error.message);
process.exit(1);
}
}
scrape();
运行:
FIRECRAWL_API_KEY=your-key node scripts/firecrawl-scrape.js https://example.com markdown
// 在 OpenClaw 的 exec 工具中运行
const { FirecrawlApp } = require('@mendable/firecrawl-js');
const app = new FirecrawlApp({ apiKey: process.env.FIRECRAWL_API_KEY });
const result = await app.scrapeUrl('https://news.ycombinator.com', { formats: ['markdown'] });
console.log(result.markdown);
const result = await app.scrapeUrl('https://example.com/news', {
formats: ['markdown'],
onlyMainContent: true,
});
// 将内容传给 LLM
const result = await app.crawlUrl('https://competitor.com/blog', {
limit: 20,
formats: ['markdown'],
});
const search = await app.search('your research topic', { limit: 10 });
// 获取搜索结果后逐个抓取
| 选项 | 类型 | 说明 |
|---|---|---|
| formats | string[] | 输出格式:markdown, html, text, json |
| onlyMainContent | boolean | 只提取主要内容,去除导航、广告等 |
| waitFor | number | 等待 JS 渲染的毫秒数 |
| timeout | number | 请求超时毫秒数 |
| 选项 | 类型 | 说明 |
|---|---|---|
| limit | number | 最多抓取页面数 |
| formats | string[] | 输出格式 |
| exclude | string[] | 排除的路径模式 |
| include | string[] | 只抓取的路径模式 |
FIRECRAWL_API_KEY=your-api-key-here