讲师中心 微信公众号

工具推荐

视频效率加速
updream

一键生成高质量推广成片

剧云
剧云

中文短剧剧本制作平台

AniShort
AniShort

AI短剧协同制作平台

Laper
Laper

剧本策划到成片协作

Macrocosmos

Polar Sponsor
爱发电 赞助
.NET 9.0

通过 Macrocosmos SN13 API,按关键词、用户名、日期范围及过滤器获取 X(Twitter)和 Reddit 的实时社交媒体数据,并提供互动指标。

Macrocosmos SN13 API - Social Media Data Skill.

功能概述

Macrocosmos SN13 API - Social Media Data Skill.是一项面向实际任务的技能,主要用于Fetch 实时社交媒体数据来自X(Twitter)和Reddit,通过关键词,用户名,日期范围,以及带有参与度量的过滤器通过Macrocos。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

核心要点

  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
  • 实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

使用与执行

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;

结果检查与注意事项

涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

Macrocosmos SN13 API — 社交媒体数据技能

通过 Macrocosmos SN13 API(运行于 Bittensor 网络)按关键词、用户名、日期范围及多种筛选条件,实时获取 X(Twitter)和 Reddit 的社交媒体数据,并附带互动指标(engagement metrics)。

元数据

  • name: macrocosmos-social-data
  • version: 1.0.1
  • homepage: https://github.com/macrocosm-os/macrocosmos-mcp
  • source: https://github.com/macrocosm-os/macrocosmos-mcp
  • pypi: https://pypi.org/project/macrocosmos-mcp
  • subnet: Bittensor SN13(Data Universe)
  • author: Macrocosmos AI
  • license: MIT

必需的环境变量

变量 是否必需 类型 说明
MC_API 是 secret Macrocosmos API 密钥。所有 API 请求均需提供。可免费获取:https://app.macrocosmos.ai/account?tab=api-keys

配置说明:必须将 MC_API 设置为环境变量。该密钥在 REST 调用中作为 Bearer Token 放入 Authorization 请求头;或直接传入 Python SDK 客户端。

API 终端地址(Endpoint)

POST https://constellation.api.cloud.macrocosmos.ai/sn13.v1.Sn13Service/OnDemandData

请求头(Headers)

Content-Type: application/json
Authorization: Bearer 

请求格式

{
  "source": "X",
  "usernames": ["@elonmusk"],
  "keywords": ["AI", "bittensor"],
  "start_date": "2026-01-01",
  "end_date": "2026-02-10",
  "limit": 10,
  "keyword_mode": "any"
}

参数说明

参数 类型 是否必需 说明
source string 是 "X" 或 "REDDIT"(区分大小写)
usernames array 否 最多支持 5 个用户名。@ 符号为可选。仅适用于 X(Reddit 不支持)
keywords array 否 最多支持 5 个关键词或话题标签(hashtag)。Reddit 场景下请使用子版块格式:"r/subreddit"
start_date string 否 YYYY-MM-DD 格式或 ISO 时间格式。默认值为 24 小时前
end_date string 否 YYYY-MM-DD 格式或 ISO 时间格式。默认值为当前时间
limit int 否 返回结果数量:1–1000。默认值为 10
keyword_mode string 否 "any"(默认)表示匹配任意一个关键词;"all" 表示必须同时匹配全部关键词

响应格式

{
  "data": [
    {
      "datetime": "2026-02-10T17:30:58Z",
      "source": "x",
      "text": "Tweet content here",
      "uri": "https://x.com/username/status/123456",
      "user": {
        "username": "example_user",
        "display_name": "Example User",
        "followers_count": 1500,
        "following_count": 300,
        "user_description": "Bio text",
        "user_blue_verified": true,
        "profile_image_url": "https://pbs.twimg.com/..."
      },
      "tweet": {
        "id": "123456",
        "like_count": 42,
        "retweet_count": 10,
        "reply_count": 5,
        "quote_count": 2,
        "view_count": 5000,
        "bookmark_count": 3,
        "hashtags": ["#AI", "#bittensor"],
        "language": "en",
        "is_reply": false,
        "is_quote": false,
        "conversation_id": "123456"
      }
    }
  ]
}

curl 示例

1. 在 X 上按关键词搜索

curl -s -X POST https://constellation.api.cloud.macrocosmos.ai/sn13.v1.Sn13Service/OnDemandData 
  -H "Content-Type: application/json" 
  -H "Authorization: Bearer YOUR_API_KEY" 
  -d '{
    "source": "X",
    "keywords": ["bittensor"],
    "start_date": "2026-01-01",
    "limit": 10
  }'

2. 获取特定用户的推文

curl -s -X POST https://constellation.api.cloud.macrocosmos.ai/sn13.v1.Sn13Service/OnDemandData 
  -H "Content-Type: application/json" 
  -H "Authorization: Bearer YOUR_API_KEY" 
  -d '{
    "source": "X",
    "usernames": ["@MacrocosmosAI"],
    "start_date": "2026-01-01",
    "limit": 10
  }'

3. 多关键词 AND 搜索(逻辑与)

curl -s -X POST https://constellation.api.cloud.macrocosmos.ai/sn13.v1.Sn13Service/OnDemandData 
  -H "Content-Type: application/json" 
  -H "Authorization: Bearer YOUR_API_KEY" 
  -d '{
    "source": "X",
    "keywords": ["chutes", "bittensor"],
    "keyword_mode": "all",
    "start_date": "2026-01-01",
    "limit": 20
  }'

4. Reddit 搜索

curl -s -X POST https://constellation.api.cloud.macrocosmos.ai/sn13.v1.Sn13Service/OnDemandData 
  -H "Content-Type: application/json" 
  -H "Authorization: Bearer YOUR_API_KEY" 
  -d '{
    "source": "REDDIT",
    "keywords": ["r/MachineLearning", "transformers"],
    "start_date": "2026-02-01",
    "limit": 50
  }'

5. 用户 + 关键词联合过滤

curl -s -X POST https://constellation.api.cloud.macrocosmos.ai/sn13.v1.Sn13Service/OnDemandData 
  -H "Content-Type: application/json" 
  -H "Authorization: Bearer YOUR_API_KEY" 
  -d '{
    "source": "X",
    "usernames": ["@opentensor"],
    "keywords": ["subnet"],
    "start_date": "2026-01-01",
    "limit": 20
  }'

Python 示例

使用 macrocosmos SDK

import asyncio
import macrocosmos as mc

async def search_tweets():
    client = mc.AsyncSn13Client(api_key="YOUR_API_KEY")

    response = await client.sn13.OnDemandData(
        source="X",
        keywords=["bittensor"],
        usernames=[],
        start_date="2026-01-01",
        end_date=None,
        limit=10,
        keyword_mode="any",
    )

    if hasattr(response, "model_dump"):
        data = response.model_dump()

    for tweet in data["data"]:
        print(f"@{tweet['user']['username']}: {tweet['text'][:100]}")
        print(f"  Likes: {tweet['tweet']['like_count']} | Views: {tweet['tweet']['view_count']}")

asyncio.run(search_tweets())

使用 requests(REST 方式)

import requests

url = "https://constellation.api.cloud.macrocosmos.ai/sn13.v1.Sn13Service/OnDemandData"
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer YOUR_API_KEY"
}
payload = {
    "source": "X",
    "keywords": ["bittensor"],
    "start_date": "2026-01-01",
    "limit": 10
}

response = requests.post(url, json=payload, headers=headers)
data = response.json()

for tweet in data["data"]:
    print(f"@{tweet['user']['username']}: {tweet['text'][:100]}")

提示与已知行为

稳定可靠的功能

  • 高热度关键词搜索:如 “bittensor”、“AI”、“iran”、“lfg” 等热门词,响应迅速
  • 较宽泛的日期范围:将 start_date 设得更早(例如数周或数月前),可显著提升结果召回率
  • keyword_mode: "all":适合查找两个主题的交集(例如 “chutes” AND “bittensor”)

可能不稳定的功能

  • 仅按用户名查询:可能出现超时(DEADLINE_EXCEEDED)。建议显式设置较早的 start_date 缓解该问题
  • 小众/低频关键词:过于具体的术语可能因矿工节点未索引对应数据而超时
  • 未指定 start_date:默认仅检索最近 24 小时数据,易遗漏信息;建议始终显式设置

面向 LLM Agent 的最佳实践

  1. 务必设置 start_date —— 不要依赖默认的 24 小时窗口。用户查询建议至少回溯 7 天
  2. 优先使用关键词而非用户名 —— 关键词搜索稳定性更高
  3. 若需按用户名查询,必须配合设置 start_date(建议回溯数周至数月)
  4. 组合主题与子主题时,使用 keyword_mode: "all"(例如 “bittensor” + “chutes”)
  5. 优雅处理超时 —— 若查询失败,可尝试扩大日期范围,或切换为关键词搜索
  6. 解析互动指标 —— 利用 view_count、like_count、retweet_count 等字段对结果进行相关性排序
  7. 检查 is_reply 和 is_quote 字段 —— 根据实际需求过滤原始推文(original tweet)、回复(reply)或引用推文(quote)

Gravity API(大规模数据采集)

当所需数据量超过 1000 条时,请使用 Gravity 系列接口:

创建采集任务

POST /gravity.v1.GravityService/CreateGravityTask
{
  "gravity_tasks": [
    {"platform": "x", "topic": "#bittensor", "keyword": "dTAO"}
  ],
  "name": "Bittensor dTAO Collection"
}

注意: X 平台的话题(topic)必须以 # 或 $ 开头;Reddit 平台则使用子版块格式(如 r/xxx)。

查询任务状态

POST /gravity.v1.GravityService/GetGravityTasks
{
  "gravity_task_id": "multicrawler-xxxx-xxxx",
  "include_crawlers": true
}

构建数据集

POST /gravity.v1.GravityService/BuildDataset
{
  "crawler_id": "crawler-0-multicrawler-xxxx",
  "max_rows": 10000
}

警告:调用此接口将永久停止对应爬虫任务。

获取数据集下载链接

POST /gravity.v1.GravityService/GetDataset
{
  "dataset_id": "dataset-xxxx-xxxx"
}

任务完成后,返回 Parquet 文件的下载 URL。

工作流概览

快速查询(< 1000 条结果):
  OnDemandData → 即时返回结果

大规模采集(7 日周期爬取):
  CreateGravityTask → GetGravityTasks(轮询监控)→ BuildDataset → GetDataset(下载)

错误码参考

错误 原因 解决方法
401 Unauthorized 缺失或无效的 API 密钥 检查 Authorization: Bearer 请求头是否正确设置
500 Internal Server Error 服务端异常(常见于 gRPC 认证失败) 确认 API 密钥有效性并重试
DEADLINE_EXCEEDED 查询超时 —— 矿工节点无法在时限内完成请求 扩大日期范围,或改用关键词搜索
空的 data 数组 无匹配结果 放宽搜索关键词或扩大日期范围
目录

热门AI工具

更多
超级麦吉

一款通过数字员工协作完成调研、数据分析与文档制作的AI办公平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

讯飞智文

一款面向学习和办公场景的AI文档创作工具,可辅助生成PPT与Word文档,提高资料整理和内容制作效率。

相关专题

更多
Go-Zero API开发使用教程
Go-Zero API开发使用教程

本专题聚焦Go-Zero的API开发,拆解.api描述文件的语法结构、路由与分组定义、参数绑定与校验规则,说明统一响应体、JWT鉴权、跨域与接口文档生成的落地方式,并给出网关聚合与接口测试的实践建议。

0

2026.11.12

Go-Zero安装与goctl环境配置教程
Go-Zero安装与goctl环境配置教程

本专题围绕Go-Zero的安装与工具链配置展开,讲清Go版本要求、goctl安装方式、代理镜像、protoc依赖与环境变量设置,说明多版本共存、升级回退与CI流水线安装的做法,并整理安装阶段的常见报错与验证步骤。

0

2026.11.12

Go-Zero零基础入门教程
Go-Zero零基础入门教程

本专题整理Go-Zero的入门知识,从框架定位、环境准备到跑通第一个API服务,讲清目录分层、配置加载、日志与中间件的基本用法,并对比Gin、Kratos的差异,帮助Go开发者建立整体认知,判断它是否适合当前项目。

0

2026.11.12

Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

0

2026.11.06

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

0

2026.11.06

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

0

2026.11.06

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

0

2026.11.05

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

0

2026.11.05

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

0

2026.11.04

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn