OpenOutreach
AI驱动的LinkedIn智能销售代理:描述产品和市场,AI自动挖掘、筛选并跟进B2B高价值客户
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
AI驱动的LinkedIn智能销售代理:描述产品和市场,AI自动挖掘、筛选并跟进B2B高价值客户
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
图1:OpenOutreach 项目 Logo
想象一下:你是做 B2B SaaS 的销售,客单价高、客户决策周期长,传统做法是在 LinkedIn 上手动搜索"VP of Engineering""Series B""100-500 人规模"——大海捞针,效率低下。
OpenOutreach 就是来解决这个问题的:你描述产品和市场,AI 自动去 LinkedIn 挖人、筛选、发消息、全程跟进。 不是机械群发,是真正的智能销售代理。
LinkedIn 是 B2B 高端客户触达的主战场,但痛点非常明显:手工搜索效率低、海量不相关候选人、群发消息石沉大海。更关键的是,传统自动化工具只是"批量发送",没有真正的智能筛选和对话式跟进。
OpenOutreach 的作者(eracle)从这一真实痛点出发,设计了一套端到端的自动化流程:AI 生成搜索策略 → 贝叶斯机器学习筛选最优候选人 → LLM 判断是否值得联系 → 自动发起多轮对话跟进。整个系统像一支不知疲倦的销售团队,越用越聪明。
第一层:LLM 生成搜索 Query
用户只需输入"我要找什么样的客户"(如"做数据分析 SaaS,目标 VP of Engineering 或 CTO,公司在 B2B 阶段"),LLM 自动生成多条 LinkedIn 搜索关键词组合,覆盖不同变体和表述方式。这是整个流程的入口——搜索词的质量直接决定候选人的广度。
第二层:贝叶斯主动学习(Gaussian Process + BALD)
这是项目的技术核心。系统不是简单地根据关键词抓取候选人,而是用**高斯过程回归(Gaussian Process Regressor)**对候选人 Profile 嵌入向量进行建模,配合 **BALD(Bayesian Active Learning by Disagreement)**策略来决定"接下来应该评估哪个候选人"。
简单类比:GP 就像一个有经验的老销售,它记得之前见过的候选人,知道"什么样的简历大概率是好客户"。BALD 策略决定"我应该去问老销售哪个候选人不确定、值得重点评估"——这样每次评估都最大化信息增益。探索(explore)和利用(exploit)自动平衡,系统在每个决策中持续学习,越跑越精准。
第三层:LLM Profile 分类 + 跟进对话
经过 GP 模型筛选出的候选人,再由 LLM 做最终质量判断:是否匹配目标市场画像。确认为优质线索后,系统自动发起 LinkedIn 连接请求,并启动多轮跟进对话代理——根据对方回复动态调整话术,模拟真人销售的多轮沟通节奏。
项目基于 Django 构建(manage.py 是统一入口,直接 python manage.py 默认启动 rundaemon),采用多 App 分层架构:
openoutreach/core/:引擎层,包含任务调度(scheduler)、LLM 调用封装(llm.py)、Onboarding 向导、CRM 模型(Lead/Deal)和邮件跟进 Agentopenoutreach/linkedin/:LinkedIn 渠道实现,含 Playwright 浏览器自动化(browser/)、ML 模块(ml/,含 GP qualifier、Fastembed 嵌入)和 Pipelineopenoutreach/emails/:邮件外联渠道(Layer 1 开发中)openoutreach/crm/:CRM 模块,管理线索和交易ML 层使用 Fastembed 做 Profile 文本嵌入(embeddings.py),SciPy 实现 GP 回归(qualifier.py),NumPy 做数值计算。LLM 调用统一封装在 core/llm.py,支持 pydantic-ai 框架,对接 OpenAI、Anthropic、Google、Groq、Mistral、Cohere、Bedrock 等多服务商——用户可在 Onboarding 时选择或自由切换。
浏览器自动化基于 Playwright(版本 ≥1.59),以有头模式(headed)运行,通过 Xvfb 虚拟显示 + VNC 支持远程可视化调试。这在 LinkedIn 自动化工具中很常见,因为 LinkedIn 的反爬机制需要真实浏览器环境来绕过。
图2:OpenOutreach 运行界面(通过 VNC 访问)
项目提供完整的多阶段 Dockerfile(Python 3.12-slim-bookworm + uv 包管理)和 local.yml docker-compose 配置,启动后自动配置 Xvfb 虚拟显示和 VNC 服务,默认端口 6080 可直接用浏览器访问"远程桌面",观察 AI 代理在 LinkedIn 上的实际操作全过程。
整个部署流程无需手动安装 Playwright 浏览器——Dockerfile 构建阶段自动完成。硬件要求低(4GB RAM + 5GB 磁盘),无需 GPU,这是纯 CPU 运行的工作负载。
安装配置需要一定技术背景:需要准备 LLM API Key(OpenAI 或 Anthropic 等)、LinkedIn 账号,以及基本的 Docker 操作能力。项目提供了 onboard 命令引导交互式配置,但整体文档以英文为主,对中文用户有一定门槛。
法律合规风险是首要考量:LinkedIn 的服务条款明确禁止自动化数据抓取和批量外联。OpenOutreach 作为自托管工具,账号封禁风险由用户自行承担。项目提供了 LEGAL_NOTICE.md 和 GDPR_ROADMAP.md 文档,体现出作者对合规性的重视,但这不改变 LinkedIn 的政策约束。
技术上,Playwright 有头模式对资源消耗较高,长时间运行稳定性依赖浏览器进程管理。此外,系统依赖 LLM API 调用,每次 Profile 评估都有成本——随着候选人群扩大,费用会显著增长。
OpenOutreach 代表了 AI Agent 在 B2B 销售领域的最新实践:将 LLM 的自然语言理解能力 + 贝叶斯机器学习的主动学习 + Agent 多轮对话 三者融合,实现了从"关键词搜索"到"智能决策"的跃迁。其 GP/BALD 方法论也值得 ML 工程师关注——在标注数据稀缺的场景下,这种主动学习策略可以显著提升模型效率。
随着 LinkedIn API 政策逐步收紧和 AI Agent 能力的持续增强,这类自托管自动化工具的需求只会增长,但如何在自动化效率与平台合规之间找到平衡,将是所有类似项目面临的长期挑战。