cheat-on-content 微博热搜 Adapter 实战指南:从 WebFetch 过渡实现到 candidate 字段映射与优雅降级

📅 发布时间:2026/10/9 12:12:02
cheat-on-content 微博热搜 Adapter 实战指南:从 WebFetch 过渡实现到 candidate 字段映射与优雅降级
AI 技能AI 应用【免费下载链接】cheat-on-contentYoure reading this. The skill predicted it. A workflow that turns every post into a calibrated experiment—score, blind-predict, retro, evolve. The future doesnt reward effort, it rewards those who see the pattern first. 1M followers in a month — not luck, system.项目地址https://gitcode.com/gh_mirrors/ch/cheat-on-content点击查看免费下载本指南以 cheat-on-content 仓库中的 weibo-hot adapter 文档 为主体系统讲解微博热搜作为选题数据源的设计契约它是cheat-seedcold-start 默认 source 之一也是cheat-trends的日常候选池补充源最贴合时事评论、社会议题、热点解读类观点视频。读完你将掌握微博热搜两个公开端点的取舍、fetch(limit) - List[Candidate]接口的字段映射规则、四类失败模式的优雅降级策略、stub 期 WebFetch 过渡实现的可运行写法以及热度分数不能直接当选题分数的关键风险认知。一、定位谁在调用 weibo-hot解决什么问题weibo-hot是 adapters/trend-sources 目录下的趋势数据源 adapter被两个 skill 调用调用方调用位置用途cheat-seedPhase 2aMode C 拉素材路径cold-start 用户的第一次选题种子cheat-trends多 adapter 抓取流程日常补充候选池文档明确标注其当前状态为 schema only实际 fetch 实现归 batch 3stub 期由 Claude 通过WebFetch直接抓取 解析详见下文过渡期实现。也就是说本文描述的是一份adapter 实现契约——调用方按文档描述的接口语义来使用它具体抓取逻辑则在 batch 3 落地或由过渡实现承担。在整套工作流中weibo-hot 不是独立产品而是素材 → 候选池 → 打分 → 预测流水线的第一环抓回来的数据先被 normalize 成 candidate-schema.md 定义的统一 schema落入candidates.md候选池再由cheat-score等后续环节处理。这也解释了文档中其他字段null抓取阶段不打分的设计。二、依赖与端点选择两个公开端点一个稳定一个兜底weibo-hot的依赖非常简单公开端点无需 cookie。文档给出两个端点端点类型可靠性https://s.weibo.com/top/summary?caterealtimehotHTML 页面主用推荐https://weibo.com/ajax/side/hotSearchJSON备选部分时段返回 401不稳定主端点返回的是微博热搜榜的 HTML 页面caterealtimehot参数限定为实时热搜分类备选端点返回 JSON但文档明确警告其部分时段返回 401、不稳定因此实际实现应以 HTML 端点为主。相较之下同为趋势源的 zhihu-hot adapter 走的是https://www.zhihu.com/api/v3/feed/topstory/hot-lists/total?limit50desktoptrue官方 JSON API稳定性评级为 ★★★★——微博 HTML 页面结构改动频率更高这正是 weibo-hot 稳定性只有 ★★★ 的根源。三、Fetch 接口与字段映射输出契约的逐字段拆解weibo-hot暴露统一的 fetch 接口fetch(limit: int 50) - List[Candidate]返回符合 candidate-schema.md 的 items 列表。该 schema 是整个 adapters/ 目录的输出契约——任何待决定要不要做的素材手粘列表 / RSS / Notion / 平台热点抓取都必须 normalize 成它之后才能进入候选池。字段映射规则如下Candidate 字段weibo-hot 的取值idsha256(weibo-hot\| normalized_title \| url_path)[:12]title热搜词sourcetrend:weibo-hotsnapshot_text热搜词 如有官方标签 简短摘要自动从热搜详情页抓 1-2 句snapshot_at抓取时间 ISO 8601urlhttps://s.weibo.com/weibo?qencoded_keyword其他字段null抓取阶段不打分由调用方 cheat-score 处理3.1 id 的稳定 hash 设计去重的基础id字段的生成算法需要结合 candidate-schema.md 的完整定义来理解。schema 给出的参考实现是import hashlib def candidate_id(source: str, title: str, url: str None) - str: normalized_title title.strip().lower().replace( , ) url_path url.split(?)[0].rstrip(/) if url else raw f{source.split(:)[0]}|{normalized_title}|{url_path} return hashlib.sha256(raw.encode(utf-8)).hexdigest()[:12]三条关键规则保证了同一条素材在不同时间被不同 adapter 抓到 → 必须算出同 idsource只取冒号前的 adapter typetrend:weibo-hot→trend不取具体 source name——同一标题被微博和知乎都抓到时应判定为同一候选避免重复打分title做 lowercase 去空格——避免Hello World和hello world被算成不同 idurl砍掉 query string——?utm_sourcexxx这类追踪参数不影响内容本身。去重是硬约束cheat-trends/cheat-recommend写入candidates.md前必须执行五步检查candidates.md 已含此 id、predictions/ 已含此 id、.cheat-cache/trends-history.jsonl已含此 id 且被用户拒绝过全部通过才写入。被用户主动拒绝的候选会在 trends-history 缓存中保留 6 个月之后允许重新出现——也许素材在新 rubric 下评估不同。3.2 snapshot_textadapter 不输出光秃秃的 urlschema 强调snapshot_text是打分的输入不是 url。adapter 必须负责把 url 拓展成可读文本。对 weibo-hot 而言这意味着热搜词 官方标签 从热搜详情页自动抓取的 1-2 句摘要全部拼入snapshot_text。这样后续cheat-trends的粗打分阶段用 snapshot_text 作为输入、按当前 rubric 给 7 维打分算 composite才有足够上下文可依。四、失败模式与优雅降级宁可返回空列表绝不抛异常文档给出三类典型失败场景及处理方式症状处理HTML 结构变化导致解析失败返回空列表 stderr 写明 weibo HTML 结构变化参考 adapters/trend-sources/weibo-hot.md 自行修补端点 503 / 限流返回空列表 报告网络不可达返回空列表 报告核心纪律是优雅降级单次失败不抛异常——调用方cheat-seed / cheat-trends会用其他 sources 兜底。这条纪律在整个 adapter 体系中一以贯之candidate-schema.md 的adapter 实现契约明确要求 adapter 在配置缺失API key、cookie时返回空列表 在 stderr/log 写明原因cheat-trends SKILL.md 的 Key Rules 第一条就是不抛异常。单 adapter 失败 → skip 报告并给出多 adapter 汇总时的典型输出✅ weibo-hot: 拉到 15 条/⚠️ trendradar-mcp: 跳过...。失败时的兜底链条由>赞分享AI 技能AI 应用【免费下载链接】cheat-on-contentYoure reading this. The skill predicted it. A workflow that turns every post into a calibrated experiment—score, blind-predict, retro, evolve. The future doesnt reward effort, it rewards those who see the pattern first. 1M followers in a month — not luck, system.项目地址https://gitcode.com/gh_mirrors/ch/cheat-on-content点击查看免费下载相关推荐cheat-on-content 状态 Schema 迁移实战从 1.0 到 1.1 的字段重构与 /cheat-migrate 工作流解析cheat on content 状态 Schema 迁移实战从 1.0 到 1.1 的字段重构与 /cheat migrate 工作流解析 本文围绕 cheAI 技能AI 应用cheat-on-content 热点适配器 zhihu-hot知乎热榜抓取接口、降级策略与选题转化实战指南cheat on content 热点适配器 zhihu hot知乎热榜抓取接口、降级策略与选题转化实战指南 知乎热榜是 cheat on content 内AI 技能AI 应用cheat-on-content × TrendRadar MCP用 25 个多平台热点工具为观点内容选题的 adapter 实战指南cheat on content × TrendRadar MCP用 25 个多平台热点工具为观点内容选题的 adapter 实战指南 导读 本文讲解 chAI 技能AI 应用上一篇基于 GitHub Pages 与 Trae Vibe Coding 构建个人学术主页从模板 Fork 到静态部署的完整实战下一篇Pinpoint Web Frontend v3 Git 协作工作流实战分支策略、QA 门禁与 PR 规范创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考