xgo-organize-follows
通过 XGo (xgo.ing) 开放接口整理和分类 Twitter/X 关注用户。适用场景:(1) 查看未分类的关注用户,(2) 自动分析用户并推荐列表归属,(3) 批量将用户分类到列表,(4) 整理关注列表,减少未分类用户。触发短语:'整理关注', '分类关注', 'organize follows', '关注分类', '未分类用户', 'uncategorized', '整理我的关注', '自动分类', 'auto categorize', '关注整理', '分类到列表', 'categorize follows', '清理关注', 或任何与关注用户整理、分类、批量归档相关的表述。
分类
其他工具安装
下载并解压到你的 skills 目录
复制命令,发送给 OpenClaw 自动安装:
关注整理助手 (Follow Organizer)
通过 XGo (xgo.ing) 开放接口整理 Twitter/X 关注用户 — 发现未分类用户、AI 分析推荐列表归属、批量执行分类。多阶段交互式工作流。
完整 API 参数详情见 references/api_reference.md。
认证
所有请求需要 X-API-KEY 请求头。从环境变量 XGO_API_KEY 读取密钥:
-H "X-API-KEY: $XGO_API_KEY"若 XGO_API_KEY 未设置,提示用户配置。
接口地址:https://api.xgo.ing
工作流概览(6 个阶段)
阶段一(准备)→ 阶段二(获取未分类用户)→ 阶段三(深度分析)→ 阶段四(AI 匹配)→ 阶段五(确认)→ 阶段六(执行)重要: 这是一个交互式多阶段工作流。阶段五需要等待用户确认后才能进入阶段六。阶段六包含写操作(addMember),执行前必须获得用户明确确认。
阶段一:准备(2 个并行请求)
获取关注统计和列表信息,了解整体情况。
# 1. 关注统计
curl -s "https://api.xgo.ing/openapi/v1/following/stats" \
-H "X-API-KEY: $XGO_API_KEY"
# 2. 获取所有列表(含成员)
curl -s "https://api.xgo.ing/openapi/v1/list/all" \
-H "X-API-KEY: $XGO_API_KEY"并行执行。 输出准备报告:
## 关注整理 - 准备报告
- **总关注数**: 356
- **已分类**: 280 (78.7%)
- **未分类**: 76 (21.3%)
- **列表数**: 8
### 现有列表
| 列表名称 | 成员数 | 描述 |
|---------|--------|------|
| AI | 45 | AI 领域研究者 |
| Programming | 38 | 编程与开发 |
| 中文极客 | 32 | 中文科技博主 |
| ... | ... | ... |
准备分析未分类用户,是否继续?等待用户确认后进入阶段二。
阶段二:获取未分类用户
从 following/list 分页获取所有关注用户,客户端过滤出未分类用户。
# 分页获取关注列表(每次 100 人,遍历所有页)
curl -s "https://api.xgo.ing/openapi/v1/following/list?page=1&size=100" \
-H "X-API-KEY: $XGO_API_KEY"
# 若 totalPage > 1,继续拉取后续页
curl -s "https://api.xgo.ing/openapi/v1/following/list?page=2&size=100" \
-H "X-API-KEY: $XGO_API_KEY"
# ... 以此类推客户端过滤逻辑
list/all 响应中,收集所有列表成员的 userName 到 categorizedSetfollowing/list 返回的每个用户:- 若
userName 不在 categorizedSet 中 → 标记为未分类用户速率说明: 若关注 500 人,需 5 页请求(size=100)。并行请求或顺序请求均可,远低于速率限制。
输出未分类用户概览后,询问用户要分析多少人(默认 20 人/批)。
阶段三:深度分析(每用户 3 个并行请求)
对每个未分类用户获取详细信息,用于 AI 匹配。
# 对每个用户并行执行 3 个请求:
# 1. 用户详情(简介、标签)
curl -s "https://api.xgo.ing/openapi/v1/user/info?userName=TARGET_USER" \
-H "X-API-KEY: $XGO_API_KEY"
# 2. 最新原创推文(5条)
curl -s -X POST https://api.xgo.ing/openapi/v1/tweet/list \
-H "Content-Type: application/json" \
-H "X-API-KEY: $XGO_API_KEY" \
-d '{"queryType":"user","userName":"TARGET_USER","sortType":"recent","tweetType":"ORIGINAL","currentPage":1,"pageSize":5}'
# 3. 最热原创推文(5条)
curl -s -X POST https://api.xgo.ing/openapi/v1/tweet/list \
-H "Content-Type: application/json" \
-H "X-API-KEY: $XGO_API_KEY" \
-d '{"queryType":"user","userName":"TARGET_USER","sortType":"influence","tweetType":"ORIGINAL","currentPage":1,"pageSize":5}'速率管理
阶段四:AI 匹配
基于阶段三 user/info 返回的 description(个人简介)和 tags(系统标签),以及推文内容,与现有列表进行匹配。
匹配逻辑
对每个未分类用户:
输出建议表
## 分类建议(共 20 人)
| # | 用户 | 简介摘要 | 推荐列表 | 置信度 | 理由 |
|---|------|---------|---------|--------|------|
| 1 | @user1 | AI researcher at... | AI | 高 | 简介含 AI/ML 关键词,推文讨论 LLM |
| 2 | @user2 | Full-stack dev... | Programming | 高 | 推文以编程技术为主 |
| 3 | @user3 | Crypto trader... | - (建议新建 "Crypto") | 中 | 现有列表无匹配,内容为加密货币 |
| 4 | @user4 | Random thoughts... | 跳过 | 低 | 内容过于杂乱,无明确主题 |
| ... | ... | ... | ... | ... | ... |
### 建议新建列表
- **Crypto** — 3 位用户匹配此类别
请确认、调整或跳过上述建议。输入方式:
- "确认全部" — 按建议执行
- "跳过 4, 7" — 跳过第 4、7 位用户
- "3 改为 Programming" — 将第 3 位用户改为 Programming 列表
- "调整后确认" — 修改后执行阶段五:用户确认
必须等待用户明确确认后才能进入阶段六。 不得自动执行写操作。
用户可以:
阶段六:执行分类
根据确认后的建议,执行以下操作:
6.1 创建新列表(如有需要)
curl -s -X POST https://api.xgo.ing/openapi/v1/list/save \
-H "Content-Type: application/json" \
-H "X-API-KEY: $XGO_API_KEY" \
-d '{"name":"Crypto","description":"加密货币和 Web3 相关","privateList":false}'记录返回的 listId。
6.2 批量添加成员
对每个确认的 用户→列表 映射:
curl -s -X POST https://api.xgo.ing/openapi/v1/list/addMember \
-H "Content-Type: application/json" \
-H "X-API-KEY: $XGO_API_KEY" \
-d '{"listId":"LIST_xxx","member":{"id":"USER_ID","name":"Display Name","userName":"username"}}'member.id 为必填字段(来自阶段三 user/info 响应的 id 字段)。
执行策略
输出执行结果
## 分类执行结果
### 新建列表
- ✅ 已创建 "Crypto" (ID: LIST_xxx)
### 添加成员
- ✅ @user1 → AI
- ✅ @user2 → Programming
- ✅ @user3 → Crypto
- ⏭️ @user4 → 跳过
- ❌ @user5 → AI(失败:成员数超限)
- ... (共 N 个操作)
### 统计
- 成功:16
- 跳过:2
- 失败:2
- 未分类用户剩余:56 → 40参数调整
根据用户输入调整:
错误处理
重要: 始终先检查 response.success 再处理 response.data。部分错误返回 HTTP 200 但 success: false — 不要仅依赖 HTTP 状态码。
401: 检查 XGO_API_KEY 是否已设置且有效403: 开放接口需要 Plus 或 Pro 会员429: 频率限制 — 等待 10 秒后重试该组。若仍为 429,告知用户并暂停。阶段三分组策略可有效避免触发限制xgo-0001(用户不存在,HTTP 200): 某些关注用户可能已注销或被封禁,跳过该用户并继续xgo-0005(成员数超限,HTTP 200): 目标列表成员数已达上限。告知用户,建议创建新列表或升级会员xgo-0011(列表数超限,HTTP 200): 列表数量已达上限,无法创建新列表xgo-9005(操作不允许,HTTP 200): 可能尝试操作非自己的列表success: false 且 code 非零:读取 code 和 message,记录失败并继续处理下一个用户