在 AI 辅助研发场景中,如何快速获取任意主题的社区讨论、市场预测和技术趋势,是开发者面临的核心痛点。last30days-skill 作为一款面向 Claude Code 的插件技能,通过聚合 Reddit、X (Twitter)、YouTube、Hacker News、Polymarket 预测市场等八个数据源,构建了一套完整的多平台研究管道。本文将从工程实现角度,详细解析其架构设计、评分算法与可落地配置。
多平台数据聚合架构
last30days-skill 的核心设计理念是「30 天内的研究,30 秒内完成」。该技能采用插件化架构,支持通过 Claude Code 插件市场一键安装,也可手动克隆到本地目录。安装后,用户只需输入 /last30days [主题] 即可触发完整的研究流程。
数据源层面,该技能已实现对以下八个平台的支持:Reddit(通过 ScrapeCreators API)、X/Twitter(基于 Bundled Twitter GraphQL 客户端或 xAI API 备选)、YouTube(需安装 yt-dlp 以提取视频 transcripts)、TikTok 与 Instagram(共用 ScrapeCreators API)、Hacker News(通过 Algolia API)、Polymarket 预测市场(通过 Gamma API),以及可选的 Web 搜索(Brave、Parallel AI、OpenRouter)。这种多源架构确保了研究结果的全面性 —— 用户不仅能看到社区讨论,还能获取市场押注方向和技术社区的专业观点。
值得注意的技术细节是 Reddit 搜索在 v2.9 版本后的重大调整。之前依赖 OpenAI Responses API 进行 Reddit 搜索,现在默认切换为 ScrapeCreators 服务,一个 API Key 即可覆盖 Reddit、TikTok 和 Instagram 三个平台,简化了配置复杂度。
双阶段搜索管道设计
该技能的搜索架构采用两阶段设计,这 是其区别于简单关键词搜索的核心创新点。
第一阶段:广度发现。系统并行向多个数据源发送搜索查询。Reddit 通过 ScrapeCreators 或 OpenAI web_search 工具搜索,X 通过内置的 Twitter GraphQL 客户端或 xAI API 搜索,YouTube 通过 yt-dlp 获取搜索结果和 transcripts,Hacker News 通过 Algolia API 查询,Polymarket 通过 Gamma API 获取预测市场数据。所有结果随后进入统一的评分管道。
第二阶段:智能补充搜索。这是提升结果质量的关键步骤。系统从第一阶段结果中提取关键实体(X 平台的 @handle、Reddit 的 subreddit 名称),然后针对性地进行二次搜索。例如,研究「Open Claw」时,系统会自动发现 @openclaw、@steipete 等相关账号,并搜索这些账号的近期帖子。Reddit 补充搜索则使用免费的 .json 搜索端点,针对已发现的 subreddit 进行定向查询,无需额外 API 配额。
两阶段设计配合智能查询改写机制。v2 版本优化了查询构造逻辑 —— 系统会自动剥离研究类、元类词汇(如「best」「prompt」「techniques」),仅保留核心主题词进行搜索。例如,用户输入「vibe motion best prompt techniques」,系统实际搜索的是「vibe motion」,这一改写使搜索结果从 0 条增加到 12 条以上。
多信号可信度评分管道
面对来自八个平台的异构数据,如何评估和排序结果的质量?last30days-skill 实现了一套复杂的多信号评分管道,这在 v2.5 版本中有详细描述。
文本相似度引擎采用双向子串匹配结合同义词扩展和 Token 重叠评分。「hip hop」与「rap」、「MacBook」与「Mac」、「AI video」与「text to video」等同义词组会被自动关联。测试数据表明,某嘻哈音乐混合内容的相关性从 0.33 提升至 0.71,几乎避免了被误过滤的命运。
Polymarket 预测市场采用五因素加权评分模型:文本相关性占比 30%、24 小时交易量占比 30%、流动性深度占比 15%、价格变动速度占比 15%、结果竞争度占比 10%。特别值得注意的是「结果感知评分」—— 系统不仅匹配市场标题,还会将主题与单个市场仓位进行匹配。例如,「Arizona Basketball」搜索会匹配到「NCAA Tournament Winner - Arizona: 12%」这一具体仓位,而非仅匹配宏观事件。
跨平台收敛检测是该技能的另一个技术亮点。当同一话题在多个平台(Reddit + HN、Reddit + X 等)同时出现时,系统会标记为 [also on: Reddit, HN]。检测算法使用混合相似度(字符三 grams Jaccard + Token Jaccard),能够识别不同平台报道中标题表述差异较大的同一事件。根据 v2.5 的盲测评估,这套评分管道使研究质量从 v1 的 3.73/5.0 提升至 4.38/5.0。
可落地的工程配置参数
对于希望在项目中部署 last30days-skill 的开发者,以下是经过验证的关键配置参数:
基础安装与认证:通过 Claude Code 插件市场安装后,需在 ~/.config/last30days/.env 中配置 API Key。Reddit/TikTok/Instagram 共用 SCRAPECREATORS_API_KEY(注册于 scrapecreators.com);X 搜索推荐配置 AUTH_TOKEN 和 CT0(从 x.com 浏览器 Cookie 中获取),也可使用 XAI_API_KEY 作为备选方案;YouTube 需安装 yt-dlp(brew install yt-dlp)。可选配置包括 Bluesky 的 BSKY_HANDLE 和 BSKY_APP_PASSWORD。
项目级配置:支持在项目根目录创建 .claude/last30days.env,该文件会覆盖全局配置,适合多项目并行使用不同 API Key 的场景。
性能与范围控制:--days=N 参数可调整回溯天数(默认 30 天);--quick 标志启用快速模式,搜索量减少至 8-12 个来源,跳过补充搜索,适合快速验证;--deep 标志启用深度模式,Reddit 和 X 搜索量分别扩展至 50-70 和 40-60,补充搜索更充分;--sources=reddit 或 --sources=x 可限制仅使用特定来源。
数据持久化:使用 --store 标志将研究发现持久化到 SQLite 数据库(~/.local/share/last30days/research.db),配合 Open 变体实现定时研究和历史查询。
诊断工具:运行 python3 scripts/last30days.py --diagnose 可检查各数据源的可用性,包括 API Key 状态、Bird 客户端连接、YouTube 依赖等,便于排查问题。
与同类框架的差异化定位
当前 AI 研究代理领域已有多个开源方案,如 deer-flow(聚焦沙箱执行环境)和 multi-platform-ai-research-pipeline(通用研究管道)。last30days-skill 的独特价值在于三点:一是深度整合 Polymarket 预测市场,将真金白银的市场押注作为研究信号,这在同类框架中较为罕见;二是专注于「过去 30 天」的时间窗口,确保研究结果聚焦当下趋势而非历史存档;三是与 Claude Code 的深度集成 —— 作为技能(Skill)而非独立代理,降低了使用门槛,开发者可直接在日常编码会话中调用研究能力。
对于需要快速掌握任意技术主题社区动态的开发者,last30days-skill 提供了一套经过大规模验证的多平台研究范式。其工程实现 —— 尤其是两阶段搜索、跨平台收敛检测和五因素市场评分 —— 为构建类似系统提供了可参考的架构思路。