工作记录

Todo

  • TTS 发音功能 【doing】

    继续设计:

    文案:

    • 显示句子发音按钮 [x]

    功能:开启后,在每个英语句子后面显示一个播放按钮,点击后显示加载模样,加载成功后,播放音频,同时按钮变为暂停模样;再次点击就暂停,再点击就播放。

    播放状态:

    idle => 显示播放 loading => 显示加载 playing => 显示暂停 暂停 => 显示播放

    开关状态:通过 cookie 序列化功能开启、关闭的状态

    TTS 能力:构建一个新的 TTS server, 使用 cached 非实时接口返回音频结果。

    • cache 构建:
      • 在 hugo 侧,基于 ts 完成英语句子抽取功能:
        • 输入:dist 接口
        • 输出:一个 {data: [{id: str, text: str, src_doc: list[str]}], project: dajuan} json 文件,annotated as $CACHED_TTS_TEXT
      • github action 里,在完成 hugo build 后,调用这个 ts,生成该文件
      • 然后 ssh 到 server,执行 cached-tts-gen --data $CACHED_TTS_TEXT --gen-model public
    • tts 生成接口:真正的 TTS 生成接口;给定 text, model, 生成音频【流式】 【这个先不做,直接做离线的脚本就行】
      • 支持模型:
        • public: 找到一个免费的,可以直接调用的接口 【done, edge-tts】
        • local-kokoro:本地的模型
        • local-dajuan: 本地的模型
    • cached-tts 系列接口,支持 dajuan
      • cached-tts/gen 生成接口: 给定 id, project, 返回音频【流式】或者 None (不会去调用 tts) 注意,不需要 text,因为这里只读取
      • cached-tts/add 添加接口:给定 id, text, project, tts-model, audio, 设置音频内容;
        • 需要 text.
        • 需要鉴权(先简单基于 api-key,api-key 固定即可)
        • 接收一个特殊的参数:id_exist_action, 决定当 id 冲突的处理逻辑:pass, override
      • cached-tts/del 删除接口:给定 id, 删除对应的内容(数据库+音频)
      • cached-tts/list 返回所有的 cache 数据:给定 project, 返回 (id, text, project, tts-model, audio-is-effective) 元组
    • 本地与云端同步:
      • hugo build 后,与云端一样,调用 ts 生成句子文件, 记为 local-list
      • 生成 TTS 文件并添加到云端(cached-tts-gen?)
        • 设置最佳的 tts-model 为 best-tts-model
        • 调用 cached-tts/list 获取云端的数据, 记为 remote-list
        • 对下面的句子做后续生成+添加处理:
          • 取 remote-list 与 本地的 local-list 交集,然后取 tts-model 不 等于 best-tts-model 的 句子
          • 取 local-list - remote-list (增量)
        • 生成+添加处理
          • 使用 best-tts-model, 对句子生成音频
          • 调用 cached-tts/add 添加内容,id_exist_action=override
        • 对下面的句子做删除操作:
          • 取 remote-list - local-list (减量)
  • 准备写年终总结吧

  • 搭建基本本地 LLM 的小龙虾

  • 游戏开发:大概率还是用 cocos creator

Process

基本完成 cached-tts 接口,完成 edge-tts 的调用;接下来要写 update-cached-tts 脚本;


生活记录

现在晚上是车轮战术,我先陪黄车车一会儿,等她拉完粑粑,再和一半的奶,要求好好陪的时候,我就回来做自己的。

不过昨晚也没有干活,看了 7 集犬夜叉。还挺好看的,可以慢慢看吧。


情绪记录

Good

Bad


Reflect

  1. 昨天的问题:

    Input:

     我的孩子 2 岁 8 个月,昨晚上应该是很累了,有点哭闹,我先用游戏去哄她,她很喜欢。然后因为屏幕时间到了,她开始大哭。
     我平静的等她哭了一会儿,但她还是止不住,我就开始说“你哭没有用啊”这类的话,妈妈过来抱起她,继续哄她,我在一边说“不能再惯着她”,就是不要再哄她,让她知道现在是睡觉时间,屏幕时间也到了,不会因为你哭就给你看的
     妈妈说我现在不该说这样的话,火上浇油;我则认为因为总是对她的哭泣抱以正反馈(好好地安抚),导致她越来越使用这个方式来宣泄。
     但我说这些话,确实也没啥用。
    
     请你用科学养育的角度出发,告诉我该怎么做呢
    

    Gemini 3.1 pro preview:

    最大的错误:“安抚情绪“ != 惯着她!

    情绪安抚:给她安全感,让她知道如何去应对负面情绪,帮助她调节。

    规则:不再看屏幕。

    通过身体的安抚来帮助她平复情绪,但绝对不通过“开启屏幕“来破坏规则。

    规矩要像钢铁一样坚硬(坚决不加看屏幕的时间),但父母的态度要像棉花一样柔软(抱着她、允许她为失去屏幕而哭泣)。

    从发展心理学和脑神经科学的角度,我们可以这样来拆解和应对这个问题:
     一、 为什么你的话“火上浇油”且“没有用”?
     1. 2岁8个月的大脑:理智脑“断线”,情绪脑“当机”
     2岁多孩子的“理智脑”(前额叶皮层,负责逻辑、克制和规则)发育非常不完善,而“情绪脑”(杏仁核)极其发达。
     当她**“很累了”+“屏幕时间结束(丧失感)”时,她的理智脑已经完全下线了。此时你跟她说“你哭没有用”、“现在是睡觉时间”,这就好比试图跟一个正在溺水的人讲游泳理论,她的大脑根本听不懂,也处理不了这些逻辑信息**。
     2. “哭没有用”这句话的破坏力
     当孩子因为无法控制局面(不能看电视)而崩溃大哭时,她其实是在求助。父母说“哭没有用”,在孩子的感受里是:“我的情绪不被接纳,我最信任的人在推开我”。这会引发她更深的恐慌和无力感,导致她哭得更大声(也就是妈妈说的火上浇油)。
     二、 核心误区:安抚情绪 ≠ 惯着她(正反馈)
     你最大的担忧是:“对她的哭泣抱以正反馈(好好安抚),会导致她越来越爱用哭来要挟”。这是一个非常常见的育儿误区。
     在科学养育中,我们需要把**“情绪”和“行为”**严格分开:
     什么是“惯着/破坏规则”? 孩子一哭,你就把屏幕重新打开给她看。这叫对哭闹的正反馈,会让孩子学会“只要我哭,就能打破规则”。
     什么是“科学安抚(共同调节)”? 屏幕坚决不打开(守住行为底线),但是妈妈把她抱在怀里,允许她哭,并安抚她(接纳情绪)。
     孩子的大脑在3岁前是不具备“自我情绪调节(Self-regulation)”能力的,他们必须依靠父母的“共同调节(Co-regulation)”来平复神经系统的过度唤起。 妈妈的拥抱,是在帮她的大脑降低皮质醇(压力荷尔蒙),这不是溺爱,这是生理需求。如果任由她哭到力竭,长此以往会对孩子的安全感和神经系统发育产生负面影响。
     三、 科学应对:下次遇到类似情况,该怎么做?
     如果把你的“坚持原则”和妈妈的“温柔安抚”结合起来,就是最完美的**“温和而坚定(Gentle but Firm)”**。下次可以尝试以下步骤:
     第一步:识别疲劳,提前预防
     你敏锐地察觉到她“很累了”。当孩子极度疲劳(HALT原则:Hungry饿, Angry怒, Lonely孤单, Tired累)时,尽量不要安排看屏幕等容易引起高度兴奋又极难结束的活动,可以直接过渡到洗漱、讲绘本等低刺激的睡眠准备仪式。
     第二步:接纳情绪,说出她的感受(Connect)
     屏幕时间到,她开始大哭。你可以平静地蹲下来(或者抱起她),用共情的语气说出她的感受:
     “宝宝,时间到了不能看电视了,你觉得很生气、很伤心对不对?你还想看,但是真的不能看了。”
     (这能让孩子感觉到“爸爸懂我”,有时候被理解了,情绪就降下来一半)。
     第三步:坚守底线,提供身体安抚(Co-regulate)
     她可能还是会大哭。这时候什么大道理都不要讲,闭上嘴巴,像妈妈那样抱住她,或者拍拍她:
     “爸爸妈妈知道你很难过,你想哭就哭一会儿吧,爸爸妈妈陪着你。”
     记住:坚持不给看电视,就是最大的立规矩。 拥抱她,是教她如何在规则的限制下面对挫败感。
     第四步:避免在孩子崩溃时进行“父母内战”
     你在旁边制止妈妈,会让场面更加混乱。父母在处理孩子情绪时必须是“统一战线”。你们可以在事后复盘时沟通:“以后我们定个规矩,孩子因为规则受挫大哭时,我们坚持规则(不给看),但可以抱抱她安抚情绪。”
     总结给你的一句话:
     规矩要像钢铁一样坚硬(坚决不加看屏幕的时间),但父母的态度要像棉花一样柔软(抱着她、允许她为失去屏幕而哭泣)。
     允许孩子对规则表达不满和悲伤,是孩子心理健康的标志。你的女儿不仅需要一个教她“懂规矩”的爸爸,也需要一个在她因为守规矩而感到痛苦时,愿意借给她肩膀靠一靠的爸爸。你已经做得很好了,下次试着把那句“哭没有用”,换成“爸爸知道你很难过,爸爸抱抱”,你会看到神奇的变化。
    
  2. 最近效率还是很低啊,得继续 focus 到 building 上来。