LinkedIn批量连接助手Skill linkedin-connect

LinkedIn批量连接助手是一款自动化工具,用于通过浏览器自动化向LinkedIn联系人列表批量发送好友请求,并自动跟踪连接状态。该工具支持CSV/TSV文件导入,具备三层联系人查找机制(直接URL、谷歌搜索、LinkedIn搜索),智能处理已连接、待处理、仅关注等状态,内置反检测策略防止账户被封。适用于商务拓展、招聘、销售线索开发等场景,关键词:LinkedIn自动化、批量连接、人脉拓展、浏览器自动化、销售线索、CRM集成、反检测策略、数据跟踪。

其他 0 次安装 0 次浏览 更新于 2/24/2026

名称: linkedin-connect 描述: 通过浏览器自动化向列表中的人员发送LinkedIn好友请求,并在CSV/TSV文件中跟踪状态。当用户希望通过电子表格或包含LinkedIn个人资料URL的列表批量连接LinkedIn上的人员(创始人、演讲者、潜在客户等)时使用。处理连接按钮、关注模式个人资料、已连接检测、通过LinkedIn搜索和谷歌搜索处理失效URL回退,以及增量状态跟踪。

LinkedIn Connect

自动从列表中发送LinkedIn好友请求,并在数据文件中跟踪结果。

⚠️ 飞行前检查清单 — 开始前确认

在进行任何操作之前,请与用户确认以下所有事项。在每项都确认之前不要继续。

1. 数据文件

请用户提供其电子表格/CSV/TSV文件,并确认文件具有(或可以具有)以下列:

  • 人员/创始人姓名 — 要连接的人员的全名
  • 公司/品牌名称 — 其公司或品牌(用于搜索回退)
  • LinkedIn个人资料URL — 可选但强烈推荐;减少自动化足迹

如果文件缺少任何列,请告知用户缺少哪些列并提供添加选项。

2. 浏览器设置

询问他们使用哪种浏览器设置:

选项A — Chrome浏览器中继(推荐用于被标记为自动化的账户)

  • 用户必须已安装OpenClaw浏览器中继Chrome扩展程序
  • 用户在常规Chrome浏览器中打开LinkedIn,并在该标签页上点击OpenClaw中继工具栏图标(徽章变为ON)
  • 在此模式下,所有浏览器工具调用使用 profile="chrome"

选项B — OpenClaw隔离浏览器(openclaw 配置文件)

  • OpenClaw管理一个单独的Chrome实例
  • 首次使用时,导航到 https://www.linkedin.com 并让用户登录;Cookie在会话间持久化
  • 在此模式下,所有浏览器工具调用使用 profile="openclaw"

确认他们设置了哪个选项。如果用户的账户因自动化被标记或警告,默认使用选项A(Chrome中继)

3. 就绪检查

仅在用户确认以下事项后继续:

  • ✅ 文件已准备就绪并可访问
  • ✅ 浏览器已打开并登录LinkedIn(如果选择选项A,则中继已附加)

浏览器配置文件

根据用户在飞行前检查清单中的选择设置 profile 变量:

  • 选项A: profile="chrome" — 重用附加中继的标签页;通过 browser action=tabs 获取 targetId
  • 选项B: profile="openclaw" — OpenClaw管理的隔离Chrome实例

不要在运行过程中混合配置文件。选择一个并在每个浏览器工具调用中一致使用。

数据文件设置

确保跟踪文件有一个 Connection Status 列。如果缺失,请添加:

import csv
rows = []
with open('file.tsv', 'r') as f:
    reader = csv.DictReader(f, delimiter='\t')
    fieldnames = reader.fieldnames + ['Connection Status']
    rows = list(reader)
with open('file.tsv', 'w', newline='') as f:
    writer = csv.DictWriter(f, fieldnames=fieldnames, delimiter='\t')
    writer.writeheader()
    for row in rows:
        row['Connection Status'] = ''
        writer.writerow(row)

三层个人资料发现(优先级顺序)

始终按此顺序尝试。仅当当前层级失败时才移至下一层级。

层级1 — 直接LinkedIn URL(最快,零歧义)

直接从数据文件导航到LinkedIn个人资料URL。

  • ✅ URL加载 → 正确的个人资料,继续连接
  • ❌ 返回404 → 升级到层级2
  • 如果数据文件中此人员没有URL,则跳过层级1

层级2 — 谷歌搜索(可靠的备用方案,保持准确性)

在谷歌搜索 "创始人姓名" "品牌/公司" linkedin

  • 导航到: https://www.google.com/search?q=<姓名>+<公司>+linkedin
  • 在结果中找到LinkedIn个人资料链接(通常是第一个结果),点击它
  • 进入个人资料后,继续连接步骤
  • ⚠️ 仅当谷歌找不到正确人员或未返回LinkedIn结果时,才升级到层级3

层级3 — LinkedIn人员搜索(最后手段)

直接在LinkedIn内运行针对创始人+品牌的LinkedIn人员搜索。

  • 导航到: https://www.linkedin.com/search/results/people/?keywords=<姓名>+<公司>
  • 首先查找内联的 Connect 按钮;否则从搜索结果中打开个人资料
  • 连接前确认姓名+标题/公司匹配
  • ❌ 没有可信匹配 → 标记 Profile Not Found

有关每个层级的详细浏览器步骤,请参阅 references/browser-workflow.md

在个人资料上连接

一旦进入正确的个人资料,存在两种模式:

模式A - 直接连接按钮 在个人资料上可见 → 点击它 → 确认对话框 → Send without a note

模式B - 关注模式(没有连接按钮,只有关注+消息+更多) → 点击 More actions → 使用选择器 .artdeco-dropdown__content--is-open 获取下拉菜单 → 点击 Invite [姓名] to connect → 确认对话框 → Send without a note

如果既没有连接也没有邀请可用 → 标记 Follow Only

状态值

状态 含义
Request Sent 本次会话已发送好友请求
Already Connected 一度好友 - 无需操作
Pending 之前已发送请求
Follow Only 此个人资料上无连接选项可用
Profile Not Found 所有三个层级均失败
Skipped 有意跳过

多创始人行

当TSV行中有多个创始人时,按创始人跟踪状态,用 | 分隔:

创始人1标识: Request Sent | 创始人2标识: Already Connected

速率限制与反检测

⚠️ LinkedIn会标记直接在个人资料URL之间跳转的账户。在个人资料之间始终访问feed页面 — 没有例外。

  • 在每个个人资料之前导航到 /feed/,没有例外。有关确切调用,请参阅 references/browser-workflow.md。这是主要的反检测措施。
  • 加载feed后,在导航到下一个个人资料之前添加一个短暂的自然暂停(2–4秒)。
  • 如果>3个连续的有效URL返回404,在继续之前暂停10秒(然后回退到谷歌/LinkedIn搜索)。
  • 不要打开新的浏览器标签页 — 中继会中断;对每个操作重用相同的附加标签页。
  • 每个会话的目标不超过20–25个好友请求。如果接近此限制,请停止并告知用户。

保存进度

使用 linkedin_progress.json 辅助文件:

{ "statuses": { "https://www.linkedin.com/in/username/": "Request Sent" } }

每10个个人资料或在结束时从此字典更新TSV。

参考资料

  • references/browser-workflow.md - 所有三个层级和两种连接模式的详细浏览器步骤