用 Claude Code 做了一个分级英文新闻网站,拿来给孩子学英语 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
liuhui998

用 Claude Code 做了一个分级英文新闻网站,拿来给孩子学英语

  •  1
     
  •   liuhui998 11 天前 2004 次点击

    为什么做

    1. 家里两个孩子分别在学《新概念英语》 3 和 4 ,接下来比较缺的是词汇量和世界知识输入
    2. 直接看 CNN 、BBC 、ABC 这类英文媒体,词汇还是偏难,读起来比较吃力
    3. 就算勉强读完了,后面也缺少配套的练习和巩固

    我想做成什么样

    1. 每天都能读到“科学”“技术”“商业”“自然”等不同类目的最新英文新闻
    2. 能根据当前词汇量,生成对应难度的英语内容,目前先做了 B1
    3. 文章里重点词有英英和英中解释,正文有音频和同步字幕,读完后还能顺手练一练

    实现过程

    1. 先按分类抓主流媒体的 RSS ,写了个 Claude Code Skill ,从每个分类的几百条头条里筛出 Top 3
    2. 然后我再手工从 3 条里挑 1 条,再用 Claude Code Opus 模型改写成对应级别的内容
    3. 使用 Azure TTS 来生成英文音频 + 字幕
    4. 再根据上下文给重点词生成解释,除了英英和英中之外,我还顺手做了另外 10 种语言的释义
    5. 写了一个专门的听写模块,方便练听力

    链接在这:

    https://readinlevels.com/fuel-prices-squeeze-workers-and-small-businesses/b1

    首页也在这:

    https://readinlevels.com

    上个周刚做出来,前端是 Next.js ,先放在 Vercel 上跑。

    现在还比较早期,想发上来听听大家的意见,尤其是:

    1. 这种“用真实新闻学英语”的方向有没有价值
    2. 现在这个页面的信息密度会不会太高
    3. 如果是你自己或者给孩子用,你最希望补什么功能
    47 条回复    2026-04-22 19:17:12 +08:00
    zsk425
        1
    zsk425  
       11 天前
    1.在教辅市场见过有卖专门的“英语时文”,所以这个方向肯定没问题。
    2.感觉比较合理
    3.我更喜欢真人声音,如果能有播客之类的真实音频就更好了
    nokisubye
        2
    nokisubye  
       11 天前
    做得挺不错的
    Desiree
        3
    Desiree  
       11 天前
    好东西
    guoziq09
        4
    guoziq09  
       11 天前
    好东西。正好最近正在重新把英语捡起来
    TheNine
        5
    TheNine  
       11 天前
    做的非常好!支持
    noming
        6
    noming  
       11 天前
    挺有用的
    Hidetodong
        7
    Hidetodong  
       11 天前
    好棒啊做的
    shawpan01
        8
    shawpan01  
       11 天前
    体验了一下,做的不错,有几个建议:
    1 、语音不够自然,目前豆包挺自然的,微软好像也有一些人声不错能否使用更拟人的声音;
    2 、文章看到下面的时候,上面的声音播放器就不能暂停了,得翻到上面才能暂停,建议增加空格暂停或者播放器变成悬浮框,始终在网页右侧中间位置
    liuhui998
        9
    liuhui998  
    OP
       11 天前
    @zsk425
    谢谢反馈
    1. 目前请暂时请不起真人来录单,现在这样的一篇文章录音要 $40
    一个文章我要生成 5 个级别,就要 $200

    2. 我后面可能考虑提高 Azure TTS 的音质,改进它的生成参数,让音质更好

    感谢
    liuhui998
        10
    liuhui998  
    OP
       11 天前
    @shawpan01
    1. 语音不够自然的问题
    我一定要想办法让质更好,已有两个 v 友提了
    2. 播放按钮的问题,我晚上解决;我的 ClaudeCode 已到 limit 了
    感谢
    steve009
        11
    steve009  
       11 天前
    看着不错,支持
    minminzi
        12
    minminzi  
    PRO
       11 天前
    导出 epub 方便电纸书上看
    yarkyaonj
        13
    yarkyaonj  
       11 天前
    有几个问题想请教一下:1 、文章是怎么生成的? 2 、一篇文章支持五个等级,那每个等级有什么不同?
    Linqi686
        14
    Linqi686  
       11 天前
    网页写得不错,支持一下
    tf2
        15
    tf2  
       11 天前
    家里两个孩子分别在学《新概念英语》 3 和 4

    孩子几年级?
    liuhui998
        16
    liuhui998  
    OP
       11 天前
    @yarkyaonj

    1. 文章不是纯手写的。现在的流程是先按分类抓主流媒体的 RSS ,再从每个分类里筛出候选新闻,我再人工挑一条,然后用模型把内容整理成适合英语学习的版本。后面还会再生成配套音频、重点词解释、练习和听写内容。所以它更像“基于真实新闻做英语学习材料”,不是普通新闻搬运。

    2. 五个等级对应的是 A1 、A2 、B1 、B2 、C1 ,核心区别不是只换几个单词,而是整篇文章的表达方式都会变。等级越低,句子越短、词更基础、信息更直接;等级越高,词汇会更丰富,句子结构更复杂,也会保留更多背景信息和细节。可以理解成是在讲同一件事,但用不同英语水平能读懂的方式重写一遍。

    @minminzi

    记下来了

    epub/pdf 都会考虑,但是可能要等一段时间

    @tf2

    学新 3 的是读高中的年纪(学到 30 课),学新 4 是的是初中的年纪(学到第 8 课)
    hiandyc
        17
    hiandyc  
       11 天前
    我觉得非常好!
    liuhui998
        18
    liuhui998  
    OP
       11 天前
    感谢 @nokisubye @Desiree @guoziq09 @TheNine @noming @Hidetodong @steve009 @Linqi686
    @hiandyc 的夸奖,非常感谢! 开心!
    shawpan01
        19
    shawpan01  
       11 天前
    @liuhui998 支持,速度更新新的文章,我也学一学
    tf2
        20
    tf2  
       11 天前
    @liuhui998 卧草。你家娃真能干!!!
    noming
        21
    noming  
       11 天前
    这就是传说中的别人家娃
    fjkfwz406
        22
    fjkfwz406  
       11 天前
    我也做了一个类似的 loopread.com
    stfbdhuiliyi
        23
    stfbdhuiliyi  
       11 天前 via Android
    很棒,支持
    liuhui998
        24
    liuhui998  
    OP
       11 天前   1
    @noming @tf2

    1. 其实我家孩子以前在学校成绩很不好,初中英语很少及格
    2. 后面我让孩子在电脑在用软件来听写概念课文,然后再读再背,再上一些其它的练习
    3. 慢慢的打通任督二脉

    我认为学英文应是学科中最简单的,只你会说话写字就能学好英语
    学英语的软件非常多,选择一个坚持下来,都会不错的

    @fjkfwz406

    谢谢分享,我看了你的网站 https://loopread.com, 非常优秀。
    我会向你认真学习!
    KKKKale
        25
    KKKKale  
       11 天前
    内容是不缺的。我现在遇到的问题是,怎么给孩子找到有趣的内容,安利给娃
    liuhui998
        26
    liuhui998  
    OP
       11 天前
    @KKKKale
    1. 选题要广,不要集中在某一个点,这样孩子才可能有兴趣
    2. 另外还有一点,需要学习内容可记录可测验,这样才能可能知道学习进度

    @shawpan01
    播放器的问题刚好修了!现在滚动到下方时会自动弹出底部迷你播放器(暂停/继续/进度条),同时也加了键盘快捷键:空格暂停、左右方向键快退快进。下次刷新应该就能体验到了。
    youisme
        27
    youisme  
       11 天前
    很棒啊! 给小朋友注册了一个
    shawpan01
        28
    shawpan01  
       11 天前
    @liuhui998 有 bug ,我滚动到下方,确实可以显示 mini 播放器,然后点击暂停他就消失了,如果我还要播放声音,那么得回到顶部的播放器
    nadia
        29
    nadia  
       11 天前
    OP 知道 Newsela 吗?感觉功能有点像。前几年我们也有用 Newsela ,但免费的可选内容太少了,后来 AI 更方便就没用了。刚查了一下,Newsela 现在美国的学校覆盖率挺高的。看好 OP 同类项目,希望增加考虑到使用者是“非英语母语学习者”的内容。
    liuhui998
        30
    liuhui998  
    OP
       11 天前
    @youisme
    谢谢关注,我现在好像还没有做注册功能喔

    @shawpan01
    谢谢提醒,问题已修复。之前的逻辑是暂停就隐藏迷你播放器,现在改成了只要播放过,迷你播放器就会一直显示在底部,暂停/继续都能直接操作,不用再回到顶部。只有音频播完或者手动点关闭才会消失。刷新页面就能体验到了。

    @nadia

    谢谢关注! Newsela 主要服务美国学校的母语学生,用的是 Lexile 分级。Read in Levels 从一开始就是为非英语母语学习者设计的用 CEFR 国际分级( A1-C1 ),配合生词释义、TTS 朗读、语法练习,帮助英语学习者通过每日新闻提升阅读能力。
    liuhui998
        31
    liuhui998  
    OP
       11 天前   1
    @zsk425 @shawpan01

    语音自然度的改进

    已经重新调优了 TTS 参数:换了更适合朗读的 Azure 声音( Aria ),音质从 16Khz 升到 24Khz ,并且给不同难度加了不同的说话风格初级( A1/A2 )用亲切语气、中高级( B1+)用新闻播报风格,句间停顿也按级别做了区分。可以对比听一下 B1 级别:

    - 旧版: https://pub-f29f4d9e844d423ca5d5728f74710e8f.r2.dev/202504-audio-compare/business-01-b1.mp3
    - 新版: https://pub-f29f4d9e844d423ca5d5728f74710e8f.r2.dev/202504-audio-compare/fuel-prices-b1.mp3

    真人录音确实更好,但一篇文章 5 个级别录下来成本太高(约 $200 ),目前阶段还是先把 TTS 调到最优。

    我想听一下你们的意见,明天再上线。

    谢谢!
    youisme
        32
    youisme  
       11 天前
    @liuhui998 语法的那个。。
    dengqing
        33
    dengqing  
       11 天前   1
    @liuhui998 TTS 可以用浏览器可用的语音模型,我做了个库专门用这些,还没开源(随时可以)。https://www.npmjs.com/package/polytts
    kuse2001
        34
    kuse2001  
       10 天前 via Android
    真挺不错的!也挂两个我做的,有点类似

    语音朗读网页插件
    https://chromewebstore.google.com/detail/glowtts/gfppgmgpehmgoigpkoffneghdicmjdkf

    儿童新闻(中文)

    https://chnews.beautare.com/
    wvitas
        35
    wvitas  
       10 天前
    可以试试小米新发布的那个 tts, 现在免费
    jayron
        36
    jayron  
       10 天前
    试了下太棒了,谢谢
    Gourds
        37
    Gourds  
       10 天前
    厉害
    liuhui998
        38
    liuhui998  
    OP
       10 天前
    @youisme

    谢谢,这个应用现在还是有很多人用,不过现在是外国人用的多

    https://english-grammar.app

    不过我想,可能还是要加上中文翻译(在计划中了),这样用起来会好一点。

    @kuse2001 @wvitas

    谢谢二位的分享,因为我现在需要单词级的 TTS 字幕,目前好像只有 Azure TTS 和 OpenAI TTS 支持;因为以前用过 Azure TTS, 所以就用它了。

    @kuse2001

    https://chromewebstore.google.com/detail/glowtts/gfppgmgpehmgoigpkoffneghdicmjdkf
    这个插件我下载了,但还没有用起来,加油!

    @jayron @Gourds

    谢谢你们的鼓励
    xiontang
        39
    xiontang  
       10 天前
    不错哦。加油
    liuhui998
        40
    liuhui998  
    OP
       10 天前
    我建了一个群,有兴趣的人可以加一下群,在群里有问题可以快速反馈

    https://pub-f29f4d9e844d423ca5d5728f74710e8f.r2.dev/qrcodes/IMG_1655.JPG
    liuhui998
        41
    liuhui998  
    OP
       10 天前


    前面没有发对,再发一次
    IAMU
        42
    IAMU  
       10 天前
    不错哦,之前一直用的 News In Levels 。这样的新闻阅读网站,数据来源是抓取的吗,会不会有版权问题
    liuhui998
        43
    liuhui998  
    OP
       10 天前
    @IAMU

    1. 用 RSS 发现话题
    2. LLM 基于话题重新生成文章
    3. 不复制原文措辞,这样基本上没有问题

    只要是独立表达,版本问题不大
    liuhui998
        44
    liuhui998  
    OP
       10 天前
    上线了 A1 级难度的文章:

    1. 用词更简单,更容易读懂
    2. 语速更慢,是正常语速的 0.8 倍

    https://readinlevels.com/fuel-prices-squeeze-workers-and-small-businesses/a1

    其它修改:
    1. 增加单词读音播放的功能,不但可以听句子的发声,也可以听单词的发音
    2. 把新版的 TTS 发单上线,声音更带感

    谢谢大家!

    如果大家还有问题可提,希望这个贴子不要马上沉
    oop99
        45
    oop99  
       9 天前 via iPhone
    做的很棒,支持
    tf2
        46
    tf2  
       3 天前
    @liuhui998 群邀请再发一个呢。多谢
    liuhui998
        47
    liuhui998  
    OP
       2 天前   1
    @tf2


    欢迎!
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1675 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 114ms UTC 16:24 PVG 00:24 LAX 09:24 JFK 12:24
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86