fire-enrich
fire-enrich 是一款由 AI 驱动的数据增强工具,旨在将简单的邮箱列表自动转化为包含公司画像、融资阶段、技术栈及行业详情的高价值数据集。它主要解决了销售、市场及研究人员在潜在客户背景调查时面临的数据碎片化难题,无需人工逐个搜索,即可快速获取结构化信息。
该工具特别适合开发者、数据分析师以及需要高效构建客户数据库的 B2B 团队使用。其核心技术亮点在于结合了 Firecrawl 强大的网页抓取能力与多智能体(Multi-Agent)AI 系统。不同于传统单次查询,fire-enrich 通过“编排器”协调多个专用 AI 代理分阶段工作:从提取域名开始,依次执行发现、公司画像构建、财务数据分析等任务,各阶段结果互为输入,层层递进。这种机制不仅提高了数据的准确性和深度,还能自动追溯信息来源,确保数据可信。基于 Next.js 15 构建,fire-enrich 既支持快速本地部署,也便于集成到现有工作流中,让枯燥的数据整理工作变得智能而高效。
使用场景
某 B2B 销售团队需要从展会收集到的数百个潜在客户邮箱中,快速筛选出高价值的目标客户并制定个性化跟进策略。
没有 fire-enrich 时
- 销售人员只能手动逐个搜索邮箱对应的公司官网,耗时数小时才能整理出几十条基础信息。
- 缺乏融资阶段、技术栈等关键决策数据,导致无法判断客户的购买力和技术匹配度,盲目跟进效率极低。
- 信息来源分散且非结构化,难以直接导入 CRM 系统,团队协作时经常出现数据重复或版本混乱。
- 由于背景调查不足,发出的开发信千篇一律,无法针对客户行业痛点进行定制,回复率长期低于 5%。
使用 fire-enrich 后
- 只需上传邮箱列表,fire-enrich 利用多智能体并行抓取,几分钟内即可自动生成包含公司简介、员工规模及总部的完整档案。
- 自动补充融资轮次(如 Series D)、筹资总额及具体技术栈等深度数据,帮助团队精准锁定高意向客户并优先排期。
- 输出标准化的 JSON 格式数据,支持一键同步至 Salesforce 或 HubSpot,确保全团队基于同一套实时数据协同作战。
- 基于丰富的行业标签和最新动态,销售能撰写高度个性化的沟通话术,使邮件打开率和转化率显著提升。
fire-enrich 将原本需要数天的人工背调工作压缩至分钟级,让数据驱动的销售决策真正落地。
运行环境要求
- 未说明
不需要
未说明

快速开始
Fire Enrich - 基于 AI 的数据增强工具
将简单的电子邮件列表转化为包含公司简介、融资信息、技术栈等丰富数据的完整数据集。由 Firecrawl 和多智能体 AI 系统提供支持。
技术栈
- Firecrawl: 网页抓取与内容聚合
- OpenAI: 智能数据提取与整合
- Next.js 15: 带有 App Router 的现代 React 框架
设置
必需的 API 密钥
| 服务 | 用途 | 获取密钥 |
|---|---|---|
| Firecrawl | 网页抓取与内容聚合 | firecrawl.dev/app/api-keys |
| OpenAI | 智能数据提取 | platform.openai.com/api-keys |
快速入门
- 克隆本仓库
- 创建一个
.env.local文件,并填入您的 API 密钥:FIRECRAWL_API_KEY=your_firecrawl_key OPENAI_API_KEY=your_openai_key - 安装依赖:
npm install或yarn install - 启动开发服务器:
npm run dev或yarn dev - 打开 http://localhost:3000
示例增强
之前:
{
"email": "erez@wiz.io"
}
之后:
{
"email": "erez@wiz.io",
"companyName": "Wiz",
"industry": "网络安全",
"employeeCount": "1001-5000",
"yearFounded": 2020,
"headquarters": "纽约,纽约州",
"fundingStage": "D轮融资",
"totalRaised": "$9亿美元",
"website": "https://www.wiz.io",
"sources": [
"https://www.wiz.io/about",
"https://techcrunch.com/2023/02/27/wiz-confirms-300m-at-a-10b-valuation-to-build-out-its-cloud-security-platform/"
]
}
工作原理
架构概览:跟踪“ericciarla@firecrawl.dev”在系统中的处理流程
让我们详细看看 Fire Enrich 是如何处理一个真实示例——为电子邮件 ericciarla@firecrawl.dev 进行数据增强的。
graph TD
Start["输入:ericciarla@firecrawl.dev - 行业、CEO、融资阶段、技术栈"]:::primary
Start -->|1. 提取域名| Domain["域名:firecrawl.dev - 检测到企业邮箱"]:::primary
Domain -->|2. 启动编排| Orchestrator["代理编排器 - 按优化顺序执行各代理 - 每个阶段基于前一阶段的数据"]:::synthesis
%% 第一阶段:发现
Orchestrator -->|第一阶段| Discovery["发现代理 - 首先查找公司基本信息"]:::agent
Discovery -->|并行搜索| DiscSearch["并行搜索:Firecrawl 公司、firecrawl.dev、什么是 Firecrawl"]:::search
DiscSearch -->|Firecrawl API| DiscFC["3 个并发 API 调用 - 返回公司官网及基本信息"]:::firecrawl
DiscFC -->|提取| DiscData["公司:Firecrawl - 官网:firecrawl.dev - 类型:B2B SaaS"]:::source
%% 第二阶段:公司简介
DiscData -->|第二阶段| Profile["公司简介代理 - 利用第一阶段的公司名称查找行业细节"]:::agent
Profile -->|并行搜索| ProfSearch["并行搜索:Firecrawl 行业分类、Firecrawl 网页抓取 API、开发者工具 Firecrawl"]:::search
ProfSearch -->|Firecrawl API| ProfFC["3 个并发 API 调用 - 搜索行业特定来源"]:::firecrawl
ProfFC -->|提取| ProfData["行业:开发者工具 - 子类别:网页抓取 API - 市场:B2B SaaS"]:::source
%% 第三阶段:财务信息
ProfData -->|第三阶段| Funding["财务情报代理 - 结合公司和行业背景搜索融资信息"]:::agent
Funding -->|并行搜索| FundSearch["并行搜索:Firecrawl 融资轮次、Mendable AI 收购 Firecrawl、Firecrawl 投资者 Crunchbase"]:::search
FundSearch -->|Firecrawl API| FundFC["3 个并发 API 调用 - 查看 TechCrunch、Crunchbase 和风险投资新闻网站"]:::firecrawl
FundFC -->|提取| FundData["融资:种子轮 - 属于 Mendable AI - YC 支持的企业"]:::source
%% 第四阶段:技术栈
FundData -->|第四阶段| Tech["技术栈代理 - 分析 GitHub 和技术文档 - HTML 源码分析"]:::agent
Tech -->|并行搜索| TechSearch["并行搜索:github.com/mendableai/firecrawl、Firecrawl API 文档、直接 HTML 分析"]:::search
TechSearch -->|Firecrawl API| TechFC["3 个并发 API 调用 - 分析 HTML meta 标签 - 扫描 GitHub 仓库"]:::firecrawl
TechFC -->|提取| TechData["技术栈:Node.js、Python、Redis、Playwright、Kubernetes"]:::source
%% 第五阶段:通用信息
TechData -->|第五阶段| General["通用目的代理 - 处理自定义字段 CEO - 综合利用所有先前上下文"]:::agent
General -->|定向搜索| GenSearch["重点搜索:Firecrawl CEO 创始人 Eric、Eric Ciarla Firecrawl、LinkedIn 公司搜索"]:::search
GenSearch -->|Firecrawl API| GenFC["3 个并发 API 调用 - 交叉核对多个来源"]:::firecrawl
GenFC -->|提取| GenData["CEO:Eric Ciarla - Firecrawl 的联合创始人兼 CEO - 曾就职于 Mendable AI"]:::source
%% 最终整合
DiscData --> Synthesis
ProfData --> Synthesis
FundData --> Synthesis
TechData --> Synthesis
GenData --> Synthesis
Synthesis["GPT-4o 最终整合 - 综合所有代理结果 - 解决冲突、验证数据"]:::synthesis
Synthesis -->|输出| Results
subgraph Results[增强后的数据]
R1["行业:开发者工具 / 网页抓取 - 来源:firecrawl.dev/about"]:::good
R2["CEO:Eric Ciarla 联合创始人兼 CEO - 来源:linkedin.com/company/firecrawl"]:::good
R3["融资:种子轮 属于 Mendable AI - 来源:crunchbase.com"]:::good
R4["技术栈:Node.js、Python、Redis、K8s - 来源:github.com/mendableai/firecrawl"]:::good
end
Results -->|最终输出| Output["更新后的 CSV 行:ericciarla@firecrawl.dev - 完整档案,新增 4 项数据及来源"]:::answer
classDef primary fill:#ff8c42,stroke:#ff6b1a,stroke-width:2px,color:#fff
classDef agent fill:#9c27b0,stroke:#7b1fa2,stroke-width:2px,color:#fff
classDef search fill:#e8e8e8,stroke:#999,stroke-width:2px,color:#333
classDef firecrawl fill:#ff6b1a,stroke:#ff4500,stroke-width:3px,color:#fff
classDef source fill:#ffa726,stroke:#ff8c42,stroke-width:2px,color:#000
classDef synthesis fill:#ff8c42,stroke:#ff6b1a,stroke-width:3px,color:#fff
classDef good fill:#f5f5f5,stroke:#666,stroke-width:1px,color:#000
classDef answer fill:#333,stroke:#000,stroke-width:3px,color:#fff
各代理的工作原理
在幕后,每个代理都是一个具有专业技能、搜索策略和类型安全输出模式的专用模块:
发现代理(第一阶段)
- 确定公司的基本信息:官方名称、官网、业务类型
- 这是至关重要的第一步,为其他所有代理奠定基础
- 返回:公司名称、官网 URL、业务类型
- 模式:
DiscoveryResult,包含companyName、website、domain等字段
公司简介代理(第二阶段)
- 利用已验证的公司名称搜索行业和市场定位
- 基于发现阶段的数据,确保行业分类准确无误
- 返回:行业、子类别、商业模式、市场细分
- 模式:
ProfileResult,包含industry、headquarters、yearFounded、companyType等字段
财务情报代理(第三阶段)
- 结合公司名称和行业背景进行有针对性的融资搜索
- 了解行业有助于识别相关的投资者数据库
- 返回:融资阶段、累计融资额、主要投资者、估值
- 模式:
FundingResult,包含fundingStage、totalRaised、lastRoundAmount、investors等字段
技术栈代理(第四阶段)
- 根据公司类型和融资阶段分析技术
- 包括 HTML 分析、GitHub 仓库扫描以及技术文档解析
- 返回:编程语言、框架、基础设施、工具
- 使用:直接采用
EnrichmentResult模式,灵活提取技术栈信息
通用目的代理(第五阶段)
- 在完整上下文中处理自定义字段(如 CEO、竞争对手等)
- 充分利用之前的所有数据进行定向搜索
- 返回:用户请求的任何自定义字段
- 使用:根据用户定义的字段动态生成
EnrichmentResult模式
为什么采用顺序执行?
代理按照精心设计的顺序依次执行,每一阶段都建立在前一阶段的基础上:
- 上下文构建:每个代理都会添加上下文信息,使后续搜索更加精准。例如,了解一家公司的行业有助于融资代理在正确的风险投资数据库中进行搜索。
- 数据验证:后续代理可以对前期的数据进行验证和优化。
- 效率:通过在各阶段之间共享已发现的信息,避免重复搜索,从而提高效率。
- 阶段内并行搜索:虽然代理是按顺序运行的,但每个代理会在同一阶段内并行执行多个搜索,以最大限度地提升速度。
这种架构在准确性和性能之间取得了平衡——我们本可以将所有代理并行运行,但通过共享上下文的顺序执行方式能够产生显著更好的结果。
通过类型安全模式实现可扩展性
每个代理都使用 Zod 模式来确保类型安全,并使系统易于扩展:
// 示例:为 FundingAgent 添加新字段
const FundingResult = z.object({
fundingStage: z.string().optional(),
totalRaised: z.string().optional(),
lastRoundAmount: z.string().optional(),
investors: z.array(z.string()).optional(),
// 在此处添加您的新字段:
debtFinancing: z.string().optional(),
});
要通过新的数据提取功能扩展 Fire Enrich:
- 添加到现有代理:修改
/lib/agent-architecture/agents/[agent-name].ts中的 Zod 模式。 - 创建新代理:定义新的模式并实现
AgentBase接口。 - 更新编排器:添加路由逻辑,将字段引导至您的新代理。
- 使用自定义字段:通用代理会处理所有未被专业代理覆盖的字段。
字段路由系统会自动对用户请求进行分类:
- 包含“industry”或“headquarter”的字段 → 公司简介代理
- 包含“fund”或“invest”的字段 → 财务情报代理
- 包含“employee”或“revenue”的字段 → 指标代理
- 包含“tech”和“stack”的字段 → 技术栈代理
- 其他所有字段 → 通用代理
这种设计使得 Fire Enrich 能够随着您的需求不断增长,同时保持类型安全和可预测的行为。
流程概述
- 上传与解析:上传包含电子邮件的 CSV 文件。系统会从每封邮件中提取公司域名。
- 选择字段:根据需要选择所需的数据点,从公司简介到融资阶段等。
- 顺序执行代理:代理按阶段依次激活,每一阶段都基于之前的发现,以达到最高的准确性。
- 阶段内并行搜索:在每个阶段内,多个搜索会利用 Firecrawl API 并发执行。
- AI 合成:GPT-4o 会分析所有发现,解决冲突,并提取结构化数据。
- 实时结果:您的表格会实时填充,包含丰富后的数据及来源引用。
多代理系统
Fire Enrich 采用了一个复杂的编排系统,用于协调专门的提取模块。这些模块并非自主的 AI 代理,而是经过精心设计、协同工作的组件:
- 发现阶段:通过识别公司及其数字足迹来奠定基础。
- 简介提取:针对行业分类和商业模式分析的专业逻辑。
- 财务情报:在风险投资数据库和新闻源中进行定向搜索。
- 技术分析:深入检查,包括 HTML 解析和代码库分析。
- 自定义字段处理器:灵活提取任何用户定义的数据点。
每个模块都使用 GPT-4o 进行智能数据提取,但遵循经过大量测试优化的确定性搜索模式。这种混合方法结合了结构化编程的可靠性与 AI 驱动理解的灵活性。
核心特性
- 分阶段提取系统:按顺序执行的模块,逐步构建上下文,以获得越来越准确的结果。
- 拖放式 CSV:简单直观的界面,几秒钟即可开始使用。
- 可自定义字段:从常见数据点列表中选择,或用自然语言生成您自己的字段。
- 实时流式传输:通过服务器发送事件(SSE)逐行查看数据的丰富过程。
- 完整来源引用:每条数据都链接回其来源 URL,确保完全透明。
- 跳过常用提供商:自动跳过个人邮箱(如 Gmail、Yahoo 等),以节省 API 调用并专注于公司数据。
配置与无限模式
当您在本地克隆并运行此仓库时,Fire Enrich 会自动启用 无限模式,解除公共演示版的限制。您可以在 app/fire-enrich/config.ts 中配置这些限制:
const isUnlimitedMode = process.env.FIRE_ENRICH_UNLIMITED === 'true' ||
process.env.NODE_ENV === 'development';
export const FIRE_ENRICH_CONFIG = {
CSV_LIMITS: {
MAX_ROWS: isUnlimitedMode ? Infinity : 15,
MAX_COLUMNS: isUnlimitedMode ? Infinity : 5,
},
REQUEST_LIMITS: {
MAX_FIELDS_PER_ENRICHMENT: isUnlimitedMode ? 50 : 10,
},
} as const;
我们的开源理念
坦率地说,专业的数据丰富服务之所以昂贵是有原因的。我们推出 Fire Enrich 的目的并不是要在一夜之间复制成熟平台的所有功能,而是希望构建一个强大、开源的基础,让任何人都能使用、理解并参与贡献。
这仅仅是一个开始。通过将其开源,我们邀请您加入我们的旅程。
- 想添加新代理吗? 分支这个仓库,向我们展示您的成果。
- 想改进某个数据提取提示吗? 提交一个拉取请求。
- 有新的功能想法吗? 在问题区发起讨论。
我们相信,通过公开协作开发,我们可以借助开源社区的集体智慧,打造一款更易获取、更经济实惠且更具适应性的工具。
许可证
MIT 许可证 - 详情请参阅 LICENSE 文件。
贡献
我们欢迎任何形式的贡献!请随时提交拉取请求。
支持
如有任何问题或疑问,请在此仓库中提交一个问题。
常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
opencode
OpenCode 是一款开源的 AI 编程助手(Coding Agent),旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件,而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码,还是排查难以定位的 Bug,OpenCode 都能通过自然语言交互高效完成,显著减少开发者在重复性劳动和上下文切换上的时间消耗。 这款工具专为软件开发者、工程师及技术研究人员设计,特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构,这意味着用户可以审查代码逻辑、自定义行为策略,甚至私有化部署以保障数据安全,彻底打破了传统闭源 AI 助手的“黑盒”限制。 在技术体验上,OpenCode 提供了灵活的终端界面(Terminal UI)和正在测试中的桌面应用程序,支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具,安装便捷,并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客,还是渴望提升产出的独立开发者,OpenCode 都提供了一个透明、可信
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
