name: monkeytype-tracker
description: 追踪并分析 Monkeytype 打字统计数据,提供改进建议。当用户提及 "monkeytype"、"typing stats"、"typing speed"、"WPM"、"typing practice"、"typing progress" 或想查看打字表现时使用。功能包括按需统计、测试历史分析、个人最佳记录、进度对比、排行榜查询以及可选的自动报告。需要用户的 Monkeytype ApeKey 以访问 API。
追踪您的 Monkeytype 打字统计数据,并获得个性化的改进建议。
在运行任何命令之前,请检查设置是否已完成:
安全优先级:
1. 环境变量(最安全):MONKEYTYPE_APE_KEY
2. 配置文件备用:~/.openclaw/workspace/config/monkeytype.json
# 首先检查环境变量
ape_key = os.getenv('MONKEYTYPE_APE_KEY')
if not ape_key:
# 检查配置文件是否存在并包含有效密钥
config_path = Path.home() / ".openclaw" / "workspace" / "config" / "monkeytype.json"
如果既无环境变量也无配置文件: → 运行设置流程(步骤 1)
如果 apeKey 存在但 API 返回 471 "inactive": → 告知用户激活密钥(勾选复选框)
如果 apeKey 有效: → 继续执行命令
发送此消息:
你好!👋 看来你想追踪 Monkeytype 统计数据。我需要你的 API 密钥才能开始。
**🔑 如何获取:**
1. 访问 monkeytype.com → **账户设置**(点击你的个人资料图标)
2. 在左侧边栏选择 **"Ape Keys"**
3. 点击 **"Generate new key"**
4. ⚠️ **激活它:** 勾选新密钥旁边的复选框(密钥默认处于非活动状态!)
5. 复制密钥并发送给我
你分享密钥后,我会询问自动化偏好设置 🤖
---
🔒 **想手动添加?** 没问题!
**选项 1:环境变量(推荐 - 最安全)**
在系统中设置:
- Windows (PowerShell): `$env:MONKEYTYPE_APE_KEY="你的密钥"`
- Linux/Mac: `export MONKEYTYPE_APE_KEY="你的密钥"`
**选项 2:配置文件**
创建此文件:`~/.openclaw/workspace/config/monkeytype.json`
内容如下:
{
"apeKey": "你的密钥"
}
然后只需说 "monkeytype stats",我会接手后续工作!
收到密钥后:
1. 保存到 ~/.openclaw/workspace/config/monkeytype.json:
{
"apeKey": "用户密钥",
"automations": {
"dailyReport": false,
"weeklyReport": false,
"reportTime": "20:00"
}
}
python scripts/monkeytype_stats.py stats密钥验证成功后,发送:
收到!密钥已保存并验证通过 ✅
**📊 快速概览:**
• 已完成 {tests} 次测试({hours} 小时)
• 🏆 个人最佳:{pb_15}WPM (15秒) | {pb_30}WPM (30秒) | {pb_60}WPM (60秒)
• 🔥 当前连续打卡:{streak} 天
现在,你想要自动报告吗?
**选项:**
1️⃣ **每日报告** — 当天练习总结
2️⃣ **每周报告** — 周度对比 + 建议
3️⃣ **两者都要**
4️⃣ **都不要** — 仅按需提供
⏰ 我应该在什么时间发送报告?(默认:晚上 8 点)
用户选择选项后:
1. 使用偏好设置更新配置文件
2. 如果启用了自动化,则创建定时任务:
- 每日:0 {hour} * * *,名称为 monkeytype-daily-report
- 每周:0 {hour} * * 0,名称为 monkeytype-weekly-report
3. 发送完成消息:
🎉 **一切就绪!**
**✅ 配置已保存:**
• 每周报告:{状态}
• 每日报告:{状态}
**💡 随时可以尝试这些命令:**
• "显示我的打字统计数据"
• "我的打字进度如何"
• "对比我这周的打字情况"
• "monkeytype 排行榜"
打字愉快!愿你的每分钟字数(WPM)节节高升 🚀⌨️
| 错误 | 用户消息 |
|---|---|
| 无配置文件 | "看起来 Monkeytype 尚未设置。让我帮你开始吧!🔑" → 启动设置流程 |
| 配置文件中无 apeKey | 同上 |
| API 返回 471 "inactive" | "你的 API 密钥未激活。请前往 Monkeytype → 账户设置 → Ape Keys,勾选密钥旁边的复选框以激活它 ✅" |
| API 返回 401 "unauthorized" | "你的 API 密钥似乎无效。我们来设置一个新的吧。" → 启动设置流程 |
| API 速率限制 | "达到 API 速率限制。请稍等一分钟再试 ⏳" |
| 网络错误 | "无法连接到 Monkeytype 服务器。请检查网络连接后重试。" |
触发词:"显示我的 monkeytype 统计数据"、"我的打字情况如何"、"打字统计数据"
python scripts/monkeytype_stats.py stats触发词:"分析我近期的打字情况"、"我最近打字怎么样"
python scripts/monkeytype_stats.py history --limit 50触发词:"对比我的打字进度"、"我有进步吗"
python scripts/monkeytype_stats.py compare触发词:"monkeytype 排行榜"、"我的排名如何"
python scripts/monkeytype_stats.py leaderboard [--mode time] [--mode2 60]获取统计数据后,根据以下情况分析并提供建议:
| 问题 | 建议 |
|---|---|
| 标准差 > 15 | "专注于稳定性 — 放慢速度,每次测试都争取达到 95% 以上的准确率" |
| 准确率 < 95% | "准确率是速度的基础。放慢速度,直到你能稳定达到 95% 以上的准确率" |
| 60秒个人最佳 << 30秒个人最佳 | "检测到耐力差距。练习更长时间的测试以增强耐力" |
| 测试次数少 | "练习越多,进步越快。争取每天进行 5-10 次测试" |
| 连续打卡中断 | "坚持很重要!试着每天都打一点字" |
https://api.monkeytype.comAuthorization: ApeKey {密钥}~/.openclaw/workspace/config/monkeytype.json:用户配置文件scripts/monkeytype_stats.py:主要统计数据获取脚本