在 AI 助手能力快速迭代的当下,如何让模型实时获取社区讨论、预测市场走向和技术趋势,成为提升回答质量的关键。last30days-skill 是一款专注于多源信息聚合与 AI 驱动研究合成的 Claude Code 技能,它能够在 2-8 分钟内完成对任意主题的跨平台研究,并生成带有真实引用和可操作建议的结构化摘要。本文将从工程实现角度,深入解析这一技能的架构设计与核心模块。

多平台搜索的工程挑战

构建一个跨 8 个社交平台的研究工具,首先需要解决数据源异构性问题。last30days-skill 支持的平台包括 Reddit、X(原 Twitter)、Bluesky、YouTube、TikTok、Instagram、Hacker News、Polymarket 预测市场以及通用网页搜索。每个平台的数据获取方式各不相同:Reddit 通过 ScrapeCreators API 或 OpenAI Responses API 的 web_search 工具;X 使用 Bundled Twitter GraphQL 客户端或 xAI 的 x_search 后端;YouTube 则依赖 yt-dlp 进行搜索和字幕提取;Hacker News 通过 Algolia 的免费 API 获取;Polymarket 调用 Gamma API 拉取实时预测市场数据。

这种多源架构的核心挑战在于统一认证和结果格式标准化。技能采用环境变量配置策略,通过 ~/.config/last30days/.env 集中管理所有 API 密钥,包括 SCRAPECREATORS_API_KEY(覆盖 Reddit、TikTok、Instagram 三个平台)、AUTH_TOKENCT0(X 认证)、BSKY_APP_PASSWORD(Bluesky)等。同时支持项目级配置覆盖,允许在 .claude/last30days.env 中为特定项目设置独立密钥。

两阶段搜索架构

为了在广度与深度之间取得平衡,技能采用了两阶段搜索架构。第一阶段为广泛发现,使用 OpenAI Responses API 的 web_search 工具搜索 Reddit,利用 Bundled Twitter GraphQL 客户端搜索 X,通过 yt-dlp 搜索 YouTube 并提取字幕,通过 Algolia API 搜索 Hacker News,通过 Gamma API 搜索 Polymarket 预测市场。每个结果都会获取真实的互动数据( upvotes、评论数、观看次数、交易量等),为后续评分提供量化基础。

第二阶段为智能补充搜索,这是 V2 版本带来的重大改进。在第一阶段结果基础上,技能提取关键实体(X 平台的 @handle、Reddit 的 subreddit 名称),然后运行定向的后续搜索。例如,研究 "Open Claw" 时,第一阶段可能只找到讨论帖,但第二阶段会顺藤摸瓜找到 @openclaw 和 @steipete 的官方账号,挖掘出关键词搜索完全无法覆盖的帖子。这一阶段使用 Reddit 免费的 .json 搜索端点,无需额外 API 配额。

v2.9.5 还引入了智能 subreddit 发现机制,取代了早期版本简单的频率统计。现在每个候选 subreddit 的评分公式为 frequency × recency × topic-word match,并配合 UTRAIN_SUBS 过滤噪音 subreddit。实测数据显示,这一改进将 Claude Code 技能研究发现的 subreddit 从泛泛的 r/programming 精确到 r/ClaudeAI、r/ClaudeCode、r/openclaw。

多信号质量排名评分

搜索结果的排序直接决定了最终输出的价值。last30days-skill 的评分管道并非简单的相关性匹配,而是一个综合多维信号的复合评分系统。

文本相似度引擎采用双向子字符串匹配结合同义词扩展和 Token 重叠评分。例如,"hip hop" 会匹配 "rap","MacBook" 会匹配 "Mac","AI video" 会匹配 "text to video"。一个原本相关性仅为 0.33(几乎被过滤)的 "Lit Hip Hop Mix 2026" 音乐混音,在加入同义词扩展后提升至 0.71。

Polymarket 预测市场采用 5 因子加权评分:文本相关性(30%)、24 小时交易量(30%)、流动性深度(15%)、价格变动速度(15%)、结局竞争力(10%)。值得注意的是,技能实现了结局感知评分—— 当搜索主题是市场中的一个具体选项而非整个市场时,会将主题与各个子结局进行匹配。例如搜索 "Arizona Basketball" 时,会发现 "Arizona: 12%" 是 "NCAA Tournament Winner" 市场中的一个选项,而非仅仅匹配市场标题。

跨平台收敛检测是技能的独特亮点。当同一个故事在多个平台出现时,技能会标记 [also on: Reddit, HN][also on: X, YouTube]。这使用了混合相似度算法(字符三元组 Jaccard + Token Jaccard)来检测标题不同的跨平台内容。开发者进行的盲测评估显示,v2.5 在 5 个测试主题上的综合得分为 4.38/5.0,相比 v1 的 3.73/5.0 提升了约 17%。

预测市场集成的独特价值

Polymarket 集成是 last30days-skill 区别于普通搜索工具的核心差异化能力。预测市场反映了人们用真金白银投注的真实信念,这种信号与社区讨论、社交媒体热度形成互补。

技能实现了两轮查询扩展和基于标签的域桥接技术。当搜索主题是一个隐藏在更广泛市场中的结局时(例如 "Anthropic" 是 "Best AI Model" 市场的结局选项),第一轮并行搜索所有主题词,从结果中提取结构化类别标签(如 "NCAA CBB"、"Geopolitics"),然后进行第二轮针对这些域指标的搜索。这使得技能能够发现纯关键词搜索完全无法触及的市场。

针对 Polymarket 的多结局事件,技能还实现了负风险二进制市场合成。当一个事件有多个独立的是 / 否市场(如每支球队的冠军概率)时,技能检测这种模式,提取实体名称,并合成为统一的结局显示 —— 呈现 "Arizona: 12%, Duke: 18%, Houston: 15%",而不是原始的 "Yes: 12%, No: 88%" 碎片化数据。

Open Variant:持续监控与简报生成

除了单次研究,技能还提供 Open Variant,专为持续监控场景设计。配合 Open Claw 或类似的常驻 AI 机器人,用户可以建立感兴趣主题的监控列表,设置运行周期(如每周、每月),技能会将每次研究发现累积到本地 SQLite 数据库。

使用方式非常直接:last30 watch AI video tools monthly 添加监控项,last30 run all my watched topics 手动触发研究,或者配置 cron job 实现自动化。研究成果会自动保存到 ~/Documents/Last30Days/ 目录,按主题命名生成 Markdown 文件,方便构建个人研究知识库。

部署方式与集成生态

技能支持多种部署方式以适应不同的 AI 主机环境。Claude Code 插件方式(推荐)通过 /plugin marketplace add mvanhorn/last30days-skill/plugin install last30days@last30days-skill 即可完成安装。Gemini CLI 通过 gemini extensions install 集成。OpenAI Codex CLI 需要克隆到 ~/.agents/skills/last30days 目录。

在 Claude Code 中使用只需输入 /last30days [topic],技能会立即开始跨平台研究。可以指定 --days=N 调整回溯时间窗口,--quick 加速但减少源数量,--deep 进行更全面的研究。v2.9.5 新增的比较模式支持 "X vs Y" 类型的查询,会进行 3 次平行研究并生成并排对比表。

关键工程参数

基于技能文档和实测数据,以下是部署时的关键参数建议。API 密钥配置:至少需要 SCRAPECREATORS_API_KEY 用于 Reddit/TikTok/Instagram 三平台,X 需要 AUTH_TOKEN + CT0(从浏览器 cookies 获取)或 XAI_API_KEY 作为后备,yt-dlp 通过 Homebrew 或 pip 安装以启用 YouTube 字幕提取。性能权衡:默认搜索耗时 2-8 分钟(取决于主题冷门程度),--quick 模式可缩短至 8-12 个源 / 平台,--deep 模式则扩展到 50-70 个 Reddit 帖子和 40-60 个 X 推文。存储路径:API 密钥存于 ~/.config/last30days/.env(建议 chmod 600),SQLite 数据库位于 ~/.local/share/last30days/research.db,简报输出到 ~/Documents/Last30Days/

last30days-skill 的工程实现展示了一种将多源异构数据统一处理并通过 AI 合成结构化知识的可行路径。其核心价值在于把散落在各个社交平台和预测市场的碎片化信息,通过统一的评分和收敛检测机制,转化为可操作的研究成果。对于需要实时跟踪技术趋势、社区讨论和市場情绪的 AI 应用开发者而言,这一技能提供了现成的基础设施参考。

资料来源:GitHub mvanhorn/last30days-skill