Install
openclaw skills install @jiajiaoy/english-dailyDaily English learning with spaced repetition — built-in A1–B2 word bank, new words daily, quiz mode (MCQ/fill-in/spelling), streak tracking, level progression.
openclaw skills install @jiajiaoy/english-daily私人英语学习助手 — 每日单词 · SRS复习 · 测验打卡 · 进度追踪
档案与学习进度存于原生 MEMORY.md,由 Agent 维护。脚本从参数拿到档案字段(等级/每日目标/SRS进度/streak/积分等),做纯计算并输出更新后的 MEMORY.md 区块供 Agent 回写。
# 注册(首次使用)→ 输出 MEMORY.md 档案区块,由 Agent 写入原生记忆
node scripts/register.js <userId> <姓名> [等级 A1/A2/B1/B2] [每日目标 1-20]
# 今日学习(每日推送内容)→ 更新 streak 后输出新的 MEMORY.md 区块
node scripts/daily-push.js <userId> --level <等级> --goal <目标> \
--progress '<SRS进度JSON>' --streak <n> --longest <n> --last <日期> --points <n>
# 测验练习(纯计算生成题目)
node scripts/quiz.js <userId> [vocab|sentence|mixed] --level <等级> --progress '<SRS进度JSON>'
# 记录测验积分(Claude 在测验完成后调用)→ 更新积分/SRS后输出新的 MEMORY.md 区块
node scripts/quiz.js <userId> --score <正确题数×10> --level <等级> --progress '<SRS进度JSON>' --points <累计积分>
# 查看进度(升级时输出新的 MEMORY.md 区块)
node scripts/progress.js <userId> --name <姓名> --level <等级> --progress '<SRS进度JSON>' --streak <n> --points <n>
# 推送管理(等级/目标作为参数;cron 由 openclaw 运行时管理)
node scripts/push-toggle.js on <userId> --level <等级> --goal <目标> [--morning 08:00] [--channel telegram]
node scripts/push-toggle.js off <userId>
node scripts/push-toggle.js status <userId>
本 skill 不向磁盘写任何用户数据。用户的等级、每日目标、连续学习(streak)、总积分、以及 SRS 单词进度全部保存在 OpenClaw 原生 MEMORY.md 中,由 Agent 读写、跨会话保留。
流程:
register.js,它输出一段 <!-- english-daily:profile:<userId> --> markdown 区块。把该区块写入 MEMORY.md。daily-push.js(刷新 streak/上次学习)、quiz.js --score(累加积分、更新 SRS)、progress.js(升级时)会输出更新后的区块——用它覆盖 MEMORY.md 中的旧区块。--progress '<JSON>',勿手动改写。档案区块格式示例:
<!-- english-daily:profile:telegram_123 -->
## 英语学习档案 · 张三
- userId: telegram_123
- 姓名: 张三
- 母语: zh
- 等级: B1 → 目标: B2
- 每日目标: 5 个新单词
- 连续学习: 7天(最长 12天)
- 上次学习: 2026-07-02
- 总积分: 340
- 已学单词: 28
- 推送: 已开启 telegram 08:00
- SRS进度(勿手改): {"apple":{"interval":7,"repetitions":3,"ease":2.5,"nextReview":"2026-07-09","lastQuality":3}}
<!-- /english-daily:profile -->
register.js 输出学习档案区块(等级、每日目标),Agent 写入 MEMORY.mddaily-push.js 输出今日复习词 + 新词列表,并回写刷新后的档案区块quiz.js 生成5题(词义选择或句子填空),Claude 逐题互动--score,脚本更新积分/SRS并输出新区块供回写progress.js 显示连续打卡、掌握词数、升级进度;升级时输出新区块每一步的档案字段都从 MEMORY.md 读出后作为 CLI 参数传入;脚本本身不落盘。
node scripts/push-toggle.js on <userId> --level B1 --goal 5 # 默认 08:00
node scripts/push-toggle.js on <userId> --level B1 --goal 5 --morning 07:30 --channel feishu
node scripts/push-toggle.js off <userId>
支持渠道:telegram / feishu / slack / discord
推送触发时,cron 消息会让 Agent 先从 MEMORY.md 读出该用户的 SRS 进度与 streak,再运行 daily-push.js(等级/每日目标已烘焙进 cron 消息),最后回写刷新后的档案区块。cron 由 openclaw 运行时通过 __OPENCLAW_CRON_ADD__/__OPENCLAW_CRON_RM__ 协议管理,skill 不落盘。
| 等级 | 词汇量 | 升级条件(掌握词数) |
|---|---|---|
| A1 | ~40词 | 掌握40词 → 升A2 |
| A2 | ~50词 | 掌握90词 → 升B1 |
| B1 | ~40词 | 掌握130词 → 升B2 |
| B2 | ~30词 | 最高等级 |
掌握标准:SRS间隔 ≥ 7天(即多次正确复习)
采用简化SM-2间隔重复:
fs 写入规范。data/users/*.json 已列入 .clawhubignore,不随 skill 打包。MEMORY.md,由你本机的 Agent 管理,不经过任何外部服务。<!-- english-daily:profile:<userId> --> 区块即清除该用户的全部学习数据。telegram/feishu/slack/discord 由 openclaw 运行时投递,skill 不调用任何渠道 API、不持有 token。data/wordbank.json(只读,随 skill 打包)Version: 1.1.0 · Updated: 2026-07-02