免费额度
超出以下额度后,前端会引导用户订阅。真正的强制拦截在 Cloud Functions(checkAndConsumeQuota)里做,这里只是配置来源。
开通地区
勾选的市/县,系统每天会抓取当地新闻或热门话题总结。用户端会按自己设置的地区(或 IP 粗略定位)就近匹配;不在下面名单里的城市,用户可以在设置页点"申请开放",也可以直接在下面手动添加任意国家/城市(不局限于这棵树)。
手动添加其他地区
树上没有的国家/省/市,都可以在这里直接输入名字添加——只要和用户设置页里手动输入的名字一致(大小写、空格不影响匹配),就能正确匹配上,比如 "Moose Jaw"。
立即抓取
2026-08 起,"抓取原始内容"和"AI 改写成多语言等级版"拆成了两步(见 PRD"内容生成与成本优化架构"):这个按钮会先抓取 + 去重复(很快,不调用 AI),再从库存里挑最老的未生成条目自动改写(受下面"每日抓取上限"约束)。如果只想单独攒库存、不消耗生成配额,用下面这个按钮;库存攒够之后,也可以去"原始内容"标签页手动挑分类批量生成。第一次点击、且还没配置过任何信息源时,会自动用一批验证过的默认 RSS 源(见下面"各频道信息源")。
抓取公有领域经典("世界名著"分类)的原文
"世界名著"这个分类之前只有壳子、没有真正的内容——之前唯一有生成逻辑的图书分类是"原创短篇"(AI 自创故事,不涉及版权)。下面这几本都是核实过的公有领域原文(作者去世都远超所在法域的版权保护期限),从 Project Gutenberg 抓取原文。2026-08 重新设计:这里现在只做"下载原文 + 按章节切分",不调用 AI(几秒钟就能跑完),每章会作为一条"原始内容"进"原始内容"标签页——去那里点"生成未生成的 N 节",一节一节生成、生成好一节前端就能看到一节;最高等级(原文语言)看到的是完整原文本身,不是缩写。要扩充书目需要改代码(核实版权状态不适合交给前端随便填)。
如果某本书是在"内容完整性修复"之前生成的旧版本(比如只有寥寥几页就概括完整本书),先点"重置这一本"删掉旧内容和旧章节,再点上面"抓取这一本的原文"重新来一遍。
补齐旧内容的 A1-C1 等级
CEFR 等级从三档扩到五档(A1-C1)之后,新生成的内容自动就是五档齐全的;但在这次改动之前已经生成好的旧文章/图书,当时只写了三档,"更难/更简单"按钮找不到 A1 或 C1 是因为那两档确实还没生成,不是 bug。点这个按钮会扫描已有内容,只给缺档的文章/图书补写缺的那几档(已经有的档位不会重新生成,不浪费调用)。内容比较多时可能要点好几次才能扫完,每次都会接着上次扫到的位置继续,不会重复扫。
修复"资讯"被误标成"新闻"的旧内容
医学健康/汽车/机器人与人工智能/建筑与设计/零售与消费/金融/教育这几个"资讯"分类,之前抓取流水线一律写成了 type:"news",导致前台"资讯"导航页一直查不到真实生成的内容(只有演示数据)。这个按钮把已经生成、分类其实属于"资讯"的旧内容改回 type:"info",只需要点一次(内容多的话可能要点几次,直到提示"已经全部处理完");之后新抓取的内容会自动分类正确,不需要再点这个。
自动抓取时间(可以勾选一天里的多个整点)
云函数每小时都会醒来检查一次,命中下面勾选的整点才会真正跑一次抓取+改写流水线;改这里不需要重新部署代码,云函数下次整点检查时生效(最多等 1 小时)。每次流水线本身有独立的时间预算(8 分钟),分类/地区比较多时,只勾 1 个整点可能不够把当天配额都跑完——建议错开勾 2~4 个整点(比如 3、11、19 点),一天多跑几轮。时区以云函数部署时区为准(默认 America/Regina)。
各频道信息源 + 每日抓取上限
每个频道下面的圆角按钮是推荐信息源,点一下就能快速换用/添加;也可以直接在输入框里手动改成任何 RSS 地址。如果当天源里没有那么多新内容,实际抓取数量会小于上限,但绝不会超过(避免浪费资源)。
每日图书生成上限
最近抓取记录
浏览原始内容
2026-08 新增:抓取原始内容和 AI 改写成多语言等级版是两个独立的步骤(见"信息抓取"标签页的说明)。这里按分类/地区/图书分别浏览抓到的原始条目——勾选后可以批量删除,或者点"生成未生成的 N 条"让 AI 批量改写;生成过程中这个列表会实时看到状态从"待生成"变成"已生成"(不用手动刷新)。新闻类原始条目带着抓取时间;图书章节按原书顺序编号。
按频道查看已生成的内容
"查看"能看到这条内容已经生成了哪些语言/等级;"删除"直接从 Firestore 里移除;"生成"会立即为这个频道抓取/构思并改写一条新内容,不受每日配额或定时任务限制,方便随时补内容测试。
"紧急补词"会重试所有用户在前台加入生词本、但还没成功补上释义的词(正常情况下加入的瞬间后台就会自动补,这个按钮是保险丝)。
词库管理(按字母顺序系统性收录)
2026-08 重新设计:以前"补充词库"是让模型"随便给几个新词",模型天然会反复推荐最常见的那一小撮词,越往后新词命中率越低——这正是"好多天才抓到 300 个词"的根因。现在改成按字母顺序系统性抓取:每个(语言,等级)都记着"最后抓到的词",点下面的圆圈会要求模型"从这个词之后按字母顺序继续",保证扫过整个字母表,而不是在常见词附近打转。圈内第一行是等级代号,第二行是"已收录 / 总计",点一下会从记录的位置继续抓一批(默认 100 个),可以重复点,直到扫到字母表末尾(会自动提示"已扫完,下次点击会开始新一轮",能补上模型这一轮漏掉的词)。
单词列表
按语言 + CEFR 等级筛选已经收录的词条,或者两个都选"全部"看整个词库。
成语 / 习语 批量生成
跟词库爬取类似,但不需要按字母顺序系统性扫描——直接请求模型给一批还没收录过的常用成语/习语,每条都带一个 1-100 的常用度评分(前台"学习 → 成语"页默认按这个分数从高到低展示)。
情景对话标签数据
⚠️ 110 个二级标签的原始中英双语命名文本在此前一次上下文压缩中丢失了,当前是占位文本(清楚标成"待补充"),不是编造的假标签。等用户重新提供完整清单后,会更新 functions/index.js 里的 SCENARIO_TAXONOMY 常量,管理员再点一次下面这个按钮(merge 覆盖,不影响已生成的对话内容)即可刷新成真实标签。
按标签生成对话
每个标签下固定有 9 条"高频核心对话" + 21 条"标准扩展社交对话" + 30 条"进阶拓展对话"共 60 个位——圆圈变绿表示这个位已经生成过至少一个语言/等级版本。选好标签 + 目标语言/等级后,点某个难度层下面的"生成"按钮,会挑这一层里还没生成的位、按顺序批量生成。
标签申请审核
用户在前台"情景"页搜索标签找不到匹配时可以"申请新增",这里通过或驳回;通过时需要指定归入哪个一级分类。
母语(界面语言)
用户可以选哪些语言作为自己的母语/界面语言。默认只勾选了已经确定的 4 个,你可以再勾选更多——新勾选的语言如果还没有人工翻译界面文案,可以点右边的"生成界面翻译"用 AI 自动翻译一份(可以之后再人工校对)。
目标学习语言
用户可以选哪些语言作为自己要学习的语言。默认只勾选了已经确定的 3 个,新增语言意味着需要新的内容抓取/生成配置(RSS 源、CEFR 分级改写 prompt 等),只是打开这个开关本身不会自动生成内容。