用途
Lead Enrichment 是 webclaw 生态中的一个技能,用于 B2B 线索的发现与信息补全(firmographics)。它从用户手头已有的材料出发——CSV 域名列表、目录或“最佳工具”清单 URL,或一段自然语言的 ICP 描述——最终产出一份补全后的线索表,包含每家公司做什么、卖给谁、公开的联系邮箱、社交账号、定价模式以及网站提到的技术。
所有信息都来自各公司自己的公开页面,不使用授权的联系人数据库,也不按席位收费。
主要能力
该技能覆盖线索生成中的“发现 + 公司画像”部分:
- 发现公司:从清单页面或 ICP 描述中找出公司。
- 读取通用事实:通过 /v1/extract 从每家公司自己的网站读取 pitch、公开的联系邮箱、社交账号、定价模式、目标客户、技术信号,或用户自定义的任何字段。
- 灵活 schema:字段由 JSON schema 定义,这是该技能的核心特点。
运行 find.py 构建公司列表,再运行 enrich.py 从每个网站提取自定义字段。结果仅限于所提供页面上公开发布的信息。
使用方式
前置条件
- webclaw 技能 / MCP 服务器(npx create-webclaw)。
- 批量运行需要 WEBCLAW_API_KEY(webclaw.io 的免费额度即可)。
根据用户已有材料选择入口
- 有 CSV 域名列表:直接补全。
- 有清单 URL(目录、awesome-list、“最佳 X 工具”文章、YC/PH 分类页):运行 find.py --url <listing>,然后补全。
- 只有 ICP 描述:运行 find.py --query "...",与用户一起审阅找到的列表,然后补全。
- 有竞品名称:运行 find.py --query "<competitor> alternatives",然后补全。
- 有一个目标账户需要深入研究:跳过脚本,抓取网站(深度 2),然后从关键页面提取详细画像。
发现线索(scripts/find.py)
从已知清单页面(可重复使用 --url):
WEBCLAW_API_KEY=wc_... python3 scripts/find.py --url https://www.ycombinator.com/companies/industry/developer-tools
从自然语言 ICP(搜索网络,采集找到的清单文章):
WEBCLAW_API_KEY=wc_... python3 scripts/find.py --query "AI agent startups that read the web"
输出 leads.csv(name、website、one_liner、source),跨来源去重。“最佳 X 工具”文章和目录本身就是预筛选的线索列表,此步骤即采集它们。注意:目录页面(YC、PH)通常产出的是资料页 URL 而非公司主页;补全仍可在这些 URL 上工作,但如果用户需要主页级别的字段,应先从每个资料页提取真实网站。
示例:从 TrustMRR 获取有收入验证的线索
trustmrr.com 是一个公开数据库,收录 15,000+ 家初创公司,收入经支付服务商验证,且刻意对 AI 友好(llms.txt、每家公司的 .md 页面、AI API)。其分类页是很好的 find 来源,资料页可补全为有收入验证的线索:
python3 scripts/find.py --url https://trustmrr.com/category/ai --out leads.csv python3 scripts/enrich.py leads.csv --schema revenue.json
其中 revenue.json 请求 monthly_revenue、founder_name、founder_x_handle 和 actual_website。测试中验证的结果:MRR 数字、创始人姓名、X 账号以及初创公司的真实网站——每一行都可证明有收入的线索表。如果用户还需要主页级别的字段,可对 actual_website 列再运行一次补全。
两条路径
小列表(最多约 15 家公司):直接驱动 MCP 工具。对每一行,用公司 URL 和以下 schema 调用 webclaw extract 工具,然后自行将结果组装成表格或 CSV:
{ "type": "object", "properties": { "company_name": {"type": "string"}, "one_line_pitch": {"type": "string"}, "contact_email": {"type": "string", "description": "a published business contact email, empty string if none is public"}, "social_links": {"type": "array", "items": {"type": "string"}}, "pricing_model": {"type": "string", "description": "free / freemium / paid / enterprise / unknown"}, "target_customer": {"type": "string"}, "tech_signals": {"type": "array", "items": {"type": "string"}, "description": "frameworks, APIs, and integrations the site mentions"} } }
每家公司一次调用,每次几秒。尽可能在本地运行;当设置了 WEBCLAW_API_KEY 时,有机器人防护或 JS 密集的网站会升级到托管引擎处理。
批量列表(15+):运行内置脚本。
WEBCLAW_API_KEY=wc_... python3 scripts/enrich.py leads.csv
自动检测 URL 列(website、domain、url 等),并发补全,写出 leads-enriched.csv,包含原始列加上提取的字段,以及一个 enrich_error 列用于记录失败的行。
先用 --limit 5 做一次低成本测试运行。按需使用 --concurrency、--out。
仅使用 Python 标准库——无需安装。
自定义字段
字段就是 JSON schema,因此可以按需修改。将 schema 写入文件并通过 --schema 传入:
python3 scripts/enrich.py leads.csv --schema hiring_signals.json
效果良好的示例:is_hiring、has_api、uses_competitor_x、recent_funding_mentioned、languages_supported、has_free_tier。任何人类阅读公司网站能回答的问题,提取器也能回答。
智能体工作流
- 询问(或定位)输入 CSV,并确认哪一列是网站。
- 如果用户需要非默认字段,在运行前与其一起构建 schema。
- 小列表 → 逐行 extract 调用;批量 → scripts/enrich.py,先用 --limit 5,展示样本,再运行完整列表。
- 汇总结果:补全了多少行、多少行有公开邮箱、显著模式(定价模式、常见技术)。
- 建议下一步:按匹配度排序,或将输出导入其 CRM。
适用场景
- 从目录、awesome-list、“最佳 X 工具”文章、YC/PH 分类页等清单中批量发现公司。
- 从自然语言 ICP 描述或竞品名称出发寻找线索。
- 对单个目标账户进行深入研究。
- 从公开数据库(如 TrustMRR)获取有收入验证的线索。
- 需要自定义字段(如是否在招聘、是否有 API、是否使用某竞品)的线索补全。
限制
- 尊重隐私法律。该技能只提取公司在自己网站上发布的内容,用户有责任合法使用联系数据(GDPR/CAN-SPAM)。应补全商业网站,而非个人页面。
- 预期会有一些空的 contact_email 字段——许多公司不公开邮箱。这本身也是信号。此处的 contact_email 是网站上公开的邮箱(如 hello@company.com),不是个人邮箱。
- 成本:每家公司发送一次 /v1/extract 请求。请查看当前套餐的额度消耗。
- 目录页面(YC、PH)通常产出资料页 URL 而非公司主页;如需主页级别字段,应先提取真实网站。
- 结果仅限于所提供页面上公开发布的信息。