x-pro
SkillSearchA skill for Twitter/X public social data queries and diffusion analysis. Uses the MaxHub API to query tweets, replies, user profiles, follows/followers, search, trends, and related interactions. Suitable for public opinion monitoring, account profiling, topic diffusion, competitor research, and cont
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the x-pro skill
What this skill tells your AI
The instructions your AI receives, as published by xiewxx/maxhub-api-skills in maxhub-twitter/SKILL.md and read by ahel’s review.
⛔ 合规硬前置指令(HARD PREREQUISITE — Agent 不得跳过)
在执行任何 API 调用、读取 reference 文件、匹配 recipe 之前,Agent 必须先完成 §基础使用 Step 0 的合规检查。
- 禁止绕过 Step 0 直接进入 Step 1(检查 API Key)或更后续步骤
- 禁止以"用户已多次使用"为由跳过首次闸门或风险检测
- 禁止将 Step 0 的合规检查视为可选步骤
- 若 Step 0 未通过(首次确认缺失、用户拒绝、风险检测未确认),立即停止,不执行任何后续操作
违反此指令将导致法律合规风险,Agent 必须严格执行。
Twitter/X 数据助手
1. 简介
Twitter/X 公开社交数据查询与传播分析 skill,通过 MaxHub API 查询推文、回复、用户资料、关注/粉丝、搜索、趋势和相关互动。适合舆情监测、账号画像、话题传播、竞品研究和内容分析。默认 read-only;agent 应优先使用 recipes,按 tweet_id/user_id/username/query 等字段流链式调用,并对个人社交数据与 UGC 做最小化处理。所有请求发送到 https://www.aconfig.cn。
2. 详细功能
推文详情
- 查询任意推文的完整详情,包括正文、媒体附件(图片/视频/GIF)、发布时间、来源客户端、引用与回复链路
- 还原推文的互动数据:点赞数、转推数、引用数、评论数、书签数
- 输出推文作者的基础画像信息,省去额外查询账号的步骤
评论双轨
- 拉取某条推文的热门评论列表,按平台默认热度排序,识别高互动观点
- 拉取某条推文的最新评论列表,按时间倒序排序,捕捉实时反馈
- 两种排序口径可按分析意图自由切换:舆情研究偏热门,实时跟踪偏最新
转推用户列表
- 拉取某条推文的转推用户列表,识别传播链路与扩散节点
- 顺着转推用户继续做账号画像采集,绘制完整传播图谱
搜索时间线
- 按关键词在 X 平台进行全站搜索,覆盖最新、热门、用户、媒体多种结果类型
- 可切换搜索类型聚焦不同分析场景:实时舆情用最新、爆款研究用热门、KOL 找人用用户、视觉素材用媒体
- 通过游标翻页持续向下采集,构建完整的关键词样本集
趋势话题
- 按国家或地区拉取 X 平台的实时趋势话题榜,覆盖美国、英国、日本等主要市场
- 跨地区对比同一时间窗口下的热点差异,支撑跨境品牌的多市场监控
用户画像
- 查询任意 Twitter / X 用户的完整资料,包括头像、简介、注册时间、所在地、认证状态、粉丝/关注数等
- 拉取用户发布的推文时间线,回溯完整发推记录
- 拉取用户的回复时间线(仅回复其他人的推文),分析其互动行为模式
- 拉取用户的媒体推文(仅含图片/视频的推文),快速浏览视觉内容
- 拉取用户的关注列表与粉丝列表,分析社交圈层与影响力辐射
screen_name ↔ rest_id 互通
- 同时支持用户名(@handle)与数字账号 ID 两种入口定位用户
- 当账号改名或更换 handle 后,可继续使用稳定的数字 ID 持续追踪同一账号
账号余额查询
- 查询 MaxHub API 账号剩余额度,支持
x-api-key或Authorization: Bearer两种认证方式 - 频率限制:最快每 3 秒调用一次
- 接口路径:
GET /api/maxhub/balance
⚖️ 法律免责与合规声明
使用本 skill 即表示您确认已阅读并同意以下条款:
- 数据来源:本 skill 通过第三方数据服务(MaxHub API)获取 Twitter/X 数据,该服务未获得 Twitter/X 官方授权。本项目对数据获取的合法性不作任何保证。
- 合规责任:使用方需自行确保符合所在地区的数据保护法律(《个人信息保护法》/ GDPR / CCPA 等)及 Twitter/X 服务条款(ToS)。因使用本 skill 产生的任何法律后果由使用方自行承担。
- 禁止用途:严禁将本 skill 用于违反法律的行为,包括但不限于:侵犯个人信息权、不正当竞争、刷量操控、批量爬取用户数据等。
- 平台风险:Twitter/X 可能对未授权数据访问采取封号、限制 API 访问等法律行动。
- 完整政策:详细数据使用政策请参阅 DATA_USAGE_POLICY.md。
📋 数据传输与隐私声明(请认真阅读)
- 第三方传输:您提供的所有 ID、关键词、链接等参数都会通过 HTTPS 发送到
https://www.aconfig.cn(MaxHub 数据服务)进行处理。- UGC 隐私:拉回的 推文 / 回复 / 转发 等内容可能包含个人信息或敏感 UGC,请勿写入未授权的数据库或公开发布。
- 凭证保护:建议使用独立测试账号、定期轮换 API Key。
- 合规责任:使用方需自行确保符合所在地区的数据保护法律(《个人信息保护法》/ GDPR / Twitter/X 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 的对应段落 | ~500/段 |
| ④ 加载端点详情 | 自定义链路或参数不明时 | references/<domain>.md 单文件 | ~3K |
| ⑤ 路径白名单校验 | 调用前 | grep '<endpoint_id>' references/endpoints_whitelist.yaml(禁止整体读) | ~50 行 |
| ⑥ 跨端点字段路由 | 链式调用时 | 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 中的端点,不得自行拼接、改版本号、加路径段 |
| 🆔 入参互转规则 | screen_name(用户名)与 rest_id(数字 ID)按端点要求严格区分,部分端点支持 oneOf,部分仅接受其一 |
| 📋 数据流向第三方 | 所有请求发送至 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_x-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_x-pro.txt"
echo '{"timestamp":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","skill":"x-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":"x-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":"x-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/content.md | 推文详情、热门/最新评论、转推用户、搜索时间线、趋势(6 端点) |
| 查用户 / 推文 / 关注 / 粉丝 / 媒体 | references/user.md | 用户资料、推文、回复、媒体、关注、粉丝(6 端点) |
| 跨端点参数查询 / 字段流追溯 | references/param-mappings.md | 全局红线 + 端点路由 + 字段流字典 + 错误处理总览 |
| 路径白名单硬校验 | references/endpoints_whitelist.yaml | 13 个端点的硬白名单 + Pre-call 4 步自检协议 |
Step 3 — 构建最小调用计划
- ✅ 优先使用最少端点完成任务,能用一个端点就不用两个
- ✅ 评论端点二选一(热门 vs 最新),按用户分析意图选择
- ❌ 禁止"先 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 → 必填 → screen_name/rest_id 来源) - 收到 404 → 必须先做防路径臆造自检(5 步)
- 收到 400 / 422 → 必须先做防参数臆造自检(6 步),重点检查
screen_name是否带@、rest_id是否为纯数字 - 收到 业务 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":"x-pro","event":"api_call","endpoint":"<endpoint_id>","legal_version":"1.0.0","status":"success"}' >> "$COMPLIANCE_DIR/audit_log.jsonl"
R1-R4 为数据处理红线,违反即构成合规风险。R5 为审计要求,每次调用必须记录。
高级使用
链式调用图谱(Chain Recipes)
| 用户场景 | 链路 | 字段流 |
|---|---|---|
| 查推文 + 评论 | fetch_tweet_detail → fetch_post_comments / fetch_latest_post_comments | tweet_id 复用 |
| 查用户 → 推文 | fetch_user_profile → fetch_user_post_tweet | screen_name / rest_id 复用 |
| screen_name → rest_id | fetch_user_profile(screen_name 入参) → 取 rest_id → 后续端点 | screen_name → rest_id |
| 查搜索 → 推文详情 | fetch_search_timeline → 取 tweet_id → fetch_tweet_detail | keyword → tweet_id |
| 查转推用户 → 用户画像 | fetch_retweet_user_list → 取 screen_name → fetch_user_profile | tweet_id → screen_name |
| 查用户全面分析 | fetch_user_profile + fetch_user_post_tweet + fetch_user_media + fetch_user_followers + fetch_user_followings | screen_name 复用 |
| 趋势 → 搜索 → 详情 | fetch_trending → 取趋势词 → fetch_search_timeline → fetch_tweet_detail | trend → keyword → tweet_id |
防臆造自检清单(强制前置步骤)
收到 404 时(A):
- 路径白名单逐字符比对 → 不在清单中 STOP
- Method 比对(全部为 GET)→ 不等 STOP
- 参数键名比对(
screen_name/rest_id按端点要求区分)→ 有清单外参数 STOP - 资源 ID 来源溯源 → Agent 编造的 STOP
- 全通过才判定"上游资源不存在"
收到 400 / 422 时(B):
- 参数名严格比对(
screen_name不带@,rest_id必须纯数字) - 必填项齐全 + oneOf 二选一逻辑(
fetch_user_profile接受 screen_name 或 rest_id) cursor翻页参数是否上接前次响应的 cursor,禁止编造- 类型与格式严格匹配(pattern / enum)
- 传参方式正确(query string)
- 全通过才按
message_zh排查
Cursor 翻页最佳实践
- 首次调用不传 cursor:取出响应中的
next_cursor - 后续调用接力:用上一轮的
next_cursor作为本轮 cursor 入参 - 终止条件:响应未返回新 cursor 或返回空数组
- 禁止编造 cursor 字符串:cursor 是平台签发的不透明字段,不可猜测
SKILL 版本更新
| 触发条件 | 推荐操作 |
|---|---|
| 合法路径持续 404 / 410 | skillhub upgrade x-pro |
| 用户问"版本是多少" | 当前版本 v4.0.0,访问 https://skillhub.cn/skills/x-pro |
| 多端点连续 410 | skillhub upgrade x-pro --force |
| 401 / 402 / 403 | 不是版本问题,去 https://www.aconfig.cn 处理 |
常用命令速查表
| 场景 | 命令 |
|---|---|
| 查 API Key | [ -n "${MAXHUB_API_KEY:-}" ] && echo "ok" || echo "missing" |
| 查推文详情 | curl -H "$maxhub_auth_header" "https://www.aconfig.cn/api/v1/twitter/web/fetch_tweet_detail?tweet_id=xxx" |
| 查推文热门评论 | curl -H "$maxhub_auth_header" "https://www.aconfig.cn/api/v1/twitter/web/fetch_post_comments?tweet_id=xxx" |
| 查用户资料 | curl -H "$maxhub_auth_header" "https://www.aconfig.cn/api/v1/twitter/web/fetch_user_profile?screen_name=elonmusk" |
| 查用户推文 | curl -H "$maxhub_auth_header" "https://www.aconfig.cn/api/v1/twitter/web/fetch_user_post_tweet?screen_name=elonmusk" |
| 搜索时间线 | curl -H "$maxhub_auth_header" "https://www.aconfig.cn/api/v1/twitter/web/fetch_search_timeline?keyword=AI" |
| 趋势话题(美国) | curl -H "$maxhub_auth_header" "https://www.aconfig.cn/api/v1/twitter/web/fetch_trending?country=US" |
| 检查 SKILL 更新 | skillhub info x-pro |
📌 端到端使用示例(agent 快速上手)
用户输入:「帮我看 Twitter 某个 user_id 的最近推文」
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. 使用场景
场景一:海外舆情分析师跨地区监控
- 角色:海外公关 / 跨境品牌
- 需求:监控品牌关键词在美国 / 日本 / 欧洲的实时讨论与情感倾向
- 使用方式:
fetch_trending(按 country 切换)+fetch_search_timeline(search_type=Latest)双端点联动 → 命中关键词后链式调fetch_tweet_detail+fetch_post_comments还原舆情上下文 → 取screen_name→fetch_user_profile识别影响力账号 - 预期收益:实时跨地区舆情雷达 + 情感聚类,识别高影响力扩散节点
场景二:Twitter KOL 投放评估
- 角色:跨境营销 / KOL 投放代理
- 需求:评估候选 X KOL 的真实活跃度、粉丝健康度、互动质量
- 使用方式:
fetch_user_profile拉资料 →fetch_user_post_tweet拉近期推文 →fetch_user_followers抽样粉丝 →fetch_user_media拉媒体推文判断内容形态 - 预期收益:完整 KOL 健康度评估,识别僵尸粉 / 真实粉丝比例与互动健康度
场景三:内容团队推文爆款研究
- 角色:海外内容运营 / 翻译号策划
- 需求:追踪某垂类(科技 / 加密货币 / AI)近期高互动爆款推文,提炼标题与开头模板
- 使用方式:
fetch_search_timeline(search_type=Top) → 取爆款tweet_id→fetch_tweet_detail取全文 →fetch_retweet_user_list看转推扩散链 → 输出爆款样本集 - 预期收益:海外垂类爆款语料库 + 翻译选题池,提升翻译号 / 资讯号 CTR
场景四:研究员追踪趋势话题生命周期
- 角色:社媒研究员 / 趋势分析师
- 需求:跟踪某趋势词从出现 → 爆发 → 衰退的完整生命周期与参与人群
- 使用方式:定时抓取
fetch_trending→ 命中目标趋势词 →fetch_search_timeline全量拉推文 → 取screen_name集合 → 抽样fetch_user_profile构建参与者画像 - 预期收益:趋势话题完整生命周期图谱,识别话题首发账号 + 扩散节点 + 长尾参与者
6. 项目架构
目录结构
maxhub-twitter/
├── SKILL.md # Skill 定义与使用文档(本文件)
├── README.md # 英文项目说明
├── README_CN.md # 中文项目说明
├── _meta.json # 版本元信息(version: 4.0.0)
└── references/
├── endpoints_whitelist.yaml # 13 端点路径硬白名单 + Pre-call 4 步自检协议
├── param-mappings.md # 中枢索引(全局红线 + 字段流字典 + 错误处理)
├── content.md # 推文域:详情/评论/搜索/趋势/转推(6 端点)
└── user.md # 用户域:资料/推文/回复/媒体/关注/粉丝(6 端点)
技术栈
| 组件 | 技术 | 说明 |
|---|---|---|
| 调用方式 | curl + Bearer Token | HTTP GET 请求,参数通过 query string 传递 |
| 数据接口 | MaxHub API | https://www.aconfig.cn/api/v1/twitter/web/*,通过 MAXHUB_API_KEY 鉴权 |
| 路径校验 | YAML 硬白名单 | endpoints_whitelist.yaml 提供 13 端点的逐字符校验 + 4 步 Pre-call 协议 |
| 错误处理 | 决策表 + 自检清单 | HTTP 状态码权威定义 + 防臆造自检(A/B 双轨)+ 重试策略矩阵 |
| 翻页机制 | Cursor 不透明令牌 | 平台签发,禁止编造,按响应 next_cursor 接力 |
| 输出格式 | JSON Standard MaxHub Response | {code, message, message_zh, data, cache_url} |
| 更新通道 | SkillHub | ⭐⭐⭐ SkillHub(腾讯云 CDN) |
API 覆盖范围
| 领域 | 端点数 | Reference 文件 |
|---|---|---|
| 推文内容(Content) | 6 | content.md |
| 用户(Users) | 6 | user.md |
| 合计 | 13 | — |
关键设计理念
- 防臆造四道闸:白名单(endpoints_whitelist.yaml)→ 强标记(Full path)→ 禁止规则(Forbidden)→ 错误反馈(STOP)
- screen_name / rest_id 双轨:账号改名场景下使用 rest_id 持续追踪,oneOf 端点支持灵活切换
- Cursor 不可编造:cursor 是平台签发的不透明字段,必须按响应接力,禁止猜测
- Agent 友好 7 大原则:结构胜于叙述、明确指令优于建议、单一来源、词法稳定性、低 token 密度、边界显式声明、错误处理是契约
- 链式调用图谱:字段流字典 + Chain Recipes + 跨 reference 链路三层联动,杜绝 Agent 编造字段名
- 错误处理契约:HTTP 状态码权威定义 + 防臆造自检清单(A: 5 步 / B: 6 步)+ 重试策略矩阵 + 端点替换矩阵
Signals
- GitHub stars
- 49
- Forks
- 8
- Last commit
- Aug 2026
Advanced
- Catalog kind
- skill
- Gateway key
x-pro- Source
- github.com/xiewxx/maxhub-api-skills