< 返回版块

847850277 发表于 2026-03-25 16:04

Tags:用Rust搞了一个学英语的龙虾

mimic-shrimp-rs

仿照龙虾,搞了一个基于 Rust 的英语学习助手服务,当前重点是把“每日英语学习卡片 + 飞书互动”这条链路跑通。

交互式学习的有意思的地方

  • 它不是一次性丢给你一大段材料,而是先给你一张当天的学习卡片,再按会话一步步往下练。
  • “这句话什么意思”和“再出一道题”这种短口令就能继续推进,不需要每次都重新解释上下文。
  • 文本和语音可以混着用:你可以先看摘要和重点句,再直接发一段英语语音做跟读。
  • 跟读反馈不是只说“对/不对”,而是会结合重点句子给出匹配度、漏读词和可能多读的词,便于继续修正。
  • 如果这轮互动本身就是英文问答,系统还能顺手补一条英语语音回复,形成“看文本 + 听语音 + 自己跟读”的闭环。

交互流程

  1. 用户在飞书发送文本或语音消息。
  2. 如果是语音消息,服务会先下载音频并转写成文本;如果当前会话已经进入“今天的英语学习”,会优先按英文语音场景做转写。
  3. 转写后的文本会先判断是不是学习口令,例如 开始今天的英语学习这句话什么意思再出一道题
  4. 如果不是口令,但当前会话已经进入当天学习上下文,系统会继续尝试把这段转写文本当作跟读内容,对照当天重点句子给出反馈。
  5. 如果既不是学习口令,也不是可判定的跟读文本,就回退到普通对话链路生成文本回复。
  6. 文本回复发回飞书后,如果“用户这段语音像英文”且“系统生成的回复也像英文”,并且已经配置好语音合成能力,系统还会再附加回送一条英语语音回复,方便用户直接听和模仿。

现在能做什么

  • 每天抓取固定 RSS 新闻源,生成一份“今日英语学习卡片”。
  • 学习卡片包含中英摘要、重点词汇、重点句子、理解问题、跟读练习和翻译练习。
  • 支持在同一会话里继续追问重点句、继续做下一题,以及对英语跟读文本给出反馈。
  • 飞书里除了文本交互,也支持语音输入;在合适条件下会附加回送一条英语语音回复。
  • 学习内容默认落盘保存,便于按天复用和追踪。

飞书接入状态

  • 已接通飞书回调入口:POST /feishu/callback
  • 已支持接收飞书文本和语音消息事件,并异步调用现有能力后回复原消息。
  • 已支持飞书学习口令优先命中英语学习流程,而不是普通聊天。
  • 当前已支持的学习口令包括:开始今天的英语学习这句话什么意思再出一道题

飞书对话示例

飞书英语学习对话示例 1

飞书英语学习对话示例 2

内置英语学习工具

  • english_learning_start_today
  • english_learning_explain_focus_sentence
  • english_learning_next_question
  • english_learning_shadowing_feedback

快速运行

cp .env.example .env
cargo run

如果你要启用飞书完整消息收发,至少需要配置:

  • FEISHU_APP_ID
  • FEISHU_APP_SECRET
  • FEISHU_CALLBACK_VERIFICATION_TOKEN(如果飞书后台开启了 token 校验)
  • FEISHU_CALLBACK_ENCRYPT_KEY(如果飞书后台开启了加密策略)

英语学习能力默认启用,可通过以下环境变量调整:

  • ENGLISH_LEARNING_ENABLED
  • ENGLISH_LEARNING_SCHEDULER_ENABLED
  • ENGLISH_LEARNING_SCHEDULE_HOUR
  • ENGLISH_LEARNING_TZ_OFFSET_HOURS
  • ENGLISH_LEARNING_NEWS_SOURCES

详细说明

完整接口、部署、工具列表和请求示例见 detail.md


Ext Link: https://github.com/847850277/mimic-shrimp-rs

评论区

写评论

还没有评论

1 共 0 条评论, 1 页