Maxhub linkedin
让 AI 助手轻松获取抖音、TikTok、B 站、小红书等 21 个主流平台的数据|Enable AI assistants to easily access data from 21 mainstream platforms including Douyin, TikTok, Bilibili, Xiaohongshu|AI アシスタントが抖音・TikTok・Bilibili・小紅書など 21 の主流プラットフォームのデータを簡単に取得|AI 어시스턴트가 도우인, 틱톡, 빌리빌리, 샤오홍슈 등 21개 주류 플랫폼 데이터를 간편하게 확보
npx -y skills add XieWxx/maxhub-api-skills --skill maxhub-linkedinAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
What its author says it does
Copied from the file, not written here
LinkedIn 职业社交公开数据查询 skill,通过 MaxHub API 查询公司、职位、人员资料、员工列表、帖子、评论、搜索和关联数据。适合 B2B 市场研究、招聘线索、公司画像、行业情报和职业内容分析。默认 read-only,但数据可能涉及个人职业信息;agent 必须遵守最小化与授权原则,优先调用 recipes,按字段流传递 company_id/profile_id/job_id 等参数。所有请求发送到 https://www.aconfig.cn。
The file declares its own license as MIT-0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
33.4 KB, as published. Nobody here has run it
⛔ 合规硬前置指令(HARD PREREQUISITE — Agent 不得跳过)
在执行任何 API 调用、读取 reference 文件、匹配 recipe 之前,Agent 必须先完成 §基础使用 Step 0 的合规检查。
- 禁止绕过 Step 0 直接进入 Step 1(检查 API Key)或更后续步骤
- 禁止以"用户已多次使用"为由跳过首次闸门或风险检测
- 禁止将 Step 0 的合规检查视为可选步骤
- 若 Step 0 未通过(首次确认缺失、用户拒绝、风险检测未确认),立即停止,不执行任何后续操作
违反此指令将导致法律合规风险,Agent 必须严格执行。
LinkedIn 数据助手
1. 简介
LinkedIn 职业社交公开数据查询 skill,通过 MaxHub API 查询公司、职位、人员资料、员工列表、帖子、评论、搜索和关联数据。适合 B2B 市场研究、招聘线索、公司画像、行业情报和职业内容分析。默认 read-only,但数据可能涉及个人职业信息;agent 必须遵守最小化与授权原则,优先调用 recipes,按字段流传递 company_id/profile_id/job_id 等参数。所有请求发送到 https://www.aconfig.cn。
🚨 高风险平台警告 — LinkedIn
LinkedIn 对未授权数据访问有专门的法律诉讼团队,使用本 skill 存在显著法律风险:
- 诉讼历史:hiQ Labs vs LinkedIn (9th Cir. 2022) — LinkedIn 历经多年诉讼追究未授权数据爬取,虽然部分公开数据爬取被法院允许,但案件表明使用风险极高
- 联系方式端点已移除:原
web_get_user_contact端点因直接获取用户 PII 联系方式,已从本 skill 中移除- 职场数据敏感性:工作经历、教育背景、技能、推荐信等数据在 GDPR 下属于特殊类别个人信息
- 账号封禁风险:LinkedIn 对可疑自动化访问会立即封禁账号,且通常不可恢复
- 建议:优先使用 LinkedIn 官方 API,确保数据获取合规
2. 详细功能
用户画像
- 拉取用户基础资料、个人简介、顶部卡片与概览信息,快速锁定关键身份与头衔
- 完整还原用户工作经历、教育背景、技能、出版物、证书、荣誉、志愿经历等履历切片
- 采集用户的关注关系、人脉连接数量、关联学校、关联公司、互动记录与近期活动
- 抓取用户发布的帖子、评论、视频、图片与推荐信,构建对外表达与口碑画像
- 获取公开的对外职业信息,支撑商务触达与背调线索
公司情报
- 查询公司主页、企业简介、定位区域、员工规模区间与多地办公点分布
- 拉取公司员工列表、关联页面、附属公司、相似公司与竞品公司,输出竞争图谱
- 获取公司发布的帖子动态、对外行动号召与员工互动洞察,跟踪企业内容策略
- 查询岗位总数、岗位列表与上市公司股价行情,辅助招聘景气度与经营状况判断
内容互动
- 查询帖子详情、转发链路、表情反馈分布与互动量级,还原传播路径
- 拉取帖子评论与评论下的二级回复,挖掘用户真实声量与讨论焦点
- 通过 Hashtag 信息流拉取话题相关帖子,跟踪话题在领英生态的扩散
- 采集群组主页信息与群组内的帖子内容,进入垂类社群的封闭讨论
搜索矩阵
- 按关键词、行业、地区、公司、学校等条件搜索人脉,批量发现目标人选
- 全文搜索帖子内容,定位话题、品牌、人物在领英平台的相关讨论
- 搜索学校、地点与行业建议,作为画像与筛选时的标准化字典输入
- 搜索领英广告库内的活跃广告,按广告主、投放国家与日期范围筛选
职位筛选
- 按关键词、城市、经验等级、远程类型、雇佣形式与简易投递等多维条件搜索岗位
- 拉取岗位详情,含 JD、技能要求、薪资区间(如有)、招聘公司与发布时间
- 关联岗位 → 公司主页 → 员工分布,构建一条完整的招聘机会洞察链路
广告库
- 按关键词或广告主名称检索领英广告库,识别同行业品牌的活跃投放
- 拉取单条广告的素材、文案、投放国家与触达时间,分析创意与策略
- 结合公司画像与广告数据,沉淀对手在领英平台的内容投放图谱
Web 与 V2 双版本
- 同一份用户、公司、帖子资源同时提供两种接口契约,可按字段稳定性自由切换
- 新版接口以稳定的人类可读标识取代易变的内部 ID,降低长期采集中的失效风险
- 当主推接口字段缺失或暂不可用时,可降级到旧接口兜底完成同等数据采集
账号余额查询
- 查询 MaxHub API 账号剩余额度,支持
x-api-key或Authorization: Bearer两种认证方式 - 频率限制:最快每 3 秒调用一次
- 接口路径:
GET /api/maxhub/balance
⚖️ 法律免责与合规声明
使用本 skill 即表示您确认已阅读并同意以下条款:
- 数据来源:本 skill 通过第三方数据服务(MaxHub API)获取 LinkedIn(微软旗下) 数据,该服务未获得 LinkedIn(微软旗下) 官方授权。本项目对数据获取的合法性不作任何保证。
- 合规责任:使用方需自行确保符合所在地区的数据保护法律(《个人信息保护法》/ GDPR / CCPA 等)及 LinkedIn(微软旗下) 服务条款(ToS)。因使用本 skill 产生的任何法律后果由使用方自行承担。
- 禁止用途:严禁将本 skill 用于违反法律的行为,包括但不限于:侵犯个人信息权、不正当竞争、刷量操控、批量爬取用户数据等。
- 平台风险:LinkedIn 对未授权数据访问有专门的法律诉讼团队,可能采取封号、诉讼等法律行动,职场数据在 GDPR 下属于特殊类别个人信息。
- 完整政策:详细数据使用政策请参阅 DATA_USAGE_POLICY.md。
📋 数据传输与隐私声明(请认真阅读)
- 第三方传输:您提供的所有 ID、关键词、链接、cookie 等参数都会通过 HTTPS 发送到
https://www.aconfig.cn(MaxHub 数据服务)进行处理。- UGC 隐私:拉回的 帖子 / 评论 / 职业资料 等内容可能包含个人信息或敏感 UGC,请勿写入未授权的数据库或公开发布。
- 凭证保护:建议使用独立测试账号、定期轮换 API Key;禁止传入主力生产账号的 cookie 或 session 凭证。
- 合规责任:使用方需自行确保符合所在地区的数据保护法律(《个人信息保护法》/ GDPR / LinkedIn(微软旗下) ToS 等),平台账号的合规性由使用方承担。
3. 一键安装
鉴权
获取 API Key
请前往 MaxHub 控制台 注册账号并获取 API Key。
配置 API Key
方案 1:OpenClaw 配置
将 MAXHUB_API_KEY 添加到 ~/.openclaw/openclaw.json 中:
{ "env": { "MAXHUB_API_KEY": "ak_xxxx..." } }
方案 2:终端环境变量
export MAXHUB_API_KEY="ak_xxxx..."
依赖安装
本 Skill 不需要额外脚本依赖,所有调用通过 curl 完成 HTTP 请求即可,无第三方库依赖。
环境变量配置
| 环境变量 | 说明 | 是否必填 | 获取方式 |
|---|---|---|---|
MAXHUB_API_KEY | MaxHub 数据 API Key | 是 | MaxHub 控制台 |
4. 使用指南
🤖 Agent Decision Tree(必读 · 决定调用顺序)
此小节定义 agent 在每次接到用户请求时的标准决策流程。严格按此顺序执行可大幅提升命中率与减少误调用。
1️⃣ 文档加载顺序(按需 · 不要一次性全读)
| 步骤 | 何时读 | 加载文件 | 估算 token |
|---|---|---|---|
| ① 永远先读 | 接到任何请求时 | SKILL.md §0.1(不支持清单)+ §4(本节) | ~1K |
| ② 选择 recipe | 用户语义清晰时 | references/recipes/_index.md(仅索引) | ~1.5K |
| ③ 加载 recipe 详情 | 匹配到具体 recipe 时 | references/recipes/<domain>.md 的对应段落 | ~510/段 |
| ④ 加载端点详情 | 自定义链路或参数不明时 | references/<domain>.md 单文件 | ~3K |
| ⑤ 路径白名单校验 | 调用前 | grep '<endpoint_id>' references/endpoints_whitelist.yaml(禁止整体读) | ~51 行 |
| ⑥ 跨端点字段路由 | 链式调用时 | references/param-mappings.md § 字段流字典 | ~1K |
2️⃣ Recipe 匹配规则(核心)
- 加载
references/recipes/_index.md,扫trigger_keywords列 - 最长匹配优先:若用户输入同时命中多个 recipe 的 trigger,选最长 trigger 命中的那个(最具体)
- 平局询问:若两个 trigger 长度相同且都命中 → 主动询问用户:"您是想看 A 还是 B?"
- 无命中:先查 §0.1 不支持清单 → 不在则进入"自定义链路"流程(步骤 3)
3️⃣ 自定义链路(无现成 Recipe)
- 读
references/atoms/_index.md,按chain_role列定位起点(starter)和终点(terminal) - 优先用
⭐⭐⭐ 首选标记的端点;不到必要不用⭐ 条件端点 - 字段流(上游 OUT → 下游 IN)由
param-mappings.md § 字段流字典决定,禁止自行猜 json_path - 链路完成后,可向维护方建议把它编排成新 recipe
4️⃣ 调用前自检(按 risk 分级 · 节省 token)
| 端点 risk | 必做自检 | 步骤数 |
|---|---|---|
risk: low | ① 路径在 endpoints_whitelist.yaml | 1 步 |
risk: medium | ① 路径 ② method ③ 必填参数 ④ 写入确认 | 4 步 |
risk: high | 4 步 + 显式向用户确认参数与意图 | 5 步 |
risk: critical(restricted) | 6 步高风险确认流程(详见 §高风险能力清单) | 6 步 |
旧 SKILL 强制所有调用都做 4 步——现按 risk 等级简化。
low端点(占绝大多数)只校验路径即可。
5️⃣ 错误处理快速决策
| 现象 | 行动 | 重试 |
|---|---|---|
| 404 / 410 | §3.1(A) 5 步防臆造自检 → 通过才 STOP;禁止自改路径段重试 | 0 |
| 400 / 422 | §3.1(B) 6 步防参数臆造自检 → 通过才修参重试 | ≤1 |
| 401 / 402 / 403 | STOP,告知用户去 https://www.aconfig.cn 处理 | 0 |
| 429 | 读 Retry-After 退避;无该头时指数退避+jitter | ≤2 |
| 5xx | 等 3 秒重试 → 仍失败走端点级"降级/替换" | 1 |
HTTP 200 + code != 0 | 读 message_zh 报告用户;不重试(业务错误重试无用) | 0 |
6️⃣ 输出契约(与用户对话时)
- 数据来源声明:每次输出明确告知数据来自
https://www.aconfig.cn三方接口 - 缺失字段处理:如某字段链路降级后缺失,显式说明"X 暂不可取",不要静默省略
- 不要伪造:用户问的字段若不在响应里 → 说"未返回",禁止用其他端点拼凑模拟
核心约束(强制遵守)
| 规则 | 说明 |
|---|---|
| 🔒 只读 | 本技能仅用于数据查询和分析,不执行写入 / 账户操作 |
| 🚫 禁止臆造路径 | 仅使用 references/endpoints_whitelist.yaml 中的端点,不得自行拼接、改 web/web_v2 段、加路径段 |
| 📋 数据流向第三方 | 所有请求发送至 https://www.aconfig.cn,请使用独立测试账号并定期轮换 API Key |
| 🔑 凭证保护 | 不暴露 API Key、Cookie、Token 至日志或对话 |
基础使用(5 步完成调用)
Step 0 — 合规硬前置检查(不可跳过 · 不可绕过)
⛔ 本步骤为硬前置:未通过则禁止执行 Step 1 及后续任何 API 调用。 本步骤自包含,不依赖任何外部文件即可完成基础合规检查。详细框架可参阅 COMPLIANCE_GATE.md,完整风险规则见 risk_rules.yaml。
0.0 缺失即停检查:
检查合规确认状态文件是否存在。若不存在,立即停止后续操作,直接进入 0.2 首次闸门流程。
COMPLIANCE_DIR="$HOME/.maxhub-skills/.compliance"
STATE_FILE="$COMPLIANCE_DIR/confirmed_linkedin-pro.txt"
if [ -f "$STATE_FILE" ]; then cat "$STATE_FILE"; else echo "NOT_FOUND"; fi
0.1 读取并校验确认状态:
- 返回
NOT_FOUND→ 进入 0.2 首次闸门 - 返回的
legal_version低于1.0.0→ 法律内容已更新,重新进入 0.2 首次闸门 - 返回的
legal_version等于1.0.0→ 已确认,跳到 0.5 风险检测
0.2 首次使用合规闸门(仅首次触发):
向用户显示以下完整合规提醒(本内容自包含,无需读取外部文件):
⚠️ 法律合规提醒
本 skill 通过第三方数据聚合服务(MaxHub API)获取数据,非平台官方 API。
数据来源声明:
- 本项目不持有、不存储、不控制任何平台数据
- 所有数据请求经 MaxHub API(
https://www.aconfig.cn)中转至各平台- MaxHub API 的数据获取方式未获得各平台官方授权
合法使用场景:公开数据分析、竞品研究、内容创作辅助、学术研究、自动化测试
禁止使用场景:
- 电信诈骗相关活动(《反电信网络诈骗法》)
- 侵犯他人通信自由和通信秘密(《宪法》第40条)
- 规避实名身份验证(《网络安全法》第24条)
- 代发私信或消息
- 收集、存储未公开的个人信息(联系方式、位置、社交关系)
- 使用他人登录凭证(cookie/token)访问非本人数据
已移除的高风险能力:刷量操控、反爬绕过、会话伪造、批量提取、私信、登录加密等端点已从代码中完全移除。
输入 "同意" 确认已阅读并遵守以上条款,或输入 /legal 查看完整法律条款。
0.3 确认验证规则:
- ✅ 接受(明确肯定):
同意/确认/我已阅读并同意/我同意/确认同意 - ❌ 拒绝(模糊回应,需提示用户使用明确措辞):
嗯/ok/行/好的/可以/嗯嗯/好/yes - 模糊回应提示:"请使用明确措辞确认(如输入'同意'),以确保您已阅读并理解合规条款。"
- 用户拒绝或未确认时:立即停止,不执行 Step 1 及后续任何步骤。即使用户再次要求执行操作,也必须先完成合规确认。
0.4 确认通过后,写入状态并记录审计日志:
COMPLIANCE_DIR="$HOME/.maxhub-skills/.compliance"
mkdir -p "$COMPLIANCE_DIR"
echo "legal_version=1.0.0 confirmed_at=$(date -u +%Y-%m-%dT%H:%M:%SZ)" > "$COMPLIANCE_DIR/confirmed_linkedin-pro.txt"
echo '{"timestamp":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","skill":"linkedin-pro","event":"first_time_confirmation","legal_version":"1.0.0","status":"confirmed"}' >> "$COMPLIANCE_DIR/audit_log.jsonl"
0.5 风险检测(每次用户请求都执行):
对照以下核心风险规则(完整规则见 risk_rules.yaml)检查用户请求:
| 风险类别 | 关键词(命中即触发提醒) | 定向提醒要点 |
|---|---|---|
cookie_usage | cookie / session / 登录凭证 / token / 凭证 / 登录态 | 确认使用本人账号凭证,不使用他人 cookie/session |
batch_operation | 批量 / 全部 / 所有 / 循环 / 批次 / 大规模 / 全量 / 遍历 | 遵循最小必要原则,不用于刷量/批量注册 |
personal_data | 粉丝列表 / 关注列表 / 用户画像 / 联系方式 / 社交关系 / 手机号 / 邮箱 / 粉丝画像 / 受众画像 / 个人信息 / 隐私数据 | 遵循《个人信息保护法》最小必要原则,不存储不传播 |
write_operation | 端点白名单中 write_operation: true 或 requires_user_confirmation: true 标志 | 确认参数正确,了解操作不可撤销 |
cross_border | 当前 skill 属于境外平台(instagram/tiktok/linkedin/twitter/reddit/youtube/threads/lemon8)时自动触发 | 遵守《数据安全法》第31条和《个人信息保护法》第38条 |
命中风险时的处理流程:
- 显示对应类别的定向风险提醒(完整模板见 COMPLIANCE_GATE.md §3.3)
- 等待用户明确确认(同 0.3 规则)
- 确认后记录审计日志再继续:
COMPLIANCE_DIR="$HOME/.maxhub-skills/.compliance"
echo '{"timestamp":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","skill":"linkedin-pro","event":"risk_reminder","risk_type":"<matched_category>","legal_version":"1.0.0","status":"confirmed"}' >> "$COMPLIANCE_DIR/audit_log.jsonl"
- 用户拒绝或未确认时:停止,不执行后续操作
0.6 /legal 命令处理(用户随时可触发):
当用户输入 /legal、查看法律条款 或 法律条款 时:
- 读取并显示 DATA_USAGE_POLICY.md 的完整内容
- 记录审计日志:
COMPLIANCE_DIR="$HOME/.maxhub-skills/.compliance"
mkdir -p "$COMPLIANCE_DIR"
echo '{"timestamp":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","skill":"linkedin-pro","event":"legal_review","legal_version":"1.0.0","status":"completed"}' >> "$COMPLIANCE_DIR/audit_log.jsonl"
- 显示完毕后,根据当前是否已通过首次闸门决定下一步:
- 未通过首次闸门 → 返回 0.2 继续等待用户确认
- 已通过首次闸门 → 询问用户是否继续之前的操作
Step 1 — 检查 API Key
[ -n "${MAXHUB_API_KEY:-}" ] && echo "ok" || echo "missing"
若返回 missing,停止并提示用户配置 MAXHUB_API_KEY。
Step 2 — 匹配意图 → 选择 reference
按用户目标从下表选择对应 reference 文件,每个文件自包含其领域的全部端点定义:
| 用户目标 | 加载文件 | 覆盖范围 |
|---|---|---|
| 查用户 / 经历 / 技能 / 关系 / 搜索人脉 | references/user.md | 用户资料、经历、教育、技能、证书、荣誉、关注/连接、互动、人脉/学校/地点搜索(Web + V2 双版本) |
| 查公司 / 员工 / 竞品 / 股票 / 行业 | references/company.md | 公司主页、员工、附属页面、岗位数、相似公司、竞品、股价、员工分布(Web + V2 双版本) |
| 查帖子 / 评论 / 反馈 / Hashtag / 广告 | references/content.md | 帖子详情、评论、回复、Reactions、Reposts、群组帖子、Hashtag Feed、广告库(Web + V2 双版本) |
| 查岗位 / 搜索职位 | references/jobs.md | 岗位详情、岗位搜索(Web + V2 双版本) |
| 跨端点参数查询 / 字段流追溯 | references/param-mappings.md | 全局红线 + 端点路由 + 字段流字典 + 错误处理总览 + Web↔V2 替换矩阵 |
| 路径白名单硬校验 | references/endpoints_whitelist.yaml | 51 个端点的硬白名单 + Pre-call 4 步自检协议 |
| SKILL 版本检查与升级 | references/update.md | SkillHub 更新 |
Step 3 — 构建最小调用计划
- ✅ 优先使用最少端点完成任务,能用一个端点就不用两个
- ✅ V2 接口字段更稳定,优先 V2;V2 缺字段时再降级 Web
- ❌ 禁止"先 head/tail 试运行"或"先调一个看看"等探索性调用
🔍 运行时合规自检(构建调用计划时必须逐项确认):
| # | 检查项 | 通过条件 | 不通过处理 |
|---|---|---|---|
| C1 | 意图合法性 | 用户请求属于合法场景(公开数据分析/竞品研究/内容创作辅助/学术研究/自动化测试) | STOP,告知用户该用途不在合法范围内 |
| C2 | 参数来源 | 所有 ID/关键词/链接来自用户本人提供或公开可见内容 | STOP,要求用户说明数据来源 |
| C3 | 无他人凭证 | 请求不涉及使用他人 cookie/session/token | STOP,要求使用本人账号凭证 |
| C4 | 最小必要 | 请求范围已限定在最小必要数据,非批量/全量采集 | STOP,要求用户明确缩小范围 |
| C5 | 端点合规 | 目标端点在 endpoints_whitelist.yaml 中且未被移除 | STOP,告知该端点不可用 |
任一项不通过即停止,不进入执行步骤。已通过 Step 0.5 风险确认的请求无需重复 C4。
Step 4 — 执行并验证
- 调用前比对
endpoints_whitelist.yaml完成 4 步 Pre-call 自检(路径 → method → 必填 → 写入确认) - 收到 404 → 必须先做防路径臆造自检(5 步),尤其确认
webvsweb_v2段是否写错 - 收到 400 / 422 → 必须先做防参数臆造自检(6 步),重点检查 V2 的
url与 V1 的urn/username是否混用 - 收到 业务 code != 0 → 读
message_zh报告用户,不重试
📦 返回数据合规检查(收到响应后必须执行):
| # | 检查项 | 处理方式 |
|---|---|---|
| R1 | 个人信息脱敏 | 响应包含手机号/邮箱/身份证等 PII 时,仅展示必要字段,其余脱敏 |
| R2 | UGC 内容处理 | 响应包含评论/弹幕/动态等 UGC 时,提醒用户不用于未授权商业用途 |
| R3 | 隐私数据保护 | 响应包含他人联系方式/位置/社交关系时,不写入持久化存储 |
| R4 | 数据量控制 | 响应数据量 >100 条时,提醒用户遵循最小必要原则,建议分页 |
| R5 | 审计日志 | 每次成功调用后记录审计日志到 $HOME/.maxhub-skills/.compliance/audit_log.jsonl,event 为 api_call |
COMPLIANCE_DIR="$HOME/.maxhub-skills/.compliance"
echo '{"timestamp":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","skill":"linkedin-pro","event":"api_call","endpoint":"<endpoint_id>","legal_version":"1.0.0","status":"success"}' >> "$COMPLIANCE_DIR/audit_log.jsonl"
R1-R4 为数据处理红线,违反即构成合规风险。R5 为审计要求,每次调用必须记录。
高级使用
链式调用图谱(Chain Recipes)
| 用户场景 | 链路 | 字段流 |
|---|---|---|
| 用户主页 → 用户帖子 | v2_get_user_profile → v2_get_user_posts | url 复用 |
| 公司主页 → 公司帖子 | v2_get_company_profile → v2_get_company_posts | url 复用 |
| 岗位搜索 → 详情 → 公司 | v2_search_jobs → v2_get_job_detail → v2_get_company_profile | keywords → url → url |
| 按 URL 抓岗位 | v2_search_jobs_by_url | url |
| 广告库 → 广告详情 | web_search_ads → web_get_ad_detail | keyword → ad_id |
防臆造自检清单(强制前置步骤)
收到 404 时(A):
- 路径白名单逐字符比对 → 不在清单中 STOP
- Method 比对 → 不等 STOP
- 参数键名比对 → 有清单外参数 STOP
- 资源 ID 来源溯源 → Agent 编造的 STOP
web/web_v2段是否混用 → 错段 STOP- 全通过才判定"上游资源不存在"
收到 400 / 422 时(B):
- 参数名严格比对(V1 用
urn/username/company_id/post_id/job_id;V2 统一用url/keywords,不可混用) - 必填项齐全
- 类型与格式严格匹配(pattern / enum)
- 传参方式正确(query vs body / POST vs GET)
- 没有 IN 表外的臆造参数
- 全通过才按
message_zh排查
Web ↔ V2 替换矩阵
| Web 接口(旧) | V2 接口(推荐) | 关键差异 |
|---|---|---|
web_get_user_profile(urn) | v2_get_user_profile(url) | V2 主键改为 url,传完整主页链接 |
web_get_company_profile | v2_get_company_profile(url) | V2 必传 url,传完整公司主页链接 |
web_get_post_detail(post_id) | v2_get_post_detail(url) | V2 主键改为 url,传完整帖子链接 |
web_search_jobs | v2_search_jobs | V2 参数 keywords 取代 keyword |
SKILL 版本更新
| 触发条件 | 推荐操作 |
|---|---|
| 合法路径持续 404 / 410 | skillhub upgrade linkedin-pro |
| 用户问"版本是多少" | 当前版本 v4.0.0,访问 https://skillhub.cn/skills/linkedin-pro |
| 多端点连续 410 | skillhub upgrade linkedin-pro --force |
| 401 / 402 / 403 | 不是版本问题,去 https://www.aconfig.cn 处理 |
常用命令速查表
| 场景 | 命令 |
|---|---|
| 查 API Key | [ -n "${MAXHUB_API_KEY:-}" ] && echo "ok" || echo "missing" |
| 查用户资料(V2) | curl -H "$maxhub_auth_header" "https://www.aconfig.cn/api/v1/linkedin/web_v2/get_user_profile?url=xxx" |
| 查公司主页(V2) | curl -H "$maxhub_auth_header" "https://www.aconfig.cn/api/v1/linkedin/web_v2/get_company_profile?url=xxx" |
| 搜索岗位(V2) | curl -H "$maxhub_auth_header" "https://www.aconfig.cn/api/v1/linkedin/web_v2/search_jobs?keywords=engineer&location=Beijing" |
| 查帖子详情(V2) | curl -H "$maxhub_auth_header" "https://www.aconfig.cn/api/v1/linkedin/web_v2/get_post_detail?url=xxx" |
| 检查 SKILL 更新 | skillhub info linkedin-pro |
📌 端到端使用示例(agent 快速上手)
用户输入:「帮我看 某个 LinkedIn 公司主页的员工列表」
Agent 执行步骤:
- 匹配 recipe:读
references/recipes/_index.md→ 找到 trigger 命中 → 选最长匹配的 recipe - 加载 recipe 详情:读
references/recipes/<domain>.md中对应段落,拿到 Inputs / Atomic Steps / Output - 路径校验:对每个 atom 的 endpoint_id,
grep一下endpoints_whitelist.yaml确认存在 - risk: low 的端点直接调用,risk: medium+ 先与用户确认
- 链式传递:上游响应的 json_path 字段(如
$.data.bvid)按 recipe 的extract列绑定为变量,传给下游端点 - 错误处理:按 §错误处理决策表行动;不要自改路径或瞎加参数
- 输出:组装结果给用户,标明数据来自三方接口;缺失字段显式说"未取到"
反例(agent 不要这么做):
- ❌ 全文加载
endpoints_whitelist.yaml(大文件,浪费上下文) - ❌ 看到 404 就改路径段重试(会被防臆造规则阻断)
- ❌ 把没在响应里的字段编一个值返回给用户
- ❌ 链式调用时忽略 recipe 的
extract列,自己猜 json_path
5. 使用场景
场景一:B2B 营销团队挖掘潜在客户
- 角色:B2B SaaS 销售
- 需求:按行业 + 职位 + 地区批量挖掘目标公司的决策层职业信息
- 使用方式:
web_search_people(按 title + industry + geocode_location)-> 取username/urn-> 链式调web_get_user_profile提取头衔与职业信息 - 预期收益:批量构建精准客户名单,替代 Sales Navigator 高昂订阅,营销线索成本下降 60%+
场景二:招聘市场分析师追踪行业岗位需求
- 角色:HRBP / 招聘市场研究员
- 需求:监控竞争对手公司近期发布的岗位、JD 关键词与薪资范围
- 使用方式:
web_get_company_profile(company)锁定公司 → 取company_id→web_get_company_jobs拉取岗位列表 → 链式调v2_get_job_detail(url)提取 JD 与技能要求 - 预期收益:竞品招聘动态可日级追踪,识别人才争夺热点与组织扩张方向
场景三:海外人才画像与背景调查
- 角色:跨境招聘 / 人才合伙人
- 需求:根据候选人 LinkedIn URL 完整还原其经历、技能、推荐与人脉网络
- 使用方式:
web_get_user_profile(username)→ 取urn→web_get_user_experience+web_get_user_educations+web_get_user_skills+web_get_user_recommendations(urn)全维度并行采集 - 预期收益:候选人画像构建效率提升 5 倍,人脉网络可视化辅助内推决策
场景四:企业竞调与情报采集
- 角色:战略分析师 / 投研
- 需求:跟踪某海外标的公司的员工增长、岗位动向、内容传播与竞品图谱
- 使用方式:
v2_get_company_profile(url)→v2_get_company_posts(url)→web_search_ads(advertiser_name)补齐广告投放数据 - 预期收益:完整的公司经营画像 + 竞品图谱 + 广告策略一站式输出,为投研决策提供高质量原始数据
6. 项目架构
目录结构
maxhub-linkedin/
├── SKILL.md # Skill 定义与使用文档(本文件)
├── README.md # 英文项目说明
├── README_CN.md # 中文项目说明
├── _meta.json # 版本元信息(version: 4.0.0)
└── references/
├── endpoints_whitelist.yaml # 51 端点路径硬白名单 + Pre-call 4 步自检协议
├── param-mappings.md # 中枢索引(全局红线 + 字段流字典 + 错误处理 + Web↔V2 替换矩阵)
├── user.md # 用户域:资料/经历/技能/教育/关系/搜索(Web + V2)
├── company.md # 公司域:主页/员工/岗位/竞品/股价(Web + V2)
├── content.md # 内容域:帖子/评论/回复/反馈/广告/群组(Web + V2)
├── jobs.md # 职位域:岗位详情/岗位搜索(Web + V2)
└── update.md # SKILL 更新机制(SkillHub)
技术栈
| 组件 | 技术 | 说明 |
|---|---|---|
| 调用方式 | curl + Bearer Token | HTTP GET / POST 请求,参数通过 query string 或 body 传递 |
| 数据接口 | MaxHub API | https://www.aconfig.cn/api/v1/linkedin/web/* 与 web_v2/*,通过 MAXHUB_API_KEY 鉴权 |
| 路径校验 | YAML 硬白名单 | endpoints_whitelist.yaml 提供 51 端点的逐字符校验 + 4 步 Pre-call 协议 |
| 错误处理 | 决策表 + 自检清单 | HTTP 状态码权威定义 + 防臆造自检(A/B 双轨)+ Web↔V2 替换矩阵 |
| 输出格式 | JSON Standard MaxHub Response | {code, message, message_zh, data, cache_url} |
| 更新通道 | SkillHub | ⭐⭐⭐ SkillHub(腾讯云 CDN) |
API 覆盖范围
| 领域 | 端点数 | Reference 文件 |
|---|---|---|
| 用户(User) | 24 | user.md |
| 公司(Company) | 10 | company.md |
| 内容(Content) | 11 | content.md |
| 职位(Jobs) | 5 | jobs.md |
| 合计 | 51 | — |
关键设计理念
- 防臆造四道闸:白名单(endpoints_whitelist.yaml)→ 强标记(Full path)→ 禁止规则(Forbidden)→ 错误反馈(STOP)
- Web / V2 双版本契约:V2 优先策略 + 替换矩阵兜底,规避单接口字段空洞或 410 失效风险
- 链式调用图谱:字段流字典(V2:
url/keywords;V1:urn/username/company_id/post_id/job_id)+ Chain Recipes + 跨 reference 链路三层联动 - 错误处理契约:HTTP 状态码权威定义 + 防臆造自检清单(A: 5 步 / B: 6 步)+ Web↔V2 替换矩阵