last30days-skill 深度解析:当 AI 终端学会「全网记忆」,信息差终于被彻底粉碎

last30days-skill 深度解析:当 AI 终端学会「全网记忆」,信息差终于被彻底粉碎你有没有过这样的时刻 想了解某个技术话题的最新动态 打开 Reddit 刷了半小时 全是噪音 转到 X Twitter 看看大佬们在说什么 信息流已经被算法喂饱 去 Hacker News 翻翻 发现三天前的帖子已经沉底 等你终于找到几条有价值的内容 已经过去了一个小时 而你还什么都没记住 更讽刺的是 这些平台的搜索功能几乎形同虚设 Reddit 搜索 related

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



你有没有过这样的时刻——

想了解某个技术话题的最新动态,打开 Reddit 刷了半小时,全是噪音;转到 X(Twitter)看看大佬们在说什么,信息流已经被算法喂饱;去 Hacker News 翻翻,发现三天前的帖子已经沉底。

等你终于找到几条有价值的内容,已经过去了一个小时。而你还什么都没记住。

更讽刺的是,这些平台的搜索功能几乎形同虚设:

  • Reddit 搜索:「related posts」永远不是你要找的
  • X 搜索:不登录不让用,登录了又被算法绑架
  • Hacker News:时间线是线性的,过了三天就再找不到
  • YouTube:只能搜视频标题,评论区的金矿完全浪费
  • TikTok/Instagram:这类平台根本就没有有效的「历史搜索」

这就是 2026 年的信息困境:数据在爆炸,但我们越来越「健忘」

因为真正有价值的讨论,从来不在官方文档里,而是在这些社区的角落——某条高赞评论、某个技术大牛的随手吐槽、某个真实用户踩过的坑。

而 last30days-skill,就是要解决这个问题。

last30days-skill 是一个专为 AI 终端(如 Claude Code、Gemini CLI)设计的扩展插件,它的核心功能非常聚焦:

跨平台抓取全网过去 30 天内,真实社区里关于某个话题的高质量讨论,并直接给你出一份带真实源链接的总结报告。

一句话概括:它是 AI 终端的「外置大脑」

  • GitHub Stars:10.2K+(截至 2026 年 4 月)
  • 开发语言:纯 Python
  • 支持平台:Reddit、X(Twitter)、YouTube、Hacker News、Polymarket、Bluesky、TikTok、Instagram
  • 默认免费平台:Reddit、Hacker News、Polymarket
  • 需配置 API 平台:X、YouTube、Bluesky、TikTok、Instagram
用户输入 → AI 终端 → last30days-skill → 多平台爬取 → 数据清洗 → 智能总结 → 输出报告 

具体流程:

  1. 指令触发:在 Claude Code 中输入 /last30days [话题]
  2. 多平台并行爬取:同时向 Reddit、HN、X 等平台发起查询
  3. 时间窗口过滤:只保留过去 30 天的内容
  4. 相关性排序:基于讨论热度、点赞数、评论质量综合排序
  5. AI 合成总结:不是简单拼接,而是真正理解后的结构化输出
  6. 源链接溯源:每条结论都附带原始链接,可追溯验证

市面上的「信息聚合工具」很多,但大多数都有这些毛病:

工具类型问题 RSS 阅读器信息被动推送,你需要自己过滤 Google Alerts只能搜新闻源,社区讨论完全遗漏 社交媒体搜索时间线混乱,无法回溯历史 AI 搜索引擎只给答案,不给来源;信息来源单一

last30days-skill 的独特之处:

  1. 主动查询,而非被动推送——你问什么,它就搜什么
  2. 跨平台统一检索——不用分别打开 Reddit、HN、X
  3. 时间窗口精确——过去 30 天,既不过时也不太旧
  4. 真实社区讨论——不是新闻稿,是真实用户的踩坑经验
  5. AI 智能总结——不是关键词堆砌,是结构化洞察
  6. 源链接可追溯——每条结论都有出处

这不是一个独立的 Web 应用,而是 AI 终端的扩展

这意味着:

  • 你不需要切换窗口,直接在 Claude Code 里用
  • 搜索结果可以被后续对话继续深挖
  • 可以和其他 AI 能力组合使用(如代码生成、文档撰写)

举个例子:

你:/last30days Claude Code 新特性

[last30days-skill 返回过去30天社区讨论总结]

你:根据这些讨论,帮我总结 Claude Code 最近三个版本的更新重点

[AI 基于搜索结果生成结构化总结]

你:写一篇博客介绍这些新特性

[AI 直接生成文章草稿]

这就是「AI 原生」工作流——搜索不再是独立的动作,而是创作链条的一环

从技术角度看,last30days-skill 有几个亮点:

3.3.1 多平台 API 适配
# 核心架构示意(简化版) class PlatformAdapter:

"""平台适配器基类""" def __init__(self, api_key: str = None): self.api_key = api_key def search(self, query: str, days: int = 30) -> List[Post]: raise NotImplementedError 

class RedditAdapter(PlatformAdapter):

"""Reddit 适配器""" def search(self, query: str, days: int = 30) -> List[Post]: # 使用 Reddit API 搜索 # 支持按相关性、热度、时间排序 pass 

class XAdapter(PlatformAdapter):

"""X (Twitter) 适配器""" def search(self, query: str, days: int = 30) -> List[Post]: # 需要 API Key # 支持高级搜索语法 pass 

class HackerNewsAdapter(PlatformAdapter):

"""HN 适配器""" def search(self, query: str, days: int = 30) -> List[Post]: # 使用 Algolia HN API # 支持按 points、comments 排序 pass 

每个平台都有独立的适配器,遵循统一的接口规范。新增平台只需实现 search 方法。

3.3.2 时间窗口过滤
def filter_by_time(posts: List[Post], days: int = 30) -> List[Post]:

"""时间窗口过滤""" cutoff = datetime.now() - timedelta(days=days) return [p for p in posts if p.created_at >= cutoff] 

简单但有效——只保留过去 30 天的内容

为什么是 30 天?因为:

  • 太短(如 7 天):信息量不够,错过重要讨论
  • 太长(如 90 天):信息过时,参考价值下降
  • 30 天:刚好是一个「信息新鲜度」的黄金窗口
3.3.3 相关性排序算法
def rank_posts(posts: List[Post]) -> List[Post]:

"""基于多维度打分排序""" scored_posts = [] for post in posts: # 综合得分 = 热度 + 相关性 + 时效性 score = ( post.upvotes * 0.3 + # 点赞权重 post.comments * 0.2 + # 评论权重 post.relevance_score * 0.3 + # 文本相关性 recency_boost(post) * 0.2 # 时效性加成 ) scored_posts.append((score, post)) return [p for _, p in sorted(scored_posts, reverse=True)] 

不是简单按时间或热度排序,而是多维度综合打分

3.3.4 AI 总结生成
def generate_summary(posts: List[Post], topic: str) -> str:

"""AI 生成结构化总结""" # 1. 提取关键信息 key_points = extract_key_points(posts) # 2. 聚类分组 clusters = cluster_by_topic(key_points) # 3. 生成结构化报告 report = f""" 

过去30天「{topic}」社区讨论总结

核心观点

{generate_bullet_points(clusters[‘main’])}

热议话题

{generate_discussion_topics(clusters[‘hot’])}

踩坑经验

{generate_pitfalls(clusters[‘pitfalls’])}

推荐资源

{generate_resources(clusters[‘resources’])}


> 数据来源:{len(posts)} 条社区讨论,时间范围:过去30天 """

return report 

最终的输出不是流水账,而是结构化的洞察报告

方法一:Claude Code Skills 目录安装
# 克隆仓库到 Claude Code skills 目录 cd ~/.claude/skills git clone https://github.com/mvanhorn/last30days-skill.git

安装依赖

cd last30days-skill pip install -r requirements.txt

方法二:通过 SkillHub 安装(推荐)
# 如果你已经安装了 SkillHub CLI skillhub install last30days-skill 

默认情况下,Reddit、Hacker News、Polymarket 可以直接使用。

如果要解锁 X、YouTube、TikTok 等平台,需要配置相应的 API Key:

# 创建配置文件 mkdir -p ~/.config/last30days-skill cat > ~/.config/last30days-skill/config.json << EOF { "twitter": {

"bearer_token": "your-twitter-bearer-token" 

}, "youtube": {

"api_key": "your-youtube-api-key" 

}, "tiktok": {

"api_key": "your-tiktok-api-key" 

}, "instagram": {

"access_token": "your-instagram-access-token" 

}, "bluesky": {

"handle": "your-handle.bsky.social", "password": "your-app-password" 

} } EOF

在 Claude Code 中:

/last30days React 19 新特性 

等待几秒钟,你会看到类似这样的输出:

# 过去30天「React 19 新特性」社区讨论总结

核心更新

1. Server Components 正式稳定

  • Reddit r/reactjs 讨论热度:🔥🔥🔥
  • 核心观点:性能提升明显,但迁移成本较高
  • 踩坑:某些第三方库还不兼容

2. use() Hook 引入

  • Hacker News 讨论:247 points
  • 用法:可以在条件语句中调用,比 useEffect 更灵活
  • 示例代码:[链接]

3. 并发渲染优化

  • X 上 Dan Abramov 的解读:[链接]
  • 实测数据:首屏加载提速 40%

热议话题

  1. 「是否应该全面迁移到 Server Components?」
    • 正方:性能收益明显
    • 反方:生态还不成熟,踩坑成本高
  2. 「use() Hook 是否会取代 useEffect?」
    • 社区共识:不会,两者适用场景不同

踩坑经验

  • 某些 UI 库在 React 19 下会报错(如 Material-UI 的部分组件)
  • Server Components 与 Client Components 的边界划分是难点

推荐资源

  • React 19 官方迁移指南
  • Reddit 热帖:我的 React 19 迁移血泪史
    组合查询
    /last30days "Claude Code" AND "**实践" 
    排除噪音
    /last30days Python 性能优化 NOT asyncio 
    指定平台
    /last30days Go 泛型 –platforms reddit,hn 

    场景:你要在团队引入一个新技术栈,但不确定是否成熟。

    传统做法

    • 看官方文档(永远是「很好用」)
    • 搜几篇博客(可能是软文)
    • 问几个朋友(样本太小)

    last30days-skill 做法

    /last30days Bun.js 生产环境踩坑 

    你会看到:

    • 真实用户在生产环境遇到的问题
    • 还没被官方文档记录的 edge case
    • 社区公认的「**实践」

    决策依据从「听谁说的」变成了「社区共识是什么」

    场景:你想写一篇技术文章,但不知道大家关心什么。

    传统做法

    • 刷 GitHub Trending(可能已经过热了)
    • 看技术媒体(可能是「造热点」)
    • 凭感觉写(可能没人看)

    last30days-skill 做法

    /last30days Rust Web 框架 

    你会看到:

    • 最近 30 天最热的话题是什么
    • 大家在争论什么
    • 哪些痛点还没被解决

    选题从「猜」变成了「数据驱动」

    场景:你想了解用户对项目的真实反馈。

    传统做法

    • 看 GitHub Issues(只有主动反馈的人)
    • 看 Discord 社区(用户可能不在那里)
    • 等用户来抱怨(已经晚了)

    last30days-skill 做法

    /last30days 你的项目名 

    你会看到:

    • 用户在 Reddit/HN/X 上怎么说你的项目
    • 哪些功能被吐槽最多
    • 哪些竞品被频繁对比

    反馈收集从「被动等待」变成了「主动挖掘」

    场景:你要准备面试,想知道某个公司的真实情况。

    传统做法

    • 看公司官网(全是正面信息)
    • 看知乎/脉脉(信息杂乱)
    • 问熟人(样本有限)

    last30days-skill 做法

    /last30days 某某公司 工作体验 

    你会看到:

    • 员工/前员工在社交平台的真实分享
    • 面试经验总结
    • 行业内对公司的评价

    信息从「精心包装」变成了「真实声音」

    last30days-skill 采用了经典的插件化架构

    ┌─────────────────────────────────────────────────┐ │ AI Terminal (Claude Code) │ └─────────────────────┬───────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────┐ │ last30days-skill Core │ │ ┌──────────────┐ ┌──────────────┐ │ │ │ Query Parser │ │ Summarizer │ │ │ └──────────────┘ └──────────────┘ │ └─────────────────────┬───────────────────────────┘ │ ┌─────────────┼─────────────┐ ▼ ▼ ▼ ┌───────────┐ ┌───────────┐ ┌───────────┐ │ Reddit │ │ HackerNews│ │ X/Twitter │ │ Adapter │ │ Adapter │ │ Adapter │ └───────────┘ └───────────┘ └───────────┘ │ │ │ ▼ ▼ ▼ Reddit API HN Algolia Twitter API 

    这种设计的好处:

    1. 易于扩展:新增平台只需实现 Adapter 接口
    2. 解耦清晰:核心逻辑与平台细节分离
    3. 容错性强:某个平台挂了不影响其他平台
    # 完整数据流(简化版)

def last30days_search(topic: str, platforms: List[str] = None):

# 1. 解析查询 query = parse_query(topic) # 2. 并行调用各平台 all_posts = [] with ThreadPoolExecutor() as executor: futures = [] for platform in platforms or DEFAULT_PLATFORMS: adapter = get_adapter(platform) futures.append(executor.submit(adapter.search, query)) for future in as_completed(futures): try: posts = future.result() all_posts.extend(posts) except Exception as e: log_error(f"Platform {platform} failed: {e}") # 3. 时间过滤 recent_posts = filter_by_time(all_posts, days=30) # 4. 去重 unique_posts = deduplicate(recent_posts) # 5. 相关性排序 ranked_posts = rank_posts(unique_posts) # 6. 生成总结 summary = generate_summary(ranked_posts, topic) return summary 

关键点:

  • 并行调用:多个平台同时查询,总耗时取决于最慢的平台
  • 容错处理:某个平台失败不影响整体结果
  • 去重逻辑:同一内容可能出现在多个平台,需要识别并合并
Reddit 适配器
import praw

class RedditAdapter(PlatformAdapter):

def __init__(self): self.reddit = praw.Reddit( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", user_agent="last30days-skill/1.0" ) def search(self, query: str, days: int = 30) -> List[Post]: results = [] cutoff = datetime.now() - timedelta(days=days) # 搜索多个相关 subreddits subreddits = ["programming", "technology", "learnprogramming"] for sub_name in subreddits: subreddit = self.reddit.subreddit(sub_name) for submission in subreddit.search(query, time_filter="month"): if submission.created_utc >= cutoff.timestamp(): results.append(Post( title=submission.title, url=f"https://reddit.com{submission.permalink}", upvotes=submission.score, comments=submission.num_comments, created_at=datetime.fromtimestamp(submission.created_utc), content=submission.selftext, platform="reddit" )) return results 

Hacker News 适配器
from algoliasearch.search_client import SearchClient

class HackerNewsAdapter(PlatformAdapter):

def __init__(self): self.client = SearchClient.create("UJ5WYC0L7X", "..." self.index = self.client.init_index("Item") def search(self, query: str, days: int = 30) -> List[Post]: cutoff = int((datetime.now() - timedelta(days=days)).timestamp()) results = self.index.search(query, { "filters": f"created_at_i > {cutoff}", "hitsPerPage": 100 }) posts = [] for hit in results["hits"]: posts.append(Post( title=hit.get("title", ""), url=hit.get("url") or f"https://news.ycombinator.com/item?id={hit['objectID']}", upvotes=hit.get("points", 0), comments=hit.get("num_comments", 0), created_at=datetime.fromtimestamp(hit["created_at_i"]), content=hit.get("story_text", ""), platform="hackernews" )) return posts 

6.4.1 缓存策略
from functools import lru_cache import hashlib

@lru_cache(maxsize=100) def cached_search(query_hash: str, platform: str):

"""缓存搜索结果,避免重复调用 API""" adapter = get_adapter(platform) return adapter.search(query_hash) 

def search_with_cache(query: str, platform: str):

query_hash = hashlib.md5(query.encode()).hexdigest() return cached_search(query_hash, platform) 

6.4.2 限流处理
import time from ratelimit import limits, sleep_and_retry

class RateLimitedAdapter:

"""带限流的适配器基类""" @sleep_and_retry @limits(calls=60, period=60) # 每分钟 60 次 def search(self, query: str): return self._do_search(query) 

特性last30days-skillGoogle AlertsRSS 阅读器Perplexity AI 主动查询✅❌❌✅ 社区讨论✅❌部分❌ 时间窗口精确✅ 30天❌❌❌ AI 总结✅❌❌✅ 源链接追溯✅✅✅部分 与 AI 终端集成✅❌❌❌ 开源免费✅✅部分❌

核心优势

  1. 唯一真正覆盖「社区讨论」的工具
  2. 唯一与 AI 终端深度集成的工具
  3. 唯一提供「30 天时间窗口」的工具
  1. API Key 依赖:X、YouTube 等平台需要付费 API
  2. 语言限制:主要针对英文社区,中文社区覆盖有限
  3. 平台覆盖:暂未支持 Discord、Telegram 等封闭社区
# 未来可能的增强功能

1. 支持自定义时间窗口

/last30days React 19 –days 7 # 只看最近7天 /last30days React 19 –days 90 # 扩展到90天

2. 支持中文社区

/last30days Vue 3 –platforms zhihu,weibo,v2ex

3. 支持深度分析模式

/last30days Rust async –deep # 生成更详细的分析报告

4. 支持对比模式

/last30days React vs Vue –compare # 对比两个话题的讨论热度

last30days-skill 的价值,不在于它「搜索」了什么,而在于它改变了信息获取的范式:

信息源 → 算法推荐 → 你(被动接收) 
你(主动提问)→ 多平台搜索 → AI 总结 → 结构化洞察 

从「被算法喂养」到「主动挖掘真相」

这就是为什么它能在一周内冲上 GitHub Trending,收获 10K+ Stars。

因为它解决了一个真实存在的痛点,而且解决得足够优雅。


一句话总结

last30days-skill 是 AI 终端的「外置大脑」,让你在几秒钟内掌握过去 30 天全网社区关于任何话题的真实讨论。

它不是搜索引擎,是「信息差粉碎机」。


项目地址:https://github.com/mvanhorn/last30days-skill

安装方式skillhub install last30days-skill 或克隆到 Claude Code skills 目录

支持平台:Reddit、X、YouTube、Hacker News、Polymarket、Bluesky、TikTok、Instagram

开源协议:MIT License

小讯
上一篇 2026-04-10 17:45
下一篇 2026-04-10 17:43

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/255394.html