开源精选 last30daysClaude CodeAgent SkillsAI搜索开源社交信号

Last30Days Skill深度解析:让AI搜索最近30天真实人群信号

Last30Days Skill深度解析:让AI搜索最近30天真实人群信号

Google擅长索引网页,传统搜索擅长回答“互联网上有什么”。但对产品经理、投资人、销售、研究员和开发者来说,很多时候真正想知道的是:最近30天,真实用户、开发者、创作者和市场参与者到底在说什么、投票什么、下注什么。 mvanhorn/last30days-skill 做的正是这件事。

项目速览

维度详情
GitHubmvanhorn/last30days-skill
定位面向AI Agent的近期多源研究技能,聚合最近30天社交、开发者、视频、预测市场与网页信号
Stars / Forks约41.2K Stars、3.3K Forks(2026-06-14抓取)
语言Python为主,少量Node脚本与Skill配置
版本v3.3.2,最近提交为2026-06-06发布修复
许可证MIT License
安装入口Claude Code插件市场、npx skills add、claude.ai Skill上传、OpenClaw等

一句话概括:Last30Days不是另一个网页搜索壳,而是一个让AI Agent跨平台抓取“近期人群信号”,再按互动量、相关性、来源质量和语义聚类生成研究简报的开源搜索技能。

它的README里有一句很好的定位:Google aggregates editors,/last30days searches people。Google聚合编辑、SEO和网页权重;Last30Days试图聚合Reddit upvotes、X likes、YouTube transcripts、TikTok engagement、Hacker News讨论、GitHub PR/Issues、Polymarket odds等“人群投票”。

为什么这个项目值得关注?

AI搜索正在分化成两条路线。

第一条是“网页事实路线”:从网页、论文、新闻、知识库中找答案,代表是Perplexity、SearchGPT、Gemini Deep Research、Claude Web Search等。

第二条是“实时人群路线”:不只问“事实是什么”,还问“社区怎么看”“用户卡在哪里”“开发者最近在争什么”“市场用真金白银押注什么”。Last30Days明显站在第二条路线上。

这类工具的价值尤其体现在四个场景:

  1. 会前情报:见客户、创始人、候选人之前,快速看TA最近在X、GitHub、YouTube、Reddit上的真实动态。
  2. 产品调研:上线功能前,看用户最近30天在Reddit、HN、GitHub Issues里集中抱怨什么。
  3. 技术选型:比较两个AI工具,不只看官方文档,而看社区实际使用反馈、踩坑和PR活跃度。
  4. 热点判断:一个事件刚发生时,新闻报道、社交热度、视频解读、预测市场赔率往往比百科式答案更有用。

换句话说,Last30Days解决的是“模型知识滞后”和“传统搜索缺少社交语境”的问题。

核心思想:把封闭平台变成Agent可调用的数据源

README列出的数据源非常广:Reddit、X/Twitter、YouTube、TikTok、Instagram Reels、Hacker News、Polymarket、GitHub、Digg、Threads、Pinterest、Bluesky、Perplexity、Web,甚至Truth Social、小红书等也在引擎中或规划中。

这些平台各自有API、反爬、认证、搜索限制和内容结构。Last30Days的工程价值在于,它不是让大模型“自己上网乱搜”,而是把不同平台封装成可并行调用的source adapter:

用户输入:/last30days "某个主题或人物"

主题解析与查询规划

多源并行检索:Reddit / X / YouTube / HN / Polymarket / GitHub / Web ...

标准化:标题、URL、日期、作者、互动量、摘要、相关性

融合排序:RRF + engagement + relevance + freshness

语义聚类与去重

AI综合成“最近30天发生了什么”的简报

这也是它区别于普通“搜索脚本”的地方:它不是只把结果列表扔给模型,而是做了查询计划、来源适配、加权融合、去重、聚类、重排和输出协议。

技术架构:一个Skill包里的搜索引擎

从仓库结构看,Last30Days是一个典型的Agent Skill项目,而不是单文件脚本。当前仓库包含约264个文件,其中Python文件约160个,测试文件约94个,核心逻辑集中在 skills/last30days/scripts/skills/last30days/scripts/lib/

1. Skill层:让Agent知道怎么调用

skills/last30days/SKILL.md 是运行时契约,定义了技能名称、版本、描述、参数提示、允许工具、安装信息和非常详细的输出规范。它强调:/last30days不是一个泛泛的“最近30天搜索提示词”,而是一个有严格调用方式、计划生成、输出格式和引用规则的研究工具。

这个文件非常长,甚至专门写了“LAW”来约束模型输出:必须保留引擎footer、不要输出裸证据块、不要追加Sources块、引用要用内联Markdown链接等。看起来啰嗦,但背后反映了一个真实问题:Agent Skill不是普通README,它需要把人类使用说明转化为模型可执行、可约束、可回归的协议。

2. CLI层:last30days.py

主入口是 skills/last30days/scripts/last30days.py。它做几件事:

  • 检查Python版本,v3要求Python 3.12+
  • 解析命令行参数与输出格式
  • 调用pipeline运行检索
  • 支持 compactmdjsonhtmlcontext 等输出
  • 保存原始结果到本地目录
  • 支持HTML brief,把研究结果导出成可分享文件

这意味着它既可以被Claude Code等Agent宿主调用,也可以作为本地CLI工具被自动化脚本、cron或其他系统调用。

3. Pipeline层:多源并行 + 统一Schema

pipeline.py 定义了可用数据源和深度参数:quick、default、deep分别控制每个stream的抓取数量、候选池大小和重排数量。代码中可见,Reddit、Hacker News、Polymarket默认可用;GitHub可通过GITHUB_TOKENgh CLI;YouTube依赖yt-dlp;X可以走Bird/cookie、xAI或其他后端;TikTok、Instagram、Threads、Pinterest等依赖ScrapeCreators。

这种设计很现实:实时社交搜索不是“一个API解决所有问题”,而是多种认证、多个付费层、多个fallback的组合。Last30Days把这种复杂性藏在配置层,让用户按需要逐步解锁来源。

4. 查询规划层:先理解主题,再决定去哪搜

v3的一个重点变化是“intelligent search”。planner.py 会把主题拆成intent、freshness_mode、cluster_mode、source_weights和subqueries。例如产品比较、人物调研、热点事件、教程类问题,应该搜索的平台和排序逻辑并不一样。

这点非常关键。传统搜索是“关键词进,链接出”;Agent搜索更像“先判断这是什么问题,再决定去哪找证据”。查一个开源项目,GitHub和Hacker News可能权重更高;查一个消费趋势,TikTok、Reddit、YouTube更重要;查一个政治事件,X、新闻和预测市场可能更重要。

5. 排序与融合层:不是所有热度都等价

fusion.py 使用加权RRF(Reciprocal Rank Fusion)把不同来源、不同子查询的候选结果融合到同一个池子里,同时做URL归一、去追踪参数、按作者限流,避免单个账号霸榜。

rerank.py 再用LLM或本地fallback做相关性重排,并引入“primary entity grounding”:如果候选结果没有明确提到主题实体,就要被惩罚。这是解决社交搜索常见噪声的必要手段。比如搜索一个产品名时,广义AI新闻可能很热,但并不一定真的相关。

6. 聚类层:把同一件事合并成一个故事

cluster.py 会对候选结果做聚类,同一件事如果同时出现在Reddit、X和YouTube,不应该在报告中重复出现三次,而应该合并成一个story cluster。它还用MMR选择代表性证据,兼顾高分和多样性。

这让输出从“链接列表”变成“近期发生的几类主要叙事”。对研究者来说,这比单纯排序更有价值。

v3的产品亮点

1. Shareable HTML Brief

v3支持 --emit=html,可以把研究结果保存成自包含、暗色模式、适合打印的HTML文件。对团队协作很实用:你可以把一次研究结果直接丢到Slack、邮件或Notion,而不是复制一大段终端输出。

2. Best Takes

项目专门加入“fun judge”,不是只按相关性排序,还会识别Reddit和X里那些有传播力、幽默感或概括力的评论。这个功能很有洞察:社交平台的价值不只是事实,也包括“一个群体如何表达情绪”。

3. GitHub Person Mode

当主题是人物时,系统会切换到GitHub author-scoped queries,关注这个人最近在什么仓库提交、PR合并率如何、参与了哪些项目。这对开发者画像、招聘、技术社区研究非常有用。

4. Competitor Comparison

--competitors 可以让宿主模型先发现竞品,再让引擎并行跑多实体比较。例如“OpenAI vs Anthropic vs xAI”这类问题,不必串行跑三次再手工拼接,而是统一生成比较结构。

5. Trend Monitoring

配置文档里提到 --storewatchlist.pybriefing.py:结果可以持久化到SQLite,维护watchlist,再生成daily/weekly brief。这说明项目不只想做一次性搜索,还想成为一个持续情报系统。

安装与使用门槛

README给出几种安装方式。

Claude Code推荐:

/plugin marketplace add mvanhorn/last30days-skill
/plugin install last30days

其他Agent Skills宿主:

npx skills add mvanhorn/last30days-skill -g

基础体验是“零配置”:Reddit、Hacker News、Polymarket、GitHub等可以先跑起来;更多来源需要配置API Key或本地会话:

来源典型要求
Reddit public / HN / Polymarket基础可用
GitHubgh CLI或GITHUB_TOKEN
YouTubeyt-dlp
XCookie/Bird、xAI或ScrapeCreators等
TikTok / Instagram / Threads / PinterestScrapeCreators等第三方API
Web / PerplexityBrave、Exa、Serper、Parallel、OpenRouter等可选后端

所以它的体验有两层:轻量用户可以把它当作“增强型近期搜索”;重度用户则会把它配置成跨平台情报中台。

我最看重的三个工程启示

1. Agent搜索的关键不是“模型更聪明”,而是“证据管线更可靠”

很多AI搜索产品把重点放在生成答案,但Last30Days提醒我们:答案质量首先取决于证据管线。能否拿到真实互动量、真实评论、真实PR、真实转录文本,远比最后一段总结是否华丽更重要。

2. Skill正在成为AI应用的新封装格式

过去我们把能力封装成CLI、API、SDK、浏览器插件;现在开始出现“Skill”:它既包含代码,也包含模型调用规范、输出契约、安装元数据和安全提示。Last30Days是一个很好的样本,展示了复杂Agent能力如何被打包给Claude Code、Codex、Cursor、Gemini CLI等不同宿主。

3. 社交信号搜索会成为产品研究基础设施

对产品经理来说,近30天Reddit抱怨、HN争论、GitHub Issue、YouTube教程、TikTok爆款,比一篇SEO文章更接近真实需求。Last30Days的方向,本质上是把“用户研究”从手工浏览多个平台,变成Agent可重复执行的流程。

局限与风险

1. 来源越多,配置越复杂

项目强调“zero config”,但真正发挥威力仍需要API Key、CLI工具、浏览器cookie或第三方抓取服务。不同平台的反爬和API变动也会带来维护成本。

2. 社交热度不等于事实正确

Reddit upvotes、X likes、TikTok views代表关注度,不代表真实性。Polymarket赔率代表下注共识,也不等于最终结果。这个工具适合发现“人群正在关注什么”,不应直接替代事实核查。

3. 输出契约过长,说明Agent协议仍不成熟

SKILL.md里大量LAW和失败案例很有价值,但也说明当前Agent宿主对“严格按协议调用工具”的稳定性仍有限。复杂Skill需要把许多模型失败模式写进说明书,这会增加维护成本。

4. 合规与隐私边界需要谨慎

跨平台抓取公开内容、使用浏览器cookie、接入第三方爬取服务,都需要注意平台条款、企业合规和个人隐私。企业内部使用时,最好明确哪些来源可以抓、哪些账号不能抓、结果如何留存。

适合谁使用?

我认为Last30Days特别适合以下人群:

  • AI产品经理:追踪用户对新工具、新模型、新功能的近期反馈。
  • 投资与产业研究员:快速捕捉社区热度、开发者动向、预测市场信号。
  • 销售与BD:会前了解客户、创始人、公司最近真实动态。
  • 开源维护者:看项目、竞品、社区抱怨和PR趋势。
  • 内容创作者:找最近30天真正被讨论的选题,而不是旧SEO关键词。
  • Agent开发者:学习一个复杂Skill如何设计安装、配置、输出契约和多源pipeline。

结论:它不是“更好的Google”,而是“近期人群情报引擎”

Last30Days Skill最有价值的地方,不在于它能替代Google,而在于它重新定义了AI搜索的一类任务:不要只搜索网页,要搜索人群最近的注意力。

网页搜索回答“公开网页上有什么”;Last30Days试图回答:

  • 最近30天谁在讨论?
  • 哪些观点获得真实互动?
  • 哪些开发者正在提交代码?
  • 哪些用户在抱怨同一个问题?
  • 哪些预测市场正在用真钱表达概率?
  • 多个平台的叙事是否在指向同一件事?

这类能力会越来越重要。因为AI模型的通用知识会逐渐商品化,而“最新、真实、跨平台、可追溯的人群信号”会成为新的稀缺资源。

如果你经常做产品调研、开源选型、热点判断、会前情报或内容选题,Last30Days值得安装体验。它可能不会每次都给出完美答案,但它代表了一个很明确的方向:未来的搜索,不只是找到信息,而是让Agent替你组织一个临时研究团队,去最近30天的互联网现场听人们怎么说。


参考资料