每天领赛博鸡蛋
「一代人有一代人的鸡蛋要领。」——本 skill 每天清点一遍:国内外主流 AI 平台今天白送什么。
用户要的不是科普,是可执行的清单:哪些额度现在能领、怎么领、什么时候过期、过期前还剩几天。
核心方法论:「第一时间知道」靠的不是每天把几十个网站重读一遍——那既慢又必然漏。 靠的是盯官方渠道的变更+走绕行通道抓境外+搜时效性活动三条腿。
〇、五分钟快速开始(先跑通,再读后面)
触发:说「领赛博鸡蛋」,或直接问「今天有什么免费额度」。
全部动作三条命令,脚本在本技能 scripts/ 目录下,纯标准库、零第三方依赖、无需安装:
| 顺序 | 命令 | 抓什么 | 参考耗时 |
|---|---|---|---|
| 1 | python scripts/fetch_tiers.py <数据目录> |
永久免费层硬数据:汇总仓库 + OpenRouter 零价模型接口 | 约 10 秒 |
| 2 | python scripts/fetch_overseas.py <数据目录> |
境外绕行信源与国内媒体流,按关键词筛出时效性活动 | 约 40 秒 |
| 3 | python scripts/watch_changes.py <数据目录> |
与昨日快照比对,只报真正发生变化的 | 约 60 秒 |
想一步跑完就用一键入口(省得记三条命令):
python scripts/run_all.py <数据目录>
它只是把上面三条按顺序串联,不改变任何一个脚本的行为——单独跑任意一条,效果与经它串联完全一致。某趟失败不会中断后续,末尾统一汇总各趟退出码。几个可选开关:
| 开关 | 作用 |
|---|---|
--check |
只查脚本是否齐备、目录是否可写,不联网 |
--init |
顺带给哨兵建基线 |
--targets <文件> |
指定自定义目标清单 |
--html <清单.md> |
跑完顺带渲染 HTML |
--push <配置.json> |
跑完顺带推送 |
首次运行不需要任何额外准备:哨兵脚本本身就区分「首次建立基线」与「发生变化」——第一次跑出来的结果会全部归入「首次建立基线(下期起可比对)」一节,不会把监控目标误报成「新增」。--init 是可选动作,只在「想先把基线铺好、当天不看变更」时用。
想让哨兵盯自己的目标:在数据目录放一份 targets_user.json(先跑 python scripts/watch_changes.py <数据目录> --init-user 生成样例):
{
"add": [{"name": "即梦官网", "kind": "page", "url": "https://jimeng.jianying.com/"}],
"disable": ["GitHub Copilot 方案", "https://manus.im/"]
}
disable 里写内置目标的名称或网址都行。不建这个文件就用内置清单,行为不变;写法有误会逐条提示并跳过,不会中断整轮。
改完想确认有没有生效,跑 python scripts/watch_changes.py <数据目录> --list-targets——只列出合并后的目标清单,不抓取。
收尾两步:把结果汇总成清单,再运行 python scripts/render_html.py <清单文件>,得到手机可读的单文件 HTML。
最终产出:一份按到期紧迫度分组的清单(今天到期/本周/本月/长期有效),外加一份 HTML。
想让它直接落到手机上(可选,默认关闭):
| 顺序 | 命令 | 作用 |
|---|---|---|
| 4 | python scripts/push_report.py --init |
生成 push_config.json 配置样例 |
| 5 | 编辑该文件,把要用的通道 enabled 改为 true 并填凭据 |
八个通道任选,互不影响 |
| 6 | python scripts/push_report.py --config push_config.json --probe |
通道自检,逐步确认凭据可用 |
| 7 | python scripts/push_report.py --config push_config.json --report out/最新一期.md |
推送当日清单 |
零配置起步用 ntfy:不需要注册、不需要任何凭据,自取一个不易撞名的主题名填进配置,手机装 ntfy 应用订阅同名主题即可收到。通道对照与凭据获取路径见 references/push-channels.md。
不想配也能用:不配推送不影响任何主流程,清单照常落盘。
启用前先看清数据流向:只要启用了某个通道,清单正文就会发往该通道的第三方服务端,并留在对方的服务器上;各通道的凭据也是以明文存放在本机的 push_config.json 里。八个通道默认全部关闭——一个都不启用时,本技能不向任何第三方发送任何内容,只在本地写文件。清单里若含不宜外发的内容,请先删节,或干脆只用本地产出。
想让它每天自动跑:本技能是「被宿主调用的能力」,自身不带调度器——调度交给宿主,不写死在技能里,这样换宿主不必改代码。两种常见挂法:
- WorkBuddy / 同类 Agent 宿主:新建一条每日自动化,把
python scripts/run_all.py <数据目录>写进任务,指定运行时刻即可。 - 服务器:
cron(如0 8 * * *)或 systemd timer,调用同一条链路(用run_all.py则只需一条 crontab 行)。
先跑通这一步就够了。 以下各节是方法论与判断依据,第一次跑出结果之后再回来读,不必先通读。
一、四类目标(缺一类就算没做完)
| 类别 | 具体内容 |
|---|---|
| 文本模型额度 | 永久免费模型、新用户赠送 token、限时免费模型 |
| Agent / Coding 工具额度 | AI 编程工具、桌面 Agent 的赠送积分与限时折扣 |
| 视频 / 生图模型 | 每日免费生成次数、试用期、积分返还活动 |
| 认证类福利 | 学生认证、教师认证、开发者认证赠送的会员或积分 |
二、信源体系(四层,逐层递进)
**不要只用聚合网站。**聚合站信息滞后、会串错厂商、且只覆盖「永久免费层」。必须以官方渠道为主干。
第一层 · 官方直连(主干)
逐个平台盯官网与开放平台。全平台名录与逐条实测状态见 references/platforms.md,此处只讲分工原则:
先把数字说清楚,避免误读:名录里探测了 118 个目标,但实际纳入每日自动监控的只有 32 个(准确清单见 scripts/watch_changes.py 中的 TARGETS)。筛选标准有两条,缺一不可:能直抓、变化频率低。返回 2—7KB 壳页的单页应用(SPA)一律不进监控——壳页里没有额度数字,每天抓到的都是同一段空骨架,纳入监控既无意义,又会制造假信号;这类平台走「官方公告 + 搜索」兜底。这是经过实测的分工,不是能力缺口。
- 国内平台:实测 32/33 直达,是监控主力。但多数定价页是单页应用(返回 2—7KB 壳页),直抓取不到数字,这类走官方文档与搜索。
- 境外平台:实测约半数在本机网络环境下不可达(Google 全系、Mistral、HuggingFace、xAI、Meta、Perplexity 等)。
但不要就此只靠搜索——实测已打通五条绕行通道:镜像站替代、官方 RSS 旁路、国内媒体搬运、免费额度专门站、搜索兜底。
逐条通道、逐平台对照方案见
references/overseas-bypass.md(本产线境外部分的主文件)。 - 优先盯「定价页」而不是首页:免费政策调整必然先反映在定价页与额度说明页;首页只会告诉你发了什么新闻。
第二层 · 官方发布渠道(额度变化的真正首发地)
同一平台往往有多条发布渠道,额度类消息常常不走官网首页,须逐一覆盖:
| 渠道类型 | 说明 |
|---|---|
| 官方定价页 / 额度说明页 | 变化最灵敏,纳入每日快照比对 |
| 官方更新日志(Changelog / Release Notes) | 模型与额度调整常注明在此 |
| 官方 News / Blog | 活动与促销首发 |
| 官方开发者社区 | 国内平台(阿里云、腾讯云、火山引擎)的活动常只在此发布 |
| 官方 GitHub 仓库 | Release 与 CHANGELOG 反映官方工具的发版与政策变更 |
| 官方公众号 | 国内厂商活动的高频渠道 |
| 官方 X / Twitter | 境外厂商首发渠道 |
| 官方小程序 / App | 国内认证类活动常只在小程序内公示,网页查不到,须留意 |
| 官方邮件订阅 / Discord | 补充渠道 |
第三层 · 聚合与社区(只作线索)
- GitHub 汇总仓库:
mnfst/awesome-free-llm-apis(甲级,见第三节)——raw 直连优先(实测 6/6 可达),失败再轮换加速镜像 - 免费额度专门站:
freellm.net(30 家 provider 逐家一页,含速率限制与是否需信用卡,境外平台的最佳单点替代)、freetokens.custats.info(含核实状态与更新日期) - 模型价格对比站:
llm-price.com(表格含上架时间,境外厂商上线与降价的灵敏哨点)、llm-prices.com、aipricing.guru、Artificial Analysis - 国内科技媒体:境外厂商消息的第一时间中文搬运渠道——量子位、IT之家、爱范儿、InfoQ 中国、开源中国、少数派(均有 RSS 可读);新智元、智东西、雷峰网、CNBeta、新浪科技、网易科技、澎湃科技、虎嗅
- 技术社区:掘金(抓包类文章是线索来源)
- 不可达:Hacker News、Reddit r/LocalLLaMA、V2EX、知乎、极客公园在本机网络下不通,改走搜索
用法纪律:聚合站与社区只作线索。任何条目回到官方页面核实后才可写入清单;核不上的标注「待确认」,绝不写成既定事实。
第四层 · 变更哨兵(「第一时间」的关键机制)
每天重读所有网页是行不通的。正确做法是抓一次、与昨日快照比对、只报变化。
python scripts/watch_changes.py <数据目录>
五类目标,各有专用指纹:
| 类型 | 指纹算法 | 为什么这么设计 |
|---|---|---|
price 定价页 |
只取「价格数字集合 + 档位名集合」 | 定价页普遍含 A/B 测试(实测 Cursor 定价页同一 URL 交替返回两个变体)。全文指纹对定价页必然误报;价格集合才反映真实政策 |
names 表格型站点 |
只取第一列名称集合 | 如 llm-price.com 每天新增行——全文指纹实测报「正文 4918→4897 字符」,无法行动;名称集合能直接说出「上架了哪几个模型」 |
page 普通页面 |
全文去噪指纹 + 相似度容差(Jaccard ≥ 0.85 判为抖动) | 抹除构建 ID、nonce、时间戳;再吸掉轮播/随机推荐造成的假变化 |
rss 订阅源 |
条目标识列表 | 只看有没有新条目,并直接列出新增标题 |
gh 仓库 |
只取 pushed_at |
星数每天微增,纳入指纹会天天误报 |
json 接口 |
排序后的条目标识 | 顺序变化(如热门榜重排)不算内容变化 |
首次运行建立基线,次日起即可比对。移出结构性噪声源后,实测连续三轮零假变化、零失败。
两类噪声,任何指纹都救不了,只能移出监控:
- 站点对同一 URL 做 A/B 测试,且两个变体的结构本身不同。实测 Cursor 定价页连抓 6 次——5 次返回
$20/$60/$200(档位含 Ultra),1 次返回$20/$40(档位含 Team/Standard)。这不是「指纹不准」,是页面本身不确定,用阈值去救只会连带漏掉真变化。处置:移出哨兵,改由国内媒体与搜索覆盖,并在目标表写明移出理由。 - 内容频繁变化、但变化与「免费额度」无关。实测把 OpenAI Status(服务故障公告)放进监控后,它一家占了 2/3 的报警量,而报警内容与额度毫无关系——典型的「淹没真信号」。处置:移出,服务可用性交给该厂商的官方 RSS 覆盖。
「单次失败」与「信源失效」必须分开处置:脚本内置跨天失败计数, 单次失败只记「本次抓取失败」,连续 3 次才升入「疑似失效」并在报告单列。 理由:境外站点偶发超时是常态,若按单次失败就换源,会把好信源误判掉; 反之若无此机制,一个真死掉的信源会永远躺在失败栏里无人察觉。 抓取失败时不覆盖旧快照,故下期仍能正常比对。
报告会把「判为抖动」的目标单列,若某目标连续多日出现,说明该站改版较大,应改指纹方式。
哨兵报「有变化」不等于「有新福利」——可能是营销文案调整,必须打开页面确认。
三、每日流程(六步,顺序执行)
第一步 · 甲路:抓永久免费层硬数据
python scripts/fetch_tiers.py <数据目录>
两条信源:
mnfst/awesome-free-llm-apis(GitHub 汇总仓库)——实测:7,700+ 星,README 可 raw 直取,16 家供应商、118 条模型条目,含中国三家(智谱 Z AI、魔搭 ModelScope、硅基流动 SiliconFlow)。结构规整:供应商 → 免费说明 → Base URL → 模型表(上下文/最大输出/模态/限额)。该仓库只收永久免费层,明确排除限时促销,正好与乙路互补。- OpenRouter 模型 API(
https://openrouter.ai/api/v1/models,免密钥)——判定免费:pricing.prompt == 0且pricing.completion == 0。实测全站 446—447 个模型(模型数在变)中 25 个零价,比仓库更实时,两源冲突时以此为准。
已知失效信源:cheahjs/free-llm-api-resources 已 404(该领域曾最知名的仓库)。NAZCAMEDIA/free-llm-api-resources 是他人 fork,最后更新 2026-02-18,仅作参考。若主仓库拉取失败,先到 GitHub 搜同类仓库换源,不要直接报「无数据」。
第二步 · 境外路:走绕行通道抓境外信源
python scripts/fetch_overseas.py <数据目录>
境外官网约半数直连不通,但消息并非拿不到——本脚本只走实测可达的七条抓取路径(按通道归类,见 references/overseas-bypass.md),不硬试不通的域名:
| 通道 | 抓什么 |
|---|---|
| freellm.net 详情页 | 18 家重点境外供应商的速率限制、免费模型数、是否需信用卡、最近更新日 |
| llm-price.com | 模型价格表,含上架时间("yesterday"/"5 days ago")——上线与降价的灵敏哨点 |
| hf-mirror.com | 替代不通的 HuggingFace:趋势模型(含下载/点赞)+每日论文 |
| OpenRouter API | 免密钥,实时判定输入输出双零价模型 |
| GitHub 汇总仓库 | 取回 mnfst 仓库 README。直连 raw.githubusercontent.com 优先(实测 6/6 可达),失败再轮换加速镜像 |
| 官方 RSS 直连 | OpenAI News、DeepMind Blog、GitHub Blog(官网 403 或不通,RSS 通) |
| 国内媒体 RSS | 量子位/IT之家/爱范儿/InfoQ/开源中国/少数派,按关键词筛「免费/赠送/额度/降价」 |
实测一次跑通的产出:30 家 provider 清单、18 家详情、24 行价格动态、20 个趋势模型、 15 篇论文、25 个零价模型、汇总仓库全文、3 条官方 RSS、6 条媒体流。
通道细节与逐平台对照方案见 references/overseas-bypass.md。
第三步 · 哨兵:跑变更检测
python scripts/watch_changes.py <数据目录>
产出「变更报告」。只把真正变化的目标送进后续步骤核实,不必逐个重读。
第四步 · 乙路:搜索时效性活动
甲路与哨兵解决不了「刚上线的活动」,必须搜。逐条搜以下关键词:
1. 免费 token 赠送 活动 AI 大模型 新用户 额度 ← 时效过滤:近 7 天
2. AI 工具福利 免费会员 限时 折扣 汇总 ← 时效过滤:近 7 天
3. AI 编程工具 免费额度 赠送 积分 Trae Qoder Cursor
4. 免费 视频生成 生图模型 每日免费 试用期
5. 学生认证 教师认证 免费领取 AI 会员 积分
6. 新模型 限时免费 试用 大模型 发布
7. (按需补充当前热点产品名,如各家新出的 Coding 工具、Agent 产品)
注意:视频与生图类平台的免费额度变动最频繁,且常只在小程序或 App 内公示,不要因为官网没写就断定没有。
第五步 · 汇总成清单
按第四节格式输出 Markdown,写清信源级别与核实状态。
第六步 · 渲染 HTML(手机可读的那一份)
python scripts/render_html.py <清单.md> <输出目录>
产出与清单同名的 .html,单文件、无外部依赖,双击即可打开,手机上也读得顺。
为什么要交给脚本而不是每次手写 HTML:版式稳定(每天长得一样,一眼认得出)、省积分(渲染是确定性工作,模型只管内容)、不出错(表头与转义由脚本负责,不会写坏标签)。
渲染器自带的版式规则:按标题关键词自动给分栏上色与配图标——「到期」红色加🔥(最醒目,使用者最怕错过截止日期)、「无条件/立即」绿色加🎁、「认证」琥珀色加🪪、「永久免费」蓝色加♾️、「无变化」灰、「免责」浅灰。表格在窄屏可横向滑动。
每条清单交付时给两份:Markdown 便于复制与再编辑,HTML 便于直接阅读。
三之附 · 境外不通怎么办(核心机制)
这是本产线最关键的一节:境外平台不可达,不等于拿不到它的消息。
五条通道按可靠性排序,不得只靠搜索:
| 通道 | 覆盖 | 实测 |
|---|---|---|
| 镜像站替代 | HuggingFace → hf-mirror.com(全套:模型 API/博客/论文/趋势/定价);GitHub raw → ghproxy.net 等多个加速镜像轮换;OpenAI 文档 → openai.wiki |
取回字节数与源站完全一致(28,367 B),内容未篡改 |
| 官方 RSS 旁路 | OpenAI News(720 KB)、DeepMind Blog(69.8 KB)、GitHub Blog(724 KB)、OpenAI Status(802 KB)、Anthropic News(451 KB)、Stability News(314 KB) | 官网 403/不通,RSS 照通 |
| 国内媒体搬运 | 量子位、IT之家、爱范儿、InfoQ、开源中国、少数派(RSS 可读)+ 新智元、智东西、雷峰网、CNBeta、新浪/网易/澎湃科技、虎嗅 | 17/17 主站可达——时效性最好的一路 |
| 免费额度/价格专门站 | freellm.net(30 家 provider 逐家一页)、llm-price.com(含上架时间)、freetokens.custats.info、Artificial Analysis |
境外主体但本机全部可直连 |
| 搜索兜底 | 全部境外平台,含本机完全不通的 ai.google.dev |
实测取回 Google 官方定价页完整中文口径 |
已确认不通、不必浪费时间的域名(换路径也没用):
blog.google 全系、ai.google.dev、cloudblog.withgoogle.com、ai.meta.com、
mistral.ai、docs.mistral.ai、x.ai、huggingface.co、perplexity.ai、
lumalabs.ai、pika.art、lmarena.ai;
midjourney.com、platform.openai.com 返 403。
这张名单是「多次复测仍全败」的结果,不是一两次探测的结论。 凡单次超时、
IncompleteRead、或页面大于 0.5 MB 的失败,都不足以判为不可达—— 实测github.com系列(1.26 MB 的方案页)与raw.githubusercontent.com都曾被误判为不可达, 放宽超时后全部复通。判据与排除办法见第九节第一条。
RSSHub 公共实例不要高估:实测 29 条常用路由仅 4 条可用
(/openai/news、/huggingface/daily-papers、/hackernews/best、/ithome/it),
其余大量 503。可用实例:rsshub.rssforever.com、rsshub.liumingye.cn、rsshub.woodland.cafe。
「RSSHub 能把任意网站变 RSS」是误解,只作补充,不列主通道。
四、每条信息的必查四项
搜到一条福利,四项填不齐就不写进清单:
- 额度——具体是多少(3 万 token/1000 积分/每月 100 万),不许写「大量」「丰厚」。
- 领取条件——要不要实名、绑卡、学生或教师认证、是否限新用户。
- 截止日期——写年月日;查不到就写「未标明」,绝不推算、绝不编造。
- 信源链接——官方页面优先,并标注信源级别。
信源分级
| 级别 | 类型 | 用法 |
|---|---|---|
| 甲级 | 厂商官方活动页、官方文档、官方公告、可程序化核实的接口数据 | 直接采信 |
| 乙级 | 官方开发者社区、官方公众号发文 | 采信,标注来源 |
| 丙级 | 第三方「福利大全」聚合文章 | 只作线索,回官方核实后才写入;核不上标「待确认」 |
丙级文章覆盖面广(一次可列二十余家厂商),但会过时、会串行错位(把 A 厂商的活动写到 B 厂商名下)。绝不能直接转述。
五、输出格式
按「紧迫度」分组,不按厂商分组
使用者最怕的是错过截止日期,所以排序逻辑是过期时间,不是厂商名气:
- 今天就到期(红色警示,放最前)
- 本周内到期(按日期升序)
- 本月内到期
- 长期有效/永久免费(压轴,不用着急)
每条一行,信息密度拉满
某 Coding 工具夜间额度加成
额度:23:00—9:00 期间指定模型额度归零、其他 Agent 翻倍
条件:注册即用,无需认证
截止:2026年9月20日(还剩 1 天)
信源:<官方链接>(甲级)
另设三个专列
- 新出现的——相比上一期新冒出来的活动,避免使用者重复看旧信息
- 今天到期/已过期——明确标记,过期项不再出现在可领取区
- 本期无新增——搜不到就如实写,不许为凑数重复上期条目
收尾必带免责声明
注明:信息来自各厂商公开渠道,活动规则与截止时间可能随时调整,参与前以官方页面为准;标注「待确认」的条目尚未回溯官方,不具备决策效力;有身份认证要求的活动须自行确认资格。
六、资格门槛(写清条件,不替使用者下结论)
清单是给使用者本人看的,不是把全网活动罗列一遍。凡有身份门槛的福利,必须写清门槛,由使用者自行判断是否具备资格:
| 门槛类型 | 处理方式 |
|---|---|
| 学生认证 | 写清「限何类院校、何种在读状态」及认证渠道 |
| 教师认证 | 写清「限何类学校在职教师」及认证渠道(国内多为教育部「中国教师」小程序核验) |
| 开发者 / 企业认证 | 写明所需材料 |
| 需境外手机号 / 境外支付方式 | 如实标注,不代为判断 |
| 需绑定信用卡 | 标注「需绑卡」,把决定权留给使用者 |
| 需实名认证 | 注明,并说明是否影响免费额度领取 |
纪律:拿不准使用者是否符合资格时,标注「需自行确认资格」,不要替他下结论说能领;但若门槛明显是身份性质不符(例如要求在校教师而使用者是企业在职人员),应明确讲清卡点在哪,省得他白跑一趟。
七、交付
每条清单出两份(Markdown 便于复制编辑,HTML 便于直接阅读):
- 按日归档:
out/赛博鸡蛋-YYYY-MM-DD.md+ 同名.html - 固定入口:
out/最新一期.md与out/最新一期.html(每次覆盖,点开即看当天) - 变更报告:
out/变更报告_YYYY-MM-DD.md - 交付后一句话报三个数:今天能领几项、几项快到期、有没有新出现的
若挂每日自动化:跑完必须把两份文件拷到使用者容易找到的位置(如桌面固定目录), 不要只落在项目目录里——使用者不会去翻项目文件夹。 另注意机器需处于开机状态,否则该次不执行。
推送(可选,按需启用):清单落盘之后,可调用 scripts/push_report.py 投递到手机。三条规矩:
- 推送不是交付的必要条件。配置缺失、凭据失效、某通道报错,都不影响当日清单的产出与归档——
push_report.py逐通道报告结果,一个通道失败不牵连其余通道,脚本自身也不写入任何清单数据。 - 超长按通道上限显式截断。企业微信 markdown 正文仅约 4096 字节,长清单必然超限;脚本会截断并附一行说明,不让平台静默丢弃。清单较长时,建议该通道只推摘要。
- 凭据只落本机文件。
push_config.json含明文凭据,已在.gitignore中排除;不要提交到仓库,也不要在命令行明文传参。
八、红线
- 不许编造额度与日期。查不到截止日期就写「未标明」;额度不确定就不写。
- 不许把「可能」「听说」写成既定事实。丙级信源未核实的内容,明确标注「待确认」。
- 不许写需要绕过风控或违反平台条款的「薅法」。只写官方渠道的正当领取方式。
- 数量不作目标。宁可写 5 条准确的,不写 20 条含水的。
- 哨兵报变化不等于报福利,必须人工确认后才可写入清单。
- 国内政府网站、UGC 平台不作信源。
- 本技能只报「哪里能领、怎么领」,不代使用者领取额度。 不做代登录、不代为提交认证材料、不代为点击领取、不绕过任何平台的风控或人机校验。原因有三:一是领取动作普遍要求登录态与实名信息,代操作等于把使用者的账号交给第三方代码;二是各平台服务条款普遍禁止自动化代领,一旦触发风控,损失的账号是使用者的;三是本技能的定位是情报而非代跑腿——把「哪家今天在发、条件是什么、几号截止」讲清楚,本身就是它全部的价值。使用者问「你能不能帮我领」,答复是给出直链与所需条件,让他自己点一下。
九、已知坑(实战踩过)
⚠️ 最严重的一类错:把「大页面超时」误判成「域名不可达」。 本产线犯过两次,两次都把可用通道封死。判定「不可达」前必须排除三种假象:
假象 实测案例 排除办法 大页面在紧超时内传不完 github.com/features/copilot/plans是 1.26 MB,用 25 s 超时连续 5 次失败,被误判为「github.com 被墙」;放宽到 45–75 s 后 5/6 成功页面越大超时越要放宽:0.5 MB 给 45 s,1 MB 以上给 75 s 传输中断 IncompleteRead495 KB 的仓库页 6 次中 1 次中断 属传输未完成,与超时同类,一并重试,不是封锁 单次抖动窗口 raw.githubusercontent.com初测超时被记为「直连不通」,复测 6/6 稳定可达至少 5–6 次复测;单次结果一律不定论 唯一可信的判据:同一目标多次复测仍全败,且换路径(RSS/API/镜像)同样全败。只测一两次就写进「不可达」名单,比漏掉一个信源更糟——它会把好通道永久封死。
GitHub 仓库会改名或消失:
cheahjs/free-llm-api-resources曾是该领域最知名仓库,现已 404。甲路仓库拉取失败时先换源,不要直接报「无数据」。GitHub raw 与 API 均可直连(初版结论已推翻):
raw.githubusercontent.com实测 6/6 稳定可达(28,367 B,7.9 s),api.github.com6/6,github.com首页 6/6(575 KB)、/trending6/6(646 KB)。直连优先,加速镜像(ghproxy.net/gh-proxy.com/gh.xxooo.cf/jsDelivr)只作冗余;gh.llkk.cc/ghp.ci/github.moeyy.xyz/hub.gitmirror.com/raw.gitmirror.com/raw.kkgithub.com全不通。但 raw 子域会整段波动,直连不能当唯一路径:2026-09-20 实测同一时刻,
raw.githubusercontent.com连续 3 次RemoteDisconnected,而api.github.com同一时刻 2/2 HTTP 200——是 raw 子域波动,不是仓库失效;数十分钟后复测,直连又恢复正常。 甲路原先只走直连,波动期会整体失效,现已补上回退链(fetch_tiers.py的fetch_readme()):直连 →ghproxy.net→gh-proxy.com→gh.xxooo.cf→ jsDelivr。 同日实测三个镜像全部 HTTP 200、28,367 B、0.8—1.0 s,比直连更快;jsDelivr 连接被重置,仅留作末位冗余。凡单点信源都要带兜底,不能假设它一直通。hf-mirror 有独立限流:
/papers复测出现 429。镜像站限流严于源站,一天一次足够,不要连抓。freellm.net 首页的 provider 计数会随目录扩充而变动:实测某日首页正文由 9,834 字符变为 9,936 字符,哨兵报「有变化」;人工复核发现是首页口径由「30 家 provider/483 模型」变为「31 家 provider/511 模型」——目录新增了一家(Cerebras,标注 Permanent Free 但收录 0 个免费模型)。这类变化不产生任何可用额度,属结构性噪声。处置:哨兵报 freellm 首页变化时,先看 provider 计数是否变化,再看新增的那家有没有实际免费模型,无模型即不写入清单。
freellm.net 并发过高会被整体限流:实测 6 并发抓 18 个详情页时,连首页都返回超时(HTTP -1)。已降到 4 并发并加 3 次重试。境外专门站都要按这个标准设防。
freellm 详情页的模型 ID 会混入 Astro CSS 类名:页面里满是
provider-shell、provider-hero-card、provider-logo-box等,且满足「带连字符的小写串」正则,必须显式过滤provider-前缀,否则结果全是噪声。速率限制数字带千分位逗号:
1,000 RPD用(\d+)会截成000,须用([\d,]{1,7})。定价页普遍含 A/B 测试,全文指纹必然误报:实测 Cursor 定价页同一 URL 交替返回两个变体(正文 7474/8086 字符),全量 5-gram 相似度稳定在 0.7986。 结论:定价页一律用
kind="price"结构化指纹(只取「价格数字集合 + 档位名集合」)。对照实测:Anthropic 定价页连抓 3 次完全相同(20705 字符、27 个价格项),证明该指纹对稳定站点有效。但 A/B 变体套餐结构也不同的页面,指纹无解,须移出监控:Cursor 定价页连抓 6 次——5 次给
$20/$60/$200(档位含 Ultra),1 次给$20/$40(档位含 Team/Standard)。两套套餐结构不同,任何指纹都会交替报警。 处置是移出哨兵(已在watch_changes.py目标表中注明理由),改由国内媒体与搜索覆盖。不要靠调阈值硬扛——那会连带漏掉真变化。星数不要进指纹:GitHub 仓库星数每天微增,纳入指纹会天天误报。仓库元数据只取
pushed_at。相似度阈值不能拍脑袋:MinHash 采样 80 个样本时,对同一内容的 Jaccard 估计误差约 ±11%(实测真值 0.7986,N=80 估出 0.7391)。样本太少既会漏判也会误判,要实测真值再定阈值。
Bing 结果页可达但不可解析:
cn.bing.com/search返回 96 KB,按<h2><a>结构解析出 0 条(结构已变或 JS 渲染)。程序化搜索不要走 Bing 抓取,直接用工具的搜索能力。RSSHub 公共实例覆盖率很低:实测 29 条常用路由仅 4 条可用,其余大量 503。「RSSHub 能把任意网站变 RSS」是误解,只作补充。
国内平台定价页多为单页应用:智谱
open.bigmodel.cn/pricing直抓仅返回约 3.9KB 壳页,取不到内容。国内额度信息走搜索与官方文档,不走页面直抓。视频与生图平台的官网基本做不成指纹目标(2026-09-20 实测 16 站):这类站里,壳页(智谱清言 4 字、腾讯混元 4 字、通义万相 19 字、即梦定价页 24 字、可灵中国站 83 字)与不可达(Runway 308、Midjourney 403、Pika/Luma/Krea 代理 502、可图超时)各占一半。最需要警惕的是第三类——即梦/可灵/海螺正文有 400–1100 字且连抓 3 次零波动,看着像合格目标,实则既无价格也无档位名,只能做整页指纹(改版才响,额度变化根本反映不出来),收录进来纯属凑数:判一个站能不能进哨兵,先看它有没有「价格或档位」这类结构化信号,再看它稳不稳定——两条都过才收。 16 站里只有两站过关(MiniMax 开放平台、Flux 官方定价,连抓 3 次指纹完全一致),已收录。
境外平台半数不可达:Google 全系、Mistral、HuggingFace、xAI、Meta、Perplexity、Luma、Pika 直连失败;Groq Console、Cerebras、Together、Midjourney、Lovable 返回 403(Cloudflare 反爬)。不要硬试换路径——换路径无效,直接走
references/overseas-bypass.md的五条通道。官方 RSS 也会偶发失败:同一轮实测中三条官方 RSS 一次 3/3 成功、一次 2/3。属网络抖动,单次结果不能定论,须复测。
国内平台账号接口需密钥:硅基流动
/v1/models、智谱/api/paas/v4/models均返回 401,属正常,不要误判为信源失效。正则与编码:脚本一律用文件写入方式编写,不要用 heredoc(会吃掉
\,导致正则报unterminated character set);Windows 环境下 Git Bash 的/tmp与原生工具的/tmp不是同一位置,临时文件落盘到工作目录。Nuxt / Vue 站点载荷的键名不带引号:形如
mark_content:e(值为变量引用),用"key":"value"的正则必然匹配不到,须用"?key"?\s*:。同一文件的多处编辑必须串行:并行下发两次编辑,先写的会被覆盖(返回成功但未落盘)。改完须复核。
判断推送通道是否可用,看有没有业务错误码:用明显无效的凭据各发一次,凡返回平台自己的业务错误码(钉钉
300005、飞书19001、企业微信93000、PushPlus903),即证明 TLS 握手、DNS、路由、API 端点全部正常,只差真凭据。若返回的是连接超时或握手失败,才是网络问题。这条判据让「通道能不能用」在拿到凭据之前就能定论。钉钉
300005是「token 不存在」而非「token 无效」:实测假 token 返回errmsg: token is not exist。真实场景里这个码多半意味着复制 access_token 时漏了尾部的几个字符,而不是机器人被删——提示语要指向「重新完整复制」,不要让人去重建机器人。企业微信 markdown 正文上限约 4096 字节,是八个通道里最紧的:长清单必然超限。企业微信对超长内容的表现是报错或截断,不能让平台静默丢弃——脚本按通道上限显式截断并附说明,长清单建议该通道只推摘要。
HTTP 头里的中文必须做 RFC 2047 编码:ntfy 的
Title头是 HTTP 头,直接塞 UTF-8 中文会被编解码链路破坏(latin-1编不出来)。须用email.header.Header(title, "utf-8").encode()转成=?utf-8?b?...?=形式再放进头里。正文走 Body 不受此限。--init这类写文件的入口要自己建父目录:实测把配置写到不存在的目录时直接抛FileNotFoundError堆栈,对使用者毫无指引。凡脚本主动写文件的入口,先os.makedirs(os.path.dirname(...)),失败时给出一句中文说明而不是 traceback。文档里写的警告,也必须先在代码或实跑里验证过:本文档曾写「不建基线,第一次运行会把全部监控目标报成『新增』,结果不可用」——经实测是假的(首次运行输出「变化 0|基线 28」,一条都没误报),代码里
if old is None: baseline.append(...)本来就区分了「首次建基线」与「发生变化」。一句没验证过的警告,凭空抬高使用门槛,还会以「产品缺陷」的形式反弹回来(评测者据此提了改进建议,得再花一轮实测去证伪)。判据永远是实跑行为,不要拿文档当代码的证据。条件性输出的报告,章节编号必须动态生成:早先章节标题写死「一、二、三、四、五」,而空章节不输出,于是报告里出现了「一、三、五」的跳号。改成计数器顺延后,编号始终连续。
十、实际产出样例
以下为一份真实交付物脱敏后的形态,用于说明「跑完到底拿到什么」。
一、清单正文(out/最新一期.md)
# 今天能领什么 · 2026年9月22日
> 共 12 项可领;3 项本周内到期;新增 2 项。
## 今天就到期
- **某生图模型新用户试用额度**
额度:新注册账号一次性赠 200 次生成
条件:注册即用,无需认证
截止:2026年9月22日(今天到期)
信源:官方链接(甲级)
## 本周内到期(按日期升序)
- **某 Coding 工具夜间额度加成**
额度:23:00—9:00 期间指定模型额度归零、其他 Agent 翻倍
条件:注册即用,无需认证
截止:2026年9月25日(还剩 3 天)
信源:官方链接(甲级)
## 本月内到期
- …(按日期升序)
## 长期有效/永久免费
- …(压轴,不用着急)
## 本期新出现的
- …(2 项,与上一期快照比对后得出)
## 今天到期/已过期
- …(昨日 1 项已过期,不再列入可领取区)
## 本期无新增
本次检索未发现其他新增目标。
---
信息来自各厂商公开渠道,活动规则与截止时间可能随时调整,参与前以官方页面为准。
标注「待确认」的条目尚未回溯官方,不具备决策效力。
有身份认证要求的活动须自行确认资格。
二、单文件 HTML(out/最新一期.html)
由 scripts/render_html.py 生成,手机直接打开可读:按紧迫度自动配色配图标,今天就到期的条目置顶并标红,长文自动折行,不引 CDN、不加载外部图片,离线可看。
三、变更报告(out/变更报告_2026-09-22.md)
# 变更报告 · 2026-09-22
| 目标 | 类型 | 状态 | 说明 |
|---|---|---|---|
| 目标 A | price | 有变化 | 定价页新增一档赠额 |
| 目标 B | rss | 无变化 | — |
| 目标 C | gh | 疑似失效 | 连续 3 次失败,已升级标记 |
共检测 32 个监控目标:有变化 2、无变化 29、疑似失效 1。
四、交付时的一句话
今天能领 12 项,其中 3 项本周内到期,新增 2 项。
十一、反模式:应当避免的用法
| 反模式 | 错在哪里 | 正确做法 |
|---|---|---|
| 搜不到就编一条 | 清单的价值在于可信,一条假信息就毁掉整期 | 搜不到即写「本期无新增」,宁缺毋滥 |
| 把上期条目原样重贴充当本期 | 使用者以为有新增,实际是重复劳动 | 只报与上期快照比对后的变化;无变化就如实写 |
| 为凑数量把宏观科普塞进清单 | 清单要的是「今天能领什么、怎么领、几号截止」 | 每条必须落在可执行动作上;科普另文 |
| 不写截止日期 | 错过截止日期是使用者最大的损失 | 每条必写截止时间,并按紧迫度分组排序 |
| 不写信源与级别 | 无法复核,也无法判断可信度 | 每条附信源与分级(甲/乙/丙) |
| 一次性把十几个网站全量重读 | 既慢又必然漏,成本还高 | 盯官方渠道变更 + 走境外绕行通道 + 搜时效性活动,三条腿并行 |
| 替使用者判断他符不符合资格 | 资格判断错会导致白跑一趟,责任不清 | 写清门槛条件,由使用者自行确认;身份性质明显不符时明确点出卡点 |
| 把「待确认」条目与已核实条目混排 | 未回溯官方的条目不具备决策效力 | 一律显式标注「待确认」,不与已核实条目混在一起 |
十二、常见问题(FAQ)
问:要花钱吗? 不要。纯 Python 标准库实现,零第三方依赖,不需要任何 API Key。
问:一天要花多久? 日常一次串联执行,分钟量级;首次运行会建立基线快照,稍长一些。
问:会不会每天把几十个网站重读一遍? 不会,也不应该。机制是「盯官方渠道的变更」——只比对快照指纹,变了才报,没变就不出现在清单里。
问:境外平台抓不到怎么办?
走绕行通道:镜像站、官方 RSS、国内媒体搬运、免费额度专门站、搜索兜底,共五条;实测可达的抓取路径逐条记录在 references/overseas-bypass.md。仍未覆盖的目标会在清单里标注「待确认」,不会编造。
问:某个信源今天抓失败了,清单会不会断? 不会。单趟失败不中断后续步骤;抓取失败时不覆盖旧快照,保证下一期比对仍正常;连续 3 次失败才升级为「疑似失效」并出现在变更报告里。
问:清单怎么送到手机上?
两条路:一是打开单文件 HTML(out/最新一期.html),手机可读、离线可看;二是配置推送通道,支持钉钉、飞书、企业微信、Server酱、PushPlus、Bark、ntfy、邮件共八类,--init 生成配置、--probe 通道自检、--dry-run 预演。推送默认关闭,开启后清单正文会发往对应第三方服务端。
问:能只盯我自己关心的平台吗?
可以。watch_changes.py --init-user 生成 targets_user.json,用它 add 自己的目标、disable 内置目标。不建该文件时行为与从前完全一致。
问:需要什么运行环境? Python 3,标准库即可;Windows/macOS/Linux 均可。
问:结果能接进别的流程吗? 能。清单为 Markdown,变更报告与抓取产物为 JSON,可自行解析。
问:清单里的活动过期了会怎样? 过期项不再列入可领取区,移入「今天到期/已过期」专列明确标记,下一期直接剔除。
十三、配套文件
| 文件 | 用途 |
|---|---|
scripts/fetch_tiers.py |
甲路:抓永久免费层(汇总仓库 + OpenRouter),产出 JSON 与 Markdown |
scripts/fetch_overseas.py |
境外路:走七条实测可达的抓取路径(①freellm.net ②llm-price.com ③hf-mirror ④OpenRouter ⑤GitHub 汇总仓库 ⑥官方 RSS ⑦国内媒体),归入 overseas-bypass.md 的五条通道 |
scripts/watch_changes.py |
哨兵:官方渠道变更检测,内置 32 个监控目标(准确清单见文件内 TARGETS,可再用 targets_user.json 叠加自有目标)——price 定价页/names 表格站/page 网页/rss 订阅源/gh 仓库/json 接口+ 跨天失败计数(连续 3 次失败升为「疑似失效」) |
scripts/render_html.py |
清单渲染为单文件 HTML(手机可读、按紧迫度自动配色配图标),供交付时出第二份 |
scripts/run_all.py |
一键入口:把三条抓取命令串联执行(某趟失败不中断后续,末尾汇总退出码),可选接上渲染与推送。--check 只自检不联网 |
targets_user.json |
用户自定义监控目标(可选,放数据目录):add 加目标、disable 停用内置目标。由 watch_changes.py --init-user 生成样例;不建此文件则行为与从前完全一致 |
scripts/push_report.py |
推送通道(可选):八类通道(钉钉/飞书/企业微信/Server酱/PushPlus/Bark/ntfy/邮件),--init 生成配置、--probe 通道自检、--dry-run 预演;按通道上限截断,错误码翻译为可行动提示 |
push_config.json |
推送凭据配置(由 --init 生成,含明文凭据,已在 .gitignore 排除) |
references/overseas-bypass.md |
境外绕行通道专章:五条通道实测、逐平台对照方案、已确认不通的域名清单 |
references/push-channels.md |
推送通道专章:八通道选型对照、凭据获取路径、各通道正文上限、常见错误码速查、实测记录 |
references/platforms.md |
全平台信源名录:118 个探测目标的逐条实测状态、官方渠道、绕行方案。其中 32 个纳入每日监控,其余走搜索兜底(口径说明见该文件顶部) |
references/sources.md |
信源实测记录与失效清单 |