默认一封都不发
发信是可选插件,不是前提。不接任何发信通道,前六步照样跑通:解析、找到、读站、判定、起草、进审核队列,然后导出 CSV 给你的 CRM、导出 Markdown 给人读。不需要发信账号,不需要多付一分钱。想让它发,配上通道即可 —— 但人工审核仍然默认开着,要关得你自己动手改一个明写着 require_approval 的开关。
获客工具卖名单,AI 获客工具卖会自动发出去的名单。两者都跳过了真正决定成败的中间那段:这家公司到底怎么回事,值不值得聊,第一句该说什么,以及对方回了之后该怎么办。OpenVZ Leads 把整条链跑完 —— 找 → 研究 → 判定 → 个性化 → 触达 → 跟进 → 管到成交 —— 并且在最该有人的那一步停下来。
MIT 协议 · v1.3.0 · macOS 23.1 MB(Apple 芯片)· Windows 20.3 MB(x64)· 跑在你已有的 Claude 订阅上 · 也可换成 OpenAI / DeepSeek
不用先填表。把你要找的人像跟同事说话那样说出来,它解析成结构化 ICP —— 并且把替你填的部分单独列出来。下面是命令行的原样输出,一个字没改。
$ openvz-leads target "帮我找美国牙科诊所"
美国的牙科诊所,找诊所老板或运营负责人。
行业 dental clinic, dental practice
规模 —
地区 United States
职位 Owner, Practice Manager, Dentist
置信度:medium(由模型解析)
替你填的 —— 这些你没说过:
· 你没有说职位,我按牙科诊所的常见决策人推断了三个。
· 你没有限定规模,所以任何规模的诊所都算符合。
存为我的 ICP?[Y/n]那两行「你没说过」是这个功能唯一值钱的地方。地区它绝不替你猜 —— 凭空多出来一个国家,会把整轮搜索送到你根本没问过的地方,而你从结果里永远看不出来。职位是唯一允许推断的字段,因为几乎没人会在需求里写职位,而不带职位去搜只会搜到前台;即便如此,它也得说出来自己推断了。「官网很旧、刚拿到融资、正在招人」这类条件既不是行业也不是规模,四个字段的解析会直接把它丢掉,然后返回一堆对自己官网很满意的诊所 —— 在这里它会被留下来,既用来放宽搜索词,也作为后面客户分析必须逐条核对的判据。仪表盘里有同一件事的图形版本。
不是「给你一批邮箱」,是从一句需求走到一个可以标成赢单或丢单的记录。每一步谁在做都写在右边 —— 其中一步是你。
一句自然语言变成结构化 ICP:行业、规模、地区、职位,以及四个字段装不下的附加条件。没有模型可用时退回规则解析 —— 更粗糙,会明说,但输入框不会变成死的。
按 ICP 去搜公司、找到官网、挖出决策人、推断邮箱格式再用 SMTP 验证。不接 Apollo,不接 ZoomInfo —— 那些库里的数据本来也是这么来的,只是中间加了一道订阅费。
三层抓取,从便宜到贵:httpx 直取永远可用;装了 Crawl4AI 就渲染 JavaScript 并返回 Markdown,模型读到的是文档而不是脱掉标签的糊字;碰到同意墙或者要点进去才有的页面,才动用真开浏览器的 Browser Use。
每个客户一份简报:他们是做什么的、为什么匹配(1–10 分加理由)、采购信号、可能的痛点、决策链里谁拍板谁掣肘 —— 还要把你那些附加条件逐条核对:证实、证伪、还是无从判断。证伪的直接压分,无从判断的老实写进「证据缺口」。
基于那份简报写三封信的序列,遵守成熟的冷邮件框架,并守住一条硬规则:不许编。简报里那份「不要说什么」它读得到,也被要求遵守。
写完的活动进入审核队列,在你批准之前不会发出任何东西。这不是一个可以顺手关掉的开关 —— 要关,你得自己去改一个明写着 require_approval 的配置项。
用你自己的 Gmail 发 —— 不经过第三方平台,名单也不在别人手里。跟进是真线程(In-Reply-To 指向上一封),所以在对方那边是同一个会话而不是三封陌生来信。带日上限和静默时段。对方一开口就停:明确说不感兴趣的判丢单,任何形式的退订措辞一律按立即且永久处理。
已触达 → 已回复 → 已约会面 → 赢单 / 丢单。每一次移动都带时间、原因和是谁移动的,并按事件推给你的 CRM。赢单只能由人来标:收件箱里没有任何东西能证明一单成了。
macOS:打开 dmg,把图标拖进「应用程序」,第一次打开请右键点图标、选「打开」。Windows:双击 setup.exe 一路下一步,第一次运行时点「详细信息 → 仍要运行」。两边被拦是同一个原因 —— 我们没有代码签名证书,这是系统对所有未签名程序的默认行为,和程序本身无关。
# 双击图标,它在自己的窗口里打开
# 不弹浏览器,不占标签页
# 你的数据全部留在本机
macOS ~/Library/Application Support/OpenVZ Leads/
Windows %APPDATA%\OpenVZ Leads\还需要装好并登录 Claude Code CLI —— 那是它的大脑,跑在你已有的订阅上,没有第二份模型账单;应用会在首屏检查这一项并给出链接。安装包里自带 Python,你不用管。提示词和销售知识库会在首次启动时被放进上面那个目录,纯 Markdown,改它怎么卖不用碰代码。卸载不会删掉你的数据目录 —— 客户名单和分析都在里面。
这是导出的 Markdown 原样,简报语言设成中文时就长这样。注意最后两块 —— 它们才是这份简报最值钱的部分。
## Northwind Logistics
**Lena Fischer** —— 采购负责人
匹配度 **6/10** · 置信度 **low**
**他们是做什么的**
比荷卢地区的区域货运代理
**采购信号**
- 新开了第二个仓库 *(medium)* —— 官网新闻页
**决策链**
- 这个联系人:内部推动者
- 可能的拍板人:总经理
- 可能的阻力方:IT
**破冰角度**
- 开第二个仓意味着要重新签承运合同
- 为什么这句话立得住:时机
**不要说**
- 不要说他们经营困难 —— 没有任何证据支持
**证据缺口**
- 没有价格和人数数据
- 官网没有团队页匹配度只有 6 分,置信度是 low,证据缺口老老实实列了两条 —— 这份简报没有假装自己什么都知道。分析用什么语言写是一个配置项,和开发信本身的语言互不影响:简报可以是中文,信可以是英文。
发信是可选插件,不是前提。不接任何发信通道,前六步照样跑通:解析、找到、读站、判定、起草、进审核队列,然后导出 CSV 给你的 CRM、导出 Markdown 给人读。不需要发信账号,不需要多付一分钱。想让它发,配上通道即可 —— 但人工审核仍然默认开着,要关得你自己动手改一个明写着 require_approval 的开关。
采购信号必须指向证据里真实出现过的东西,还要写清是从哪看来的。整份简报带一个置信度,外加一节专门写「证据缺口」—— 我们还不知道什么。一条听起来很笃定、其实是编的客户信息,比一片空白糟得多:销售会把它写进第一封信,对方一眼就看穿,那条线索当场就死了。
每份简报都有一份 avoid 清单:证据其实推翻了的假设、会踩到痛处的说法、该绕开的话题。写信的那个 agent 读得到这份清单,并被要求遵守它。多数工具只告诉你怎么开口,不告诉你哪句话会把这单谈死。
默认大脑是无头调用你本机的 Claude Code CLI,跑在你已经在付的订阅上,这也是「没有额外模型费用」这句话成立的原因。要换也就是一行配置:OpenAI、DeepSeek,或者任何说同一套接口的端点 —— vLLM、OpenRouter、本地跑的 Ollama。所有 agent 只跟 Brain 说话,从不直接碰某个厂商,所以换的时候真的只用改那一行。
可以接发信平台,也可以直接用你自己的 Gmail —— 后者意味着信从一个真人的真地址发出,跟进落在同一个会话里,名单从头到尾没离开过你。换掉平台也意味着平台原本替你做的四件事得由它自己做,而这四件每一件漏掉都会真的发出一封坏邮件:排程、合并变量替换、退订页脚、以及每封跟进发出前查一次回复。所以它们各自都是显式处理的:`{{first_name}}` 没值时它不会发出「Hi ,」而是作废这封并写明原因;通信地址没填之前一封都发不出去;查不到邮箱状态时它延后而不是发 —— 「不知道对方是否回了」和「知道对方没回」不是一回事。
关系建立之后的事本来就该在已经存着你客户的那套系统里。所以每一次阶段变化都是一个事件,按固定 payload 推过去。同步失败不会把它弄丢 —— 事件先落本地、标记未同步,下一轮心跳重试;而且是按顺序发的,否则一次失败被重放到后面去,会让 CRM 里的记录读起来像「先赢单后触达」。
一个 SQLite 文件,就在你硬盘上,随便用什么工具打开看。没有租户,没有上传,没有后台。想跑好几套(不同产品、不同 ICP),指一个环境变量到不同路径就行。
退订措辞一律按立即且永久处理,发送有日上限,静默时段是默认开的,而且如果客户直接问「你是不是 AI」,它被要求如实回答 —— 有些司法辖区这是法律要求,何况撒这个谎本来也没有好处。走 Gmail 时,退订说明和实体通信地址由它自己附在每封信末尾 —— 那个地址故意没有默认值,填之前一封都发不出去:占位地址会作为假地址进真邮件,比不发更糟。LinkedIn 自动化违反对方服务条款,所以默认关闭。
Leads 管的是关系建立之前:这个人是谁,值不值得聊,第一句说什么。关系建立之后 —— 记录、跟进、推进 —— 是另一件事,那是 OPENVZ CRM。两者可以分开用,也可以把 Leads 导出的名单直接喂给 CRM。
去看客户中枢OpenVZ Leads 是 MIT 开源项目 Harvey 的衍生版本。改动没有停在换名字上:上游是一个写完直接投递的全自动闭环,这一版把发信从必需降级成了可选插件,加了一整套人工审核状态机,并补上了原本缺失的两端 —— 前面是把一句话解析成 ICP 并说清替你填了什么,后面是从已触达一直走到赢单或丢单的阶段机与 CRM 同步。中间那一环客户分析也是这一版新增的。原始版权声明按 MIT 的要求保留在 LICENSE 里,完整的改动清单随源码一同提供。
源码是完整的,装起来就是 clone 加 pip install。如果你想让它按你们的行业、话术和资格判定标准改造一遍,或者要一份接进你现有 CRM 的版本,说一声。
联系我们