AgentSkillsCN

MyXAssistant

与 MyXAssistant 服务交互,同步 X 的点赞数、搜索已赞帖子、获取统计数据,以及发布帖子。适用于用户希望同步点赞、获取新点赞、搜索已赞帖子、查询 X 数据、查看点赞统计,或向 X 发布内容时使用。

SKILL.md
--- frontmatter
name: MyXAssistant
description: Interact with the MyXAssistant service to sync X likes, search liked posts, get stats, and publish posts. Use when the user asks to sync likes, fetch new likes, search liked posts, query X data, check like stats, or post to X.

MyXAssistant Service

MyXAssistant 是一个独立的 HTTP 服务,管理用户的 Twitter/X 点赞数据和发推。 所有操作通过 HTTP API 完成,不要直接访问数据库或运行脚本。

服务地址: http://127.0.0.1:5001

API 参考

1. 健康检查

code
GET /api/health

返回服务状态、数据库推文总数、是否正在同步。用于确认服务是否在线。

1.1 认证状态

code
GET /auth/status

返回 OAuth 1.0a 和 OAuth 2.0 的配置状态。

1.2 OAuth 2.0 授权

引导用户浏览器访问以下地址开始授权:

code
GET /auth/login

授权完成后 X 会重定向到 /callback,自动交换并保存 tokens。


2. 同步 likes 数据

通知服务从 Twitter API 拉取最新的点赞数据(服务自行下载,异步执行)。

触发同步:

code
POST /api/sync
Content-Type: application/json

{}

默认增量同步(仅最新 100 条,2 次 API 调用)。完整同步传 {"full": true},但 Twitter API 是收费的,仅在用户明确要求时使用

查询同步状态:

code
GET /api/sync/status

返回 running(是否进行中)、progress(进度消息)、last_result(上次结果)。

同步历史:

code
GET /api/sync/log

3. 查询推文

列表/搜索/筛选:

code
GET /api/tweets?q=关键词&category=1&author=ericosiu&sort=favorite_count&order=desc&page=1&per_page=20
参数说明默认值
q全文搜索关键词-
category分类ID(可多次传)-
author作者 screen_name-
sortcreated_at / favorite_count / retweet_countcreated_at
orderasc / descdesc
page页码1
per_page每页数量(最大100)20

按 ID 查询单条:

code
GET /api/tweets/{tweet_id}

4. 统计数据

code
GET /api/stats

返回:总数、作者数、分类列表及数量、时间范围、热门作者 Top 20。


5. 发布推文

code
POST /api/publish
Content-Type: application/json

{"text": "要发布的推文内容"}

限制 280 字符。返回 Twitter API 的响应。


使用示例

同步最新数据:

bash
curl -X POST http://127.0.0.1:5001/api/sync

等待完成并检查结果:

bash
curl http://127.0.0.1:5001/api/sync/status

搜索 AI 相关推文:

bash
curl "http://127.0.0.1:5001/api/tweets?q=AI&sort=favorite_count&per_page=5"

查看某个作者的所有点赞:

bash
curl "http://127.0.0.1:5001/api/tweets?author=kwindla"

发一条推文:

bash
curl -X POST http://127.0.0.1:5001/api/publish \
  -H "Content-Type: application/json" \
  -d '{"text": "Hello from MyXAssistant!"}'