[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-firecrawl--fire-enrich":3,"tool-firecrawl--fire-enrich":62},[4,18,26,36,46,54],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",158594,2,"2026-04-16T23:34:05",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":42,"last_commit_at":43,"category_tags":44,"status":17},8272,"opencode","anomalyco\u002Fopencode","OpenCode 是一款开源的 AI 编程助手（Coding Agent），旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件，而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码，还是排查难以定位的 Bug，OpenCode 都能通过自然语言交互高效完成，显著减少开发者在重复性劳动和上下文切换上的时间消耗。\n\n这款工具专为软件开发者、工程师及技术研究人员设计，特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构，这意味着用户可以审查代码逻辑、自定义行为策略，甚至私有化部署以保障数据安全，彻底打破了传统闭源 AI 助手的“黑盒”限制。\n\n在技术体验上，OpenCode 提供了灵活的终端界面（Terminal UI）和正在测试中的桌面应用程序，支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具，安装便捷，并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客，还是渴望提升产出的独立开发者，OpenCode 都提供了一个透明、可信",144296,1,"2026-04-16T14:50:03",[13,45],"插件",{"id":47,"name":48,"github_repo":49,"description_zh":50,"stars":51,"difficulty_score":32,"last_commit_at":52,"category_tags":53,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":55,"name":56,"github_repo":57,"description_zh":58,"stars":59,"difficulty_score":32,"last_commit_at":60,"category_tags":61,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[45,13,15,14],{"id":63,"github_repo":64,"name":65,"description_en":66,"description_zh":67,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":77,"owner_email":78,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":95,"forks":96,"last_commit_at":97,"license":98,"difficulty_score":32,"env_os":99,"env_gpu":100,"env_ram":99,"env_deps":101,"category_tags":110,"github_topics":77,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":111,"updated_at":112,"faqs":113,"releases":129},8269,"firecrawl\u002Ffire-enrich","fire-enrich","🔥 AI-powered data enrichment tool that transforms emails into rich datasets with company profiles, funding data, tech stacks, and more using Firecrawl and multi-agent AI","fire-enrich 是一款由 AI 驱动的数据增强工具，旨在将简单的邮箱列表自动转化为包含公司画像、融资阶段、技术栈及行业详情的高价值数据集。它主要解决了销售、市场及研究人员在潜在客户背景调查时面临的数据碎片化难题，无需人工逐个搜索，即可快速获取结构化信息。\n\n该工具特别适合开发者、数据分析师以及需要高效构建客户数据库的 B2B 团队使用。其核心技术亮点在于结合了 Firecrawl 强大的网页抓取能力与多智能体（Multi-Agent）AI 系统。不同于传统单次查询，fire-enrich 通过“编排器”协调多个专用 AI 代理分阶段工作：从提取域名开始，依次执行发现、公司画像构建、财务数据分析等任务，各阶段结果互为输入，层层递进。这种机制不仅提高了数据的准确性和深度，还能自动追溯信息来源，确保数据可信。基于 Next.js 15 构建，fire-enrich 既支持快速本地部署，也便于集成到现有工作流中，让枯燥的数据整理工作变得智能而高效。","# Fire Enrich - AI-Powered Data Enrichment Tool\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffirecrawl_fire-enrich_readme_907fdee38b93.gif\" alt=\"Fire Enrich Demo\" width=\"100%\" \u002F>\n\u003C\u002Fdiv>\n\nTurn a simple list of emails into a rich dataset with company profiles, funding data, tech stacks, and more. Powered by [Firecrawl](https:\u002F\u002Fwww.firecrawl.dev\u002F) and a multi-agent AI system.\n\n## Technologies\n\n- **Firecrawl**: Web scraping and content aggregation\n- **OpenAI**: Intelligent data extraction and synthesis\n- **Next.js 15**: Modern React framework with App Router\n\n[![Deploy with Vercel](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffirecrawl_fire-enrich_readme_a4c0f8073a9c.png)](https:\u002F\u002Fvercel.com\u002Fnew\u002Fclone?repository-url=https%3A%2F%2Fgithub.com%2Fmendableai%2Ffire-enrich&env=FIRECRAWL_API_KEY,OPENAI_API_KEY&envDescription=API%20keys%20required%20for%20Fire%20Enrich&envLink=https%3A%2F%2Fgithub.com%2Fmendableai%2Ffire-enrich%23required-api-keys)\n\n## Setup\n\n### Required API Keys\n\n| Service | Purpose | Get Key |\n|---------|---------|---------|\n| Firecrawl | Web scraping and content aggregation | [firecrawl.dev\u002Fapp\u002Fapi-keys](https:\u002F\u002Fwww.firecrawl.dev\u002Fapp\u002Fapi-keys) |\n| OpenAI | Intelligent data extraction | [platform.openai.com\u002Fapi-keys](https:\u002F\u002Fplatform.openai.com\u002Fapi-keys) |\n\n### Quick Start\n\n1. Clone this repository\n2. Create a `.env.local` file with your API keys:\n   ```\n   FIRECRAWL_API_KEY=your_firecrawl_key\n   OPENAI_API_KEY=your_openai_key\n   ```\n3. Install dependencies: `npm install` or `yarn install`\n4. Run the development server: `npm run dev` or `yarn dev`\n5. Open [http:\u002F\u002Flocalhost:3000](http:\u002F\u002Flocalhost:3000)\n\n## Example Enrichment\n\n**Before:**\n```json\n{\n  \"email\": \"erez@wiz.io\"\n}\n```\n\n**After:**\n```json\n{\n  \"email\": \"erez@wiz.io\",\n  \"companyName\": \"Wiz\",\n  \"industry\": \"Cybersecurity\",\n  \"employeeCount\": \"1001-5000\",\n  \"yearFounded\": 2020,\n  \"headquarters\": \"New York, NY\",\n  \"fundingStage\": \"Series D\",\n  \"totalRaised\": \"$900M\",\n  \"website\": \"https:\u002F\u002Fwww.wiz.io\",\n  \"sources\": [\n    \"https:\u002F\u002Fwww.wiz.io\u002Fabout\",\n    \"https:\u002F\u002Ftechcrunch.com\u002F2023\u002F02\u002F27\u002Fwiz-confirms-300m-at-a-10b-valuation-to-build-out-its-cloud-security-platform\u002F\"\n  ]\n}\n```\n\n## How It Works\n\n### Architecture Overview: Following \"ericciarla@firecrawl.dev\" Through the System\n\nLet's see exactly how Fire Enrich processes a real example - enriching data for the email ericciarla@firecrawl.dev.\n\n```mermaid\ngraph TD\n    Start[\"Input: ericciarla@firecrawl.dev - Industry, CEO, Funding Stage, Tech Stack\"]:::primary\n    \n    Start -->|1. Extract Domain| Domain[\"Domain: firecrawl.dev - Corporate email detected\"]:::primary\n    \n    Domain -->|2. Start Orchestration| Orchestrator[\"Agent Orchestrator - Executes agents in optimized sequence - Each phase builds on previous data\"]:::synthesis\n\n    %% Phase 1: Discovery\n    Orchestrator -->|Phase 1| Discovery[\"Discovery Agent - Finds basic company info first\"]:::agent\n    \n    Discovery -->|Parallel searches| DiscSearch[\"Parallel Searches: Firecrawl company, firecrawl.dev, What is Firecrawl\"]:::search\n    \n    DiscSearch -->|Firecrawl API| DiscFC[\"3 concurrent API calls - Returns company website and basic information\"]:::firecrawl\n    \n    DiscFC -->|Extracts| DiscData[\"Company: Firecrawl - Website: firecrawl.dev - Type: B2B SaaS\"]:::source\n\n    %% Phase 2: Company Profile\n    DiscData -->|Phase 2| Profile[\"Company Profile Agent - Uses company name from Phase 1 to find industry details\"]:::agent\n    \n    Profile -->|Parallel searches| ProfSearch[\"Parallel Searches: Firecrawl industry classification, Firecrawl web scraping API, Developer tools Firecrawl\"]:::search\n    \n    ProfSearch -->|Firecrawl API| ProfFC[\"3 concurrent API calls - Searches industry-specific sources\"]:::firecrawl\n    \n    ProfFC -->|Extracts| ProfData[\"Industry: Developer Tools - Sub-category: Web Scraping APIs - Market: B2B SaaS\"]:::source\n\n    %% Phase 3: Financial\n    ProfData -->|Phase 3| Funding[\"Financial Intel Agent - Searches for funding using company and industry context\"]:::agent\n    \n    Funding -->|Parallel searches| FundSearch[\"Parallel Searches: Firecrawl funding rounds, Mendable AI acquisition Firecrawl, Firecrawl investors crunchbase\"]:::search\n    \n    FundSearch -->|Firecrawl API| FundFC[\"3 concurrent API calls - Checks TechCrunch, Crunchbase, venture news sites\"]:::firecrawl\n    \n    FundFC -->|Extracts| FundData[\"Funding: Seed Stage - Part of Mendable AI - YC-backed company\"]:::source\n\n    %% Phase 4: Tech Stack\n    FundData -->|Phase 4| Tech[\"Tech Stack Agent - Analyzes GitHub and tech docs - HTML source analysis\"]:::agent\n    \n    Tech -->|Parallel searches| TechSearch[\"Parallel Searches: github.com\u002Fmendableai\u002Ffirecrawl, Firecrawl API documentation, Direct HTML analysis\"]:::search\n    \n    TechSearch -->|Firecrawl API| TechFC[\"3 concurrent API calls - HTML meta tag analysis - GitHub repo scan\"]:::firecrawl\n    \n    TechFC -->|Extracts| TechData[\"Tech Stack: Node.js, Python, Redis, Playwright, Kubernetes\"]:::source\n\n    %% Phase 5: General\n    TechData -->|Phase 5| General[\"General Purpose Agent - Handles custom field CEO - Uses all previous context\"]:::agent\n    \n    General -->|Targeted search| GenSearch[\"Focused Search: Firecrawl CEO founder Eric, Eric Ciarla Firecrawl, LinkedIn company search\"]:::search\n    \n    GenSearch -->|Firecrawl API| GenFC[\"3 concurrent API calls - Cross-references multiple sources\"]:::firecrawl\n    \n    GenFC -->|Extracts| GenData[\"CEO: Eric Ciarla - Co-founder and CEO of Firecrawl - Previously at Mendable AI\"]:::source\n\n    %% Final Synthesis\n    DiscData --> Synthesis\n    ProfData --> Synthesis\n    FundData --> Synthesis\n    TechData --> Synthesis\n    GenData --> Synthesis\n    \n    Synthesis[\"GPT-4o Final Synthesis - Combines all agent findings - Resolves conflicts, validates data\"]:::synthesis\n    \n    Synthesis -->|Outputs| Results\n    \n    subgraph Results[Enriched Data]\n        R1[\"Industry: Developer Tools \u002F Web Scraping - Source: firecrawl.dev\u002Fabout\"]:::good\n        R2[\"CEO: Eric Ciarla Co-founder and CEO - Source: linkedin.com\u002Fcompany\u002Ffirecrawl\"]:::good\n        R3[\"Funding: Seed Part of Mendable AI - Source: crunchbase.com\"]:::good\n        R4[\"Tech Stack: Node.js, Python, Redis, K8s - Source: github.com\u002Fmendableai\u002Ffirecrawl\"]:::good\n    end\n    \n    Results -->|Final Output| Output[\"Updated CSV Row: ericciarla@firecrawl.dev - Complete profile with 4 new data points and sources\"]:::answer\n    \n    classDef primary fill:#ff8c42,stroke:#ff6b1a,stroke-width:2px,color:#fff\n    classDef agent fill:#9c27b0,stroke:#7b1fa2,stroke-width:2px,color:#fff\n    classDef search fill:#e8e8e8,stroke:#999,stroke-width:2px,color:#333\n    classDef firecrawl fill:#ff6b1a,stroke:#ff4500,stroke-width:3px,color:#fff\n    classDef source fill:#ffa726,stroke:#ff8c42,stroke-width:2px,color:#000\n    classDef synthesis fill:#ff8c42,stroke:#ff6b1a,stroke-width:3px,color:#fff\n    classDef good fill:#f5f5f5,stroke:#666,stroke-width:1px,color:#000\n    classDef answer fill:#333,stroke:#000,stroke-width:3px,color:#fff\n```\n\n### How Each Agent Works\n\nBehind the scenes, each agent is a specialized module with its own expertise, search strategies, and type-safe output schema:\n\n1. **Discovery Agent** (Phase 1)\n   - Establishes company basics: official name, website, type of business\n   - Essential first step that provides the foundation for all other agents\n   - **Returns**: Company name, website URL, business type\n   - **Schema**: `DiscoveryResult` with fields like `companyName`, `website`, `domain`\n\n2. **Company Profile Agent** (Phase 2)\n   - Uses verified company name to search for industry and market positioning\n   - Builds on Discovery data to ensure accurate industry classification\n   - **Returns**: Industry, sub-category, business model, market segment\n   - **Schema**: `ProfileResult` with `industry`, `headquarters`, `yearFounded`, `companyType`\n\n3. **Financial Intel Agent** (Phase 3)\n   - Leverages company name + industry context for targeted funding searches\n   - Knowing the industry helps identify relevant investor databases\n   - **Returns**: Funding stage, total raised, key investors, valuation\n   - **Schema**: `FundingResult` with `fundingStage`, `totalRaised`, `lastRoundAmount`, `investors`\n\n4. **Tech Stack Agent** (Phase 4)\n   - Analyzes technology with context of company type and funding stage\n   - HTML analysis, GitHub repos, and technical documentation\n   - **Returns**: Programming languages, frameworks, infrastructure, tools\n   - **Uses**: Direct `EnrichmentResult` schema for flexible tech stack extraction\n\n5. **General Purpose Agent** (Phase 5)\n   - Handles custom fields (like CEO, competitors, etc.) with full context\n   - Benefits from all previous data to make targeted searches\n   - **Returns**: Any custom field requested by the user\n   - **Uses**: Dynamic `EnrichmentResult` schema based on user-defined fields\n\n### Why Sequential Execution?\n\nThe agents execute in a carefully designed sequence where each phase builds upon the previous one:\n\n- **Context Building**: Each agent adds context that makes subsequent searches more accurate. For example, knowing a company's industry helps the funding agent search in the right venture databases.\n- **Data Validation**: Later agents can validate and refine data from earlier phases.\n- **Efficiency**: Prevents redundant searches by sharing discovered information across phases.\n- **Parallel Searches Within Phases**: While agents run sequentially, each agent performs multiple searches in parallel, maximizing speed.\n\nThis architecture balances accuracy with performance - we could run all agents in parallel, but the sequential approach with shared context produces significantly better results.\n\n### Extensibility Through Type-Safe Schemas\n\nEach agent uses [Zod](https:\u002F\u002Fzod.dev\u002F) schemas to ensure type safety and make the system easily extensible:\n\n```typescript\n\u002F\u002F Example: Adding a new field to the FundingAgent\nconst FundingResult = z.object({\n  fundingStage: z.string().optional(),\n  totalRaised: z.string().optional(),\n  lastRoundAmount: z.string().optional(),\n  investors: z.array(z.string()).optional(),\n  \u002F\u002F Add your new field here:\n  debtFinancing: z.string().optional(),\n});\n```\n\n**To extend Fire Enrich with new data extraction capabilities:**\n\n1. **Add to existing agent**: Modify the Zod schema in `\u002Flib\u002Fagent-architecture\u002Fagents\u002F[agent-name].ts`\n2. **Create a new agent**: Define a new schema and implement the `AgentBase` interface\n3. **Update the orchestrator**: Add routing logic to direct fields to your new agent\n4. **Use custom fields**: The General Agent handles any field not covered by specialized agents\n\nThe field routing system automatically categorizes user requests:\n- Fields with \"industry\" or \"headquarter\" → Company Profile Agent\n- Fields with \"fund\" or \"invest\" → Financial Intel Agent  \n- Fields with \"employee\" or \"revenue\" → Metrics Agent\n- Fields with \"tech\" and \"stack\" → Tech Stack Agent\n- Everything else → General Purpose Agent\n\nThis design allows Fire Enrich to grow with your needs while maintaining type safety and predictable behavior.\n\n### Process Flow\n\n1.  **Upload & Parse**: Upload a CSV with emails. The system extracts the company domain from each email.\n2.  **Field Selection**: Choose the data points you need, from company descriptions to funding stages.\n3.  **Sequential Agent Execution**: Agents activate in phases, each building on previous discoveries for maximum accuracy.\n4.  **Parallel Searches Per Phase**: Within each phase, multiple searches run concurrently using the Firecrawl API.\n5.  **AI Synthesis**: GPT-4o analyzes all findings, resolves conflicts, and extracts structured data.\n6.  **Real-time Results**: Your table populates in real-time, complete with enriched data and source citations.\n\n### The Multi-Agent System\n\nFire Enrich employs a sophisticated orchestration system that coordinates specialized extraction modules. These aren't autonomous AI agents, but rather purpose-built components that work together intelligently:\n\n-   **Discovery Phase**: Establishes the foundation by identifying the company and its digital presence\n-   **Profile Extraction**: Specialized logic for industry classification and business model analysis\n-   **Financial Intelligence**: Targeted searches across venture databases and news sources\n-   **Technical Analysis**: Deep inspection including HTML parsing and repository analysis\n-   **Custom Field Handler**: Flexible extraction for any user-defined data points\n\nEach module uses GPT-4o for intelligent data extraction, but follows deterministic search patterns optimized through extensive testing. This hybrid approach combines the reliability of structured programming with the flexibility of AI-powered comprehension.\n\n### Key Features\n\n-   **Phased Extraction System**: Sequential modules that build context for increasingly accurate results.\n-   **Drag & Drop CSV**: Simple, intuitive interface to get started in seconds.\n-   **Customizable Fields**: Choose from a list of common data points or generate your own with natural language.\n-   **Real-time Streaming**: Watch your data get enriched row-by-row via Server-Sent Events.\n-   **Full Source Citations**: Every piece of data is linked back to the URL it was found on, ensuring complete transparency.\n-   **Skip Common Providers**: Automatically skips personal emails (Gmail, Yahoo, etc.) to save on API calls and focus on company data.\n\n### Configuration & Unlimited Mode\n\nWhen you clone and run this repository locally, Fire Enrich automatically enables **Unlimited Mode**, removing the restrictions of the public demo. You can configure these limits in [`app\u002Ffire-enrich\u002Fconfig.ts`](app\u002Ffire-enrich\u002Fconfig.ts):\n\n```typescript\nconst isUnlimitedMode = process.env.FIRE_ENRICH_UNLIMITED === 'true' || \n                       process.env.NODE_ENV === 'development';\n\nexport const FIRE_ENRICH_CONFIG = {\n  CSV_LIMITS: {\n    MAX_ROWS: isUnlimitedMode ? Infinity : 15,\n    MAX_COLUMNS: isUnlimitedMode ? Infinity : 5,\n  },\n  REQUEST_LIMITS: {\n    MAX_FIELDS_PER_ENRICHMENT: isUnlimitedMode ? 50 : 10,\n  },\n} as const;\n```\n\n## Our Open Source Philosophy\n\nLet's be blunt: professional data enrichment services are expensive for a reason. Our goal with Fire Enrich isn't to replicate every feature of mature platforms overnight. Instead, we want to build a powerful, open-source foundation that anyone can use, understand, and contribute to.\n\nThis is just the start. By open-sourcing it, we're inviting you to join us on this journey.\n\n-   **Add a new agent?** Fork the repo and show us what you've got.\n-   **Improve a data extraction prompt?** Open a pull request.\n-   **Have a new feature idea?** Start a discussion in the issues.\n\nWe believe that by building in public, we can create a tool that is more accessible, affordable, and adaptable, thanks to the collective intelligence of the open-source community.\n\n## License\n\nMIT License - see [LICENSE](LICENSE) file for details.\n\n## Contributing\n\nWe welcome contributions! Please feel free to submit a Pull Request.\n\n## Support\n\nFor questions and issues, please open an issue in this repository.\n","# Fire Enrich - 基于 AI 的数据增强工具\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffirecrawl_fire-enrich_readme_907fdee38b93.gif\" alt=\"Fire Enrich 演示\" width=\"100%\" \u002F>\n\u003C\u002Fdiv>\n\n将简单的电子邮件列表转化为包含公司简介、融资信息、技术栈等丰富数据的完整数据集。由 [Firecrawl](https:\u002F\u002Fwww.firecrawl.dev\u002F) 和多智能体 AI 系统提供支持。\n\n## 技术栈\n\n- **Firecrawl**: 网页抓取与内容聚合\n- **OpenAI**: 智能数据提取与整合\n- **Next.js 15**: 带有 App Router 的现代 React 框架\n\n[![使用 Vercel 部署](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffirecrawl_fire-enrich_readme_a4c0f8073a9c.png)](https:\u002F\u002Fvercel.com\u002Fnew\u002Fclone?repository-url=https%3A%2F%2Fgithub.com%2Fmendableai%2Ffire-enrich&env=FIRECRAWL_API_KEY,OPENAI_API_KEY&envDescription=API%20keys%20required%20for%20Fire%20Enrich&envLink=https%3A%2F%2Fgithub.com%2Fmendableai%2Ffire-enrich%23required-api-keys)\n\n## 设置\n\n### 必需的 API 密钥\n\n| 服务 | 用途 | 获取密钥 |\n|---------|---------|---------|\n| Firecrawl | 网页抓取与内容聚合 | [firecrawl.dev\u002Fapp\u002Fapi-keys](https:\u002F\u002Fwww.firecrawl.dev\u002Fapp\u002Fapi-keys) |\n| OpenAI | 智能数据提取 | [platform.openai.com\u002Fapi-keys](https:\u002F\u002Fplatform.openai.com\u002Fapi-keys) |\n\n### 快速入门\n\n1. 克隆本仓库\n2. 创建一个 `.env.local` 文件，并填入您的 API 密钥：\n   ```\n   FIRECRAWL_API_KEY=your_firecrawl_key\n   OPENAI_API_KEY=your_openai_key\n   ```\n3. 安装依赖：`npm install` 或 `yarn install`\n4. 启动开发服务器：`npm run dev` 或 `yarn dev`\n5. 打开 [http:\u002F\u002Flocalhost:3000](http:\u002F\u002Flocalhost:3000)\n\n## 示例增强\n\n**之前：**\n```json\n{\n  \"email\": \"erez@wiz.io\"\n}\n```\n\n**之后：**\n```json\n{\n  \"email\": \"erez@wiz.io\",\n  \"companyName\": \"Wiz\",\n  \"industry\": \"网络安全\",\n  \"employeeCount\": \"1001-5000\",\n  \"yearFounded\": 2020,\n  \"headquarters\": \"纽约，纽约州\",\n  \"fundingStage\": \"D轮融资\",\n  \"totalRaised\": \"$9亿美元\",\n  \"website\": \"https:\u002F\u002Fwww.wiz.io\",\n  \"sources\": [\n    \"https:\u002F\u002Fwww.wiz.io\u002Fabout\",\n    \"https:\u002F\u002Ftechcrunch.com\u002F2023\u002F02\u002F27\u002Fwiz-confirms-300m-at-a-10b-valuation-to-build-out-its-cloud-security-platform\u002F\"\n  ]\n}\n```\n\n## 工作原理\n\n### 架构概览：跟踪“ericciarla@firecrawl.dev”在系统中的处理流程\n\n让我们详细看看 Fire Enrich 是如何处理一个真实示例——为电子邮件 ericciarla@firecrawl.dev 进行数据增强的。\n\n```mermaid\ngraph TD\n    Start[\"输入：ericciarla@firecrawl.dev - 行业、CEO、融资阶段、技术栈\"]:::primary\n    \n    Start -->|1. 提取域名| Domain[\"域名：firecrawl.dev - 检测到企业邮箱\"]:::primary\n    \n    Domain -->|2. 启动编排| Orchestrator[\"代理编排器 - 按优化顺序执行各代理 - 每个阶段基于前一阶段的数据\"]:::synthesis\n\n    %% 第一阶段：发现\n    Orchestrator -->|第一阶段| Discovery[\"发现代理 - 首先查找公司基本信息\"]:::agent\n    \n    Discovery -->|并行搜索| DiscSearch[\"并行搜索：Firecrawl 公司、firecrawl.dev、什么是 Firecrawl\"]:::search\n    \n    DiscSearch -->|Firecrawl API| DiscFC[\"3 个并发 API 调用 - 返回公司官网及基本信息\"]:::firecrawl\n    \n    DiscFC -->|提取| DiscData[\"公司：Firecrawl - 官网：firecrawl.dev - 类型：B2B SaaS\"]:::source\n\n    %% 第二阶段：公司简介\n    DiscData -->|第二阶段| Profile[\"公司简介代理 - 利用第一阶段的公司名称查找行业细节\"]:::agent\n    \n    Profile -->|并行搜索| ProfSearch[\"并行搜索：Firecrawl 行业分类、Firecrawl 网页抓取 API、开发者工具 Firecrawl\"]:::search\n    \n    ProfSearch -->|Firecrawl API| ProfFC[\"3 个并发 API 调用 - 搜索行业特定来源\"]:::firecrawl\n    \n    ProfFC -->|提取| ProfData[\"行业：开发者工具 - 子类别：网页抓取 API - 市场：B2B SaaS\"]:::source\n\n    %% 第三阶段：财务信息\n    ProfData -->|第三阶段| Funding[\"财务情报代理 - 结合公司和行业背景搜索融资信息\"]:::agent\n    \n    Funding -->|并行搜索| FundSearch[\"并行搜索：Firecrawl 融资轮次、Mendable AI 收购 Firecrawl、Firecrawl 投资者 Crunchbase\"]:::search\n    \n    FundSearch -->|Firecrawl API| FundFC[\"3 个并发 API 调用 - 查看 TechCrunch、Crunchbase 和风险投资新闻网站\"]:::firecrawl\n    \n    FundFC -->|提取| FundData[\"融资：种子轮 - 属于 Mendable AI - YC 支持的企业\"]:::source\n\n    %% 第四阶段：技术栈\n    FundData -->|第四阶段| Tech[\"技术栈代理 - 分析 GitHub 和技术文档 - HTML 源码分析\"]:::agent\n    \n    Tech -->|并行搜索| TechSearch[\"并行搜索：github.com\u002Fmendableai\u002Ffirecrawl、Firecrawl API 文档、直接 HTML 分析\"]:::search\n    \n    TechSearch -->|Firecrawl API| TechFC[\"3 个并发 API 调用 - 分析 HTML meta 标签 - 扫描 GitHub 仓库\"]:::firecrawl\n    \n    TechFC -->|提取| TechData[\"技术栈：Node.js、Python、Redis、Playwright、Kubernetes\"]:::source\n\n    %% 第五阶段：通用信息\n    TechData -->|第五阶段| General[\"通用目的代理 - 处理自定义字段 CEO - 综合利用所有先前上下文\"]:::agent\n    \n    General -->|定向搜索| GenSearch[\"重点搜索：Firecrawl CEO 创始人 Eric、Eric Ciarla Firecrawl、LinkedIn 公司搜索\"]:::search\n    \n    GenSearch -->|Firecrawl API| GenFC[\"3 个并发 API 调用 - 交叉核对多个来源\"]:::firecrawl\n    \n    GenFC -->|提取| GenData[\"CEO：Eric Ciarla - Firecrawl 的联合创始人兼 CEO - 曾就职于 Mendable AI\"]:::source\n\n    %% 最终整合\n    DiscData --> Synthesis\n    ProfData --> Synthesis\n    FundData --> Synthesis\n    TechData --> Synthesis\n    GenData --> Synthesis\n    \n    Synthesis[\"GPT-4o 最终整合 - 综合所有代理结果 - 解决冲突、验证数据\"]:::synthesis\n    \n    Synthesis -->|输出| Results\n    \n    subgraph Results[增强后的数据]\n        R1[\"行业：开发者工具 \u002F 网页抓取 - 来源：firecrawl.dev\u002Fabout\"]:::good\n        R2[\"CEO：Eric Ciarla 联合创始人兼 CEO - 来源：linkedin.com\u002Fcompany\u002Ffirecrawl\"]:::good\n        R3[\"融资：种子轮 属于 Mendable AI - 来源：crunchbase.com\"]:::good\n        R4[\"技术栈：Node.js、Python、Redis、K8s - 来源：github.com\u002Fmendableai\u002Ffirecrawl\"]:::good\n    end\n    \n    Results -->|最终输出| Output[\"更新后的 CSV 行：ericciarla@firecrawl.dev - 完整档案，新增 4 项数据及来源\"]:::answer\n    \n    classDef primary fill:#ff8c42,stroke:#ff6b1a,stroke-width:2px,color:#fff\n    classDef agent fill:#9c27b0,stroke:#7b1fa2,stroke-width:2px,color:#fff\n    classDef search fill:#e8e8e8,stroke:#999,stroke-width:2px,color:#333\n    classDef firecrawl fill:#ff6b1a,stroke:#ff4500,stroke-width:3px,color:#fff\n    classDef source fill:#ffa726,stroke:#ff8c42,stroke-width:2px,color:#000\n    classDef synthesis fill:#ff8c42,stroke:#ff6b1a,stroke-width:3px,color:#fff\n    classDef good fill:#f5f5f5,stroke:#666,stroke-width:1px,color:#000\n    classDef answer fill:#333,stroke:#000,stroke-width:3px,color:#fff\n```\n\n### 各代理的工作原理\n\n在幕后，每个代理都是一个具有专业技能、搜索策略和类型安全输出模式的专用模块：\n\n1. **发现代理**（第一阶段）\n   - 确定公司的基本信息：官方名称、官网、业务类型\n   - 这是至关重要的第一步，为其他所有代理奠定基础\n   - **返回**：公司名称、官网 URL、业务类型\n   - **模式**：`DiscoveryResult`，包含 `companyName`、`website`、`domain` 等字段\n\n2. **公司简介代理**（第二阶段）\n   - 利用已验证的公司名称搜索行业和市场定位\n   - 基于发现阶段的数据，确保行业分类准确无误\n   - **返回**：行业、子类别、商业模式、市场细分\n   - **模式**：`ProfileResult`，包含 `industry`、`headquarters`、`yearFounded`、`companyType` 等字段\n\n3. **财务情报代理**（第三阶段）\n   - 结合公司名称和行业背景进行有针对性的融资搜索\n   - 了解行业有助于识别相关的投资者数据库\n   - **返回**：融资阶段、累计融资额、主要投资者、估值\n   - **模式**：`FundingResult`，包含 `fundingStage`、`totalRaised`、`lastRoundAmount`、`investors` 等字段\n\n4. **技术栈代理**（第四阶段）\n   - 根据公司类型和融资阶段分析技术\n   - 包括 HTML 分析、GitHub 仓库扫描以及技术文档解析\n   - **返回**：编程语言、框架、基础设施、工具\n   - **使用**：直接采用 `EnrichmentResult` 模式，灵活提取技术栈信息\n\n5. **通用目的代理**（第五阶段）\n   - 在完整上下文中处理自定义字段（如 CEO、竞争对手等）\n   - 充分利用之前的所有数据进行定向搜索\n   - **返回**：用户请求的任何自定义字段\n   - **使用**：根据用户定义的字段动态生成 `EnrichmentResult` 模式\n\n### 为什么采用顺序执行？\n\n代理按照精心设计的顺序依次执行，每一阶段都建立在前一阶段的基础上：\n\n- **上下文构建**：每个代理都会添加上下文信息，使后续搜索更加精准。例如，了解一家公司的行业有助于融资代理在正确的风险投资数据库中进行搜索。\n- **数据验证**：后续代理可以对前期的数据进行验证和优化。\n- **效率**：通过在各阶段之间共享已发现的信息，避免重复搜索，从而提高效率。\n- **阶段内并行搜索**：虽然代理是按顺序运行的，但每个代理会在同一阶段内并行执行多个搜索，以最大限度地提升速度。\n\n这种架构在准确性和性能之间取得了平衡——我们本可以将所有代理并行运行，但通过共享上下文的顺序执行方式能够产生显著更好的结果。\n\n### 通过类型安全模式实现可扩展性\n\n每个代理都使用 [Zod](https:\u002F\u002Fzod.dev\u002F) 模式来确保类型安全，并使系统易于扩展：\n\n```typescript\n\u002F\u002F 示例：为 FundingAgent 添加新字段\nconst FundingResult = z.object({\n  fundingStage: z.string().optional(),\n  totalRaised: z.string().optional(),\n  lastRoundAmount: z.string().optional(),\n  investors: z.array(z.string()).optional(),\n  \u002F\u002F 在此处添加您的新字段：\n  debtFinancing: z.string().optional(),\n});\n```\n\n**要通过新的数据提取功能扩展 Fire Enrich：**\n\n1. **添加到现有代理**：修改 `\u002Flib\u002Fagent-architecture\u002Fagents\u002F[agent-name].ts` 中的 Zod 模式。\n2. **创建新代理**：定义新的模式并实现 `AgentBase` 接口。\n3. **更新编排器**：添加路由逻辑，将字段引导至您的新代理。\n4. **使用自定义字段**：通用代理会处理所有未被专业代理覆盖的字段。\n\n字段路由系统会自动对用户请求进行分类：\n- 包含“industry”或“headquarter”的字段 → 公司简介代理\n- 包含“fund”或“invest”的字段 → 财务情报代理  \n- 包含“employee”或“revenue”的字段 → 指标代理\n- 包含“tech”和“stack”的字段 → 技术栈代理\n- 其他所有字段 → 通用代理\n\n这种设计使得 Fire Enrich 能够随着您的需求不断增长，同时保持类型安全和可预测的行为。\n\n### 流程概述\n\n1.  **上传与解析**：上传包含电子邮件的 CSV 文件。系统会从每封邮件中提取公司域名。\n2.  **选择字段**：根据需要选择所需的数据点，从公司简介到融资阶段等。\n3.  **顺序执行代理**：代理按阶段依次激活，每一阶段都基于之前的发现，以达到最高的准确性。\n4.  **阶段内并行搜索**：在每个阶段内，多个搜索会利用 Firecrawl API 并发执行。\n5.  **AI 合成**：GPT-4o 会分析所有发现，解决冲突，并提取结构化数据。\n6.  **实时结果**：您的表格会实时填充，包含丰富后的数据及来源引用。\n\n### 多代理系统\n\nFire Enrich 采用了一个复杂的编排系统，用于协调专门的提取模块。这些模块并非自主的 AI 代理，而是经过精心设计、协同工作的组件：\n\n-   **发现阶段**：通过识别公司及其数字足迹来奠定基础。\n-   **简介提取**：针对行业分类和商业模式分析的专业逻辑。\n-   **财务情报**：在风险投资数据库和新闻源中进行定向搜索。\n-   **技术分析**：深入检查，包括 HTML 解析和代码库分析。\n-   **自定义字段处理器**：灵活提取任何用户定义的数据点。\n\n每个模块都使用 GPT-4o 进行智能数据提取，但遵循经过大量测试优化的确定性搜索模式。这种混合方法结合了结构化编程的可靠性与 AI 驱动理解的灵活性。\n\n### 核心特性\n\n-   **分阶段提取系统**：按顺序执行的模块，逐步构建上下文，以获得越来越准确的结果。\n-   **拖放式 CSV**：简单直观的界面，几秒钟即可开始使用。\n-   **可自定义字段**：从常见数据点列表中选择，或用自然语言生成您自己的字段。\n-   **实时流式传输**：通过服务器发送事件（SSE）逐行查看数据的丰富过程。\n-   **完整来源引用**：每条数据都链接回其来源 URL，确保完全透明。\n-   **跳过常用提供商**：自动跳过个人邮箱（如 Gmail、Yahoo 等），以节省 API 调用并专注于公司数据。\n\n### 配置与无限模式\n\n当您在本地克隆并运行此仓库时，Fire Enrich 会自动启用 **无限模式**，解除公共演示版的限制。您可以在 [`app\u002Ffire-enrich\u002Fconfig.ts`](app\u002Ffire-enrich\u002Fconfig.ts) 中配置这些限制：\n\n```typescript\nconst isUnlimitedMode = process.env.FIRE_ENRICH_UNLIMITED === 'true' || \n                       process.env.NODE_ENV === 'development';\n\nexport const FIRE_ENRICH_CONFIG = {\n  CSV_LIMITS: {\n    MAX_ROWS: isUnlimitedMode ? Infinity : 15,\n    MAX_COLUMNS: isUnlimitedMode ? Infinity : 5,\n  },\n  REQUEST_LIMITS: {\n    MAX_FIELDS_PER_ENRICHMENT: isUnlimitedMode ? 50 : 10,\n  },\n} as const;\n```\n\n## 我们的开源理念\n\n坦率地说，专业的数据丰富服务之所以昂贵是有原因的。我们推出 Fire Enrich 的目的并不是要在一夜之间复制成熟平台的所有功能，而是希望构建一个强大、开源的基础，让任何人都能使用、理解并参与贡献。\n\n这仅仅是一个开始。通过将其开源，我们邀请您加入我们的旅程。\n\n-   **想添加新代理吗？** 分支这个仓库，向我们展示您的成果。\n-   **想改进某个数据提取提示吗？** 提交一个拉取请求。\n-   **有新的功能想法吗？** 在问题区发起讨论。\n\n我们相信，通过公开协作开发，我们可以借助开源社区的集体智慧，打造一款更易获取、更经济实惠且更具适应性的工具。\n\n## 许可证\n\nMIT 许可证 - 详情请参阅 [LICENSE](LICENSE) 文件。\n\n## 贡献\n\n我们欢迎任何形式的贡献！请随时提交拉取请求。\n\n## 支持\n\n如有任何问题或疑问，请在此仓库中提交一个问题。","# Fire Enrich 快速上手指南\n\nFire Enrich 是一款基于 AI 的数据增强工具，能够将简单的邮箱列表转化为包含公司简介、融资数据、技术栈等丰富信息的结构化数据集。它结合了 Firecrawl（网络爬虫）和多智能体 AI 系统。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **Node.js**: 建议安装最新 LTS 版本（支持 Next.js 15）。\n*   **包管理器**: npm 或 yarn。\n*   **API 密钥**: 您需要准备以下两个服务的 API Key：\n    *   **Firecrawl**: 用于网页抓取和内容聚合。获取地址：[firecrawl.dev\u002Fapp\u002Fapi-keys](https:\u002F\u002Fwww.firecrawl.dev\u002Fapp\u002Fapi-keys)\n    *   **OpenAI**: 用于智能数据提取和合成。获取地址：[platform.openai.com\u002Fapi-keys](https:\u002F\u002Fplatform.openai.com\u002Fapi-keys)\n\n> **注意**：由于网络环境原因，访问 OpenAI 和 Firecrawl 服务可能需要配置科学上网环境或在服务器端设置代理。\n\n## 安装步骤\n\n1.  **克隆项目仓库**\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002Fmendableai\u002Ffire-enrich.git\n    cd fire-enrich\n    ```\n\n2.  **配置环境变量**\n    在项目根目录下创建 `.env.local` 文件，并填入您的 API 密钥：\n    ```bash\n    FIRECRAWL_API_KEY=your_firecrawl_key\n    OPENAI_API_KEY=your_openai_key\n    ```\n\n3.  **安装依赖**\n    推荐使用国内镜像源加速安装（如淘宝镜像）：\n    ```bash\n    # 使用 npm\n    npm install --registry=https:\u002F\u002Fregistry.npmmirror.com\n\n    # 或者使用 yarn\n    yarn install --registry=https:\u002F\u002Fregistry.npmmirror.com\n    ```\n\n4.  **启动开发服务器**\n    ```bash\n    npm run dev\n    # 或\n    yarn dev\n    ```\n\n5.  **访问应用**\n    打开浏览器访问 [http:\u002F\u002Flocalhost:3000](http:\u002F\u002Flocalhost:3000)。\n\n## 基本使用\n\nFire Enrich 的核心功能是将邮箱地址转换为详细的企业档案。\n\n1.  **准备数据**：准备一个包含邮箱地址的 CSV 文件（例如 `leads.csv`），或者直接在界面输入单个邮箱。\n    *   示例输入数据：`erez@wiz.io`\n\n2.  **选择字段**：在 Web 界面中，勾选您想要增强的数据维度，例如：\n    *   公司名称 (Company Name)\n    *   行业 (Industry)\n    *   员工人数 (Employee Count)\n    *   融资阶段 (Funding Stage)\n    *   技术栈 (Tech Stack)\n\n3.  **执行增强**：点击运行按钮。系统将按以下流程处理：\n    *   **域名提取**：从邮箱中提取域名（如 `wiz.io`）。\n    *   **多智能体协作**：系统依次调用发现代理、公司画像代理、财务情报代理等技术模块，并行搜索全网信息。\n    *   **AI 合成**：GPT-4o 汇总所有信息，解决冲突并生成结构化数据。\n\n4.  **查看结果**：界面将实时展示增强后的数据及来源引用。\n    *   **输入前**：`{\"email\": \"erez@wiz.io\"}`\n    *   **输出后**：\n        ```json\n        {\n          \"email\": \"erez@wiz.io\",\n          \"companyName\": \"Wiz\",\n          \"industry\": \"Cybersecurity\",\n          \"employeeCount\": \"1001-5000\",\n          \"fundingStage\": \"Series D\",\n          \"totalRaised\": \"$900M\",\n          \"sources\": [\"https:\u002F\u002Fwww.wiz.io\u002Fabout\", \"...\"]\n        }\n        ```\n\n5.  **导出数据**：处理完成后，您可以将结果下载为新的 CSV 文件，直接用于后续的业务流程。","某 B2B 销售团队需要从展会收集到的数百个潜在客户邮箱中，快速筛选出高价值的目标客户并制定个性化跟进策略。\n\n### 没有 fire-enrich 时\n- 销售人员只能手动逐个搜索邮箱对应的公司官网，耗时数小时才能整理出几十条基础信息。\n- 缺乏融资阶段、技术栈等关键决策数据，导致无法判断客户的购买力和技术匹配度，盲目跟进效率极低。\n- 信息来源分散且非结构化，难以直接导入 CRM 系统，团队协作时经常出现数据重复或版本混乱。\n- 由于背景调查不足，发出的开发信千篇一律，无法针对客户行业痛点进行定制，回复率长期低于 5%。\n\n### 使用 fire-enrich 后\n- 只需上传邮箱列表，fire-enrich 利用多智能体并行抓取，几分钟内即可自动生成包含公司简介、员工规模及总部的完整档案。\n- 自动补充融资轮次（如 Series D）、筹资总额及具体技术栈等深度数据，帮助团队精准锁定高意向客户并优先排期。\n- 输出标准化的 JSON 格式数据，支持一键同步至 Salesforce 或 HubSpot，确保全团队基于同一套实时数据协同作战。\n- 基于丰富的行业标签和最新动态，销售能撰写高度个性化的沟通话术，使邮件打开率和转化率显著提升。\n\nfire-enrich 将原本需要数天的人工背调工作压缩至分钟级，让数据驱动的销售决策真正落地。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffirecrawl_fire-enrich_907fdee3.gif","firecrawl","Firecrawl","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Ffirecrawl_07a2c527.png","Web data API for AI",null,"hello@firecrawl.dev","firecrawl_dev","firecrawl.dev","https:\u002F\u002Fgithub.com\u002Ffirecrawl",[83,87,91],{"name":84,"color":85,"percentage":86},"TypeScript","#3178c6",93.9,{"name":88,"color":89,"percentage":90},"CSS","#663399",6,{"name":92,"color":93,"percentage":94},"JavaScript","#f1e05a",0.1,1145,292,"2026-04-15T16:45:30","MIT","未说明","不需要",{"notes":102,"python":99,"dependencies":103},"该项目是基于 Next.js 15 的 Web 应用，无需本地 GPU。运行前需配置 Firecrawl 和 OpenAI 的 API 密钥。使用 npm 或 yarn 安装依赖并启动开发服务器。",[104,105,106,107,108,109],"Next.js 15","React","Firecrawl SDK","OpenAI SDK","Zod","Node.js",[35,16,13],"2026-03-27T02:49:30.150509","2026-04-17T09:54:36.162889",[114,119,124],{"id":115,"question_zh":116,"answer_zh":117,"source_url":118},37030,"可以在 Vercel 上托管此应用吗？","Vercel 存在超时限制。虽然可以在 vercel.json 中根据计划更改无服务器超时时间，但对于需要处理大量详细数据的大型 CSV 文件，仍可能超时。若要解决此问题，需要使用 Upstash Workflows（https:\u002F\u002Fupstash.com\u002Fdocs\u002Fworkflow\u002Fgetstarted）或类似工具进行重构，但这需要对应用进行较大的代码调整。","https:\u002F\u002Fgithub.com\u002Ffirecrawl\u002Ffire-enrich\u002Fissues\u002F7",{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},37031,"如何将此项目配置为指向自托管的 Firecrawl 实例和自托管的 LLM？","目前项目中硬编码了 Firecrawl API 密钥并通过 firecrawl.dev 获取。对于拥有自托管实例的用户，当前版本尚未直接提供修改 API 端点的配置选项，通常需要手动修改源代码中的 API 地址配置或等待后续版本支持环境变量配置来自定义服务地址。","https:\u002F\u002Fgithub.com\u002Ffirecrawl\u002Ffire-enrich\u002Fissues\u002F13",{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},37032,"构建项目时遇到 DayPicker 组件报错 `'IconLeft' does not exist in type 'Partial\u003CCustomComponents>` 如何解决？","这是一个已知的构建错误，通常由 package.json 中缺少依赖包或 react-day-picker 版本兼容性问题引起。解决方案是参考 react-day-picker 官方 Issue #2451 中的修复方法（https:\u002F\u002Fgithub.com\u002Fgpbl\u002Freact-day-picker\u002Fissues\u002F2451#issuecomment-2671277730），确保安装了正确的依赖包，并检查 CustomComponents 的类型定义是否匹配当前使用的库版本。","https:\u002F\u002Fgithub.com\u002Ffirecrawl\u002Ffire-enrich\u002Fissues\u002F3",[]]