last30days-skill 快速上手:3步把30天社交媒体数据变成直观图表

【免费下载链接】last30days-skill AI agent skill that researches any topic across Reddit, X, YouTube, HN, Polymarket, and the web - then synthesizes a grounded summary 【免费下载链接】last30days-skill 项目地址: https://gitcode.com/GitHub_Trending/la/last30days-skill

last30days-skill 是一个 AI agent 研究技能,能跨 Reddit、X、YouTube、Hacker News、Polymarket 抓取任意话题近30天的讨论,并按真实用户互动量打分排序。本文带你走一遍"取数 → 清洗校验 → 画图"的完整流程,做完手里就有一张自己的话题趋势图。

效果先看:30天讨论长什么样

last30days-skill 随仓库附带的统计可视化示例,把指标变成环状图与卡片

上图是仓库里附带的可视化演示:完成率、消耗等指标被做成环状图和卡片,一眼可读。last30days-skill 抓到的社交媒体数据也能这样处理——讨论量随时间的变化、各平台热度对比,都能从它输出的 JSON 字段里画出来。零配置的源(Reddit、HN、Polymarket、GitHub)装完即用,X、YouTube、TikTok 等会在首次运行时由 setup wizard 在 30 秒内解锁。

第1步:克隆仓库并验证环境

做什么:把代码取到本地,确认引擎能跑。

git clone https://gitcode.com/GitHub_Trending/la/last30days-skill
cd last30days-skill
python3 skills/last30days/scripts/last30days.py --preflight

--preflight 只打印配置来源、浏览器 cookie 计划和计划写入的文件,不读 cookie、不跑研究。失败时先看 preflight 输出缺哪个依赖,本机需要 Python 3.12+ 在 PATH 上。

第2步:一条命令跑出首次话题数据

做什么:对指定话题并行拉取 30 天内各平台的帖子与互动量,直接导出机器可读的 JSON。

python3 skills/last30days/scripts/last30days.py "AI coding agents" --emit=json --output results.json

--emit=json 默认用 agent 档案(版本化 schema 1.2,下游脚本可以放心消费)。引擎并发搜索 Reddit 与 X,再依次走标准化、按日期窗口过滤、打分、去重,整条流水线示意在 docs/how-search-works.md。失败时先看:运行 python3 skills/last30days/scripts/last30days.py doctor,它会逐源探测并列出缺的 key、CLI 或 cookie。

第3步:清洗、校验数据

做什么:确认要画的数据干净、覆盖面够。清洗其实引擎已做掉,你只需校验。

  • 标准化:lib/normalize.py 把各平台异构结构转成统一 item 模型,只保留 30 天窗口内的内容。
  • 去重:lib/dedupe.py 基于词 n-gram 相似度做源内近重复检测。
  • 校验:看 results.json 里的 source_status——ok 是成功采集,no-results 才是真的没讨论,rate-limitedauth-failed 等都是失败态,不能当"无数据"处理。

失败时先看:用 doctor --postmortem 复盘上一次运行里每个源的真实结果与修复建议。

进阶:挑对字段让图表更好读

results 数组每条含 published_at(发布时间)、source(平台)、engagement(score、num_comments、likes、reposts 等原生指标)、relevance_score(引擎终评分,0~1)。三种常见画法:按 published_at 做时间线折线图、按 source 做柱状图比平台热度、按 engagement 加权看哪些帖子真正引起共鸣。完整字段字典见 docs/reference/json-export.md。最小柱状图示例:

import json, matplotlib.pyplot as plt
data = json.load(open("results.json"))
cnt = {}
for it in data["results"]:
    cnt[it["source"]] = cnt.get(it["source"], 0) + 1
plt.bar(cnt.keys(), cnt.values())
plt.title("30天话题讨论的平台分布"); plt.show()

数据侧也能调:--quick 快而浅,默认 30-50 条线程,--deep 到 70-100 条;--as-of 可回看历史 30 天窗口。其余参数见 CONFIGURATION.md

常见坑:新手最容易卡住的3个问题

现象:跑完 X 或 YouTube 结果是空的。 原因:这两个源需要 API key 或浏览器 cookie,未配置时默认跳过(状态为 skipped-unconfigured)。 解决:跑一次 doctor,按处方补齐配置;或接受仅 web 的降级模式。

现象:某源以为没讨论,其实是失败了。 原因:rate-limited 这类失败态和干净的 no-results 极易混淆,只有后者才是零匹配。 解决:核对 source_status 的确切状态,再用 doctor --postmortem 逐源定位原因。

现象:图里看着"重复"很多,怀疑数据脏。 原因:去重只在源内做,跨平台的同一内容会作为多源证据保留并归入同一 cluster。 解决:画图时按 cluster 字段归并,条目身份用稳定的 candidate_id 标识。

字段细节看 docs/reference/json-export.md,架构看 docs/how-search-works.md

【免费下载链接】last30days-skill AI agent skill that researches any topic across Reddit, X, YouTube, HN, Polymarket, and the web - then synthesizes a grounded summary 【免费下载链接】last30days-skill 项目地址: https://gitcode.com/GitHub_Trending/la/last30days-skill

更多推荐