Wakatime插件在Atom中无数据,首要检查API密钥是否正确配置及代理是否手动设于~/.wakatime.cfg;其次确认其仅统计主动键盘输入时间,非文件操作;Atom 1.60+版本因Node模块签名限制导致插件失效,需改用wakatime-cli独立模式或迁至VS Code。

Wakatime插件在Atom里根本没开始计时
装完插件却看不到任何时间记录,不是你没写代码,而是插件压根没连上Wakatime服务。最常见原因是没填对API Key,或者Atom用了代理但Wakatime不走代理通道。
实操建议:
- 打开Atom →
Atom → Preferences → Packages → wakatime → Settings,确认API Key字段已填(从wakatime.com/settings/api-key复制,别手敲) - 如果公司网络有代理,Wakatime默认不读系统代理设置,得手动加配置:在
~/.wakatime.cfg里写入proxy = http://your-proxy:port - 检查Atom控制台(
View → Developer → Toggle Developer Tools),筛选wakatime,看有没有Connection refused或401 Unauthorized错误
为什么修改文件、保存、切换tab都不算“编码时间”
Wakatime只统计你在编辑器里**主动输入字符**的时间(keyboard activity),不是文件操作时间。光标停着不动、用鼠标点来点去、批量保存、格式化代码——这些都不会计入。
这是设计使然,不是bug。它想区分“真正在思考和实现逻辑”和“其他操作”。所以:
- 连续敲击超过2秒无输入,会自动结束当前“心跳”(heartbeat),下次敲击才重新计时
- 粘贴大段代码(比如Ctrl+V)会被识别为一次输入事件,但只记1–2秒,不会按粘贴内容长度折算
- 启用
hide file names后,即使写了代码,项目名也显示为unknown project,容易误判“没统计”
Atom升级到1.60+后Wakatime插件失效
Atom 1.60起禁用了非签名的Native Node模块,而旧版wakatime插件依赖node-fetch等未签名包,直接报Error: The module '/path/to/node_modules/node-fetch/build/index.js' was compiled against a different Node.js version。
解决方法只有两个:
- 降级回Atom 1.59(不推荐,安全更新缺失)
- 改用官方维护的
wakatime-cli独立模式:卸载Atom插件,在终端运行wakatime --entity /path/to/file.js --plugin atom测试是否能上报;再配合atom-wakatime的替代方案——其实现在更稳妥的是用VS Code + Wakatime官方插件,Atom生态已基本停止适配
统计结果和IDE里看到的不一致
Wakatime Dashboard显示的“Today”是UTC时间,不是你本地时区。比如你在北京晚上11点写代码,实际算作UTC次日3点,会归到第二天的统计里。
另外,它默认把node_modules/、.git/、__pycache__/等目录自动排除,但如果你在src/下建了个叫test_utils的目录,又没加进.wakatime-project白名单,它可能被识别成独立小项目,导致时间分散。
- 时区问题:在
~/.wakatime.cfg里加timezone = Asia/Shanghai(值必须是IANA时区名) - 项目识别不准:在项目根目录放
.wakatime-project文件,内容写my-awesome-app,强制统一归属 - 排除规则可自定义:
exclude = ^/tmp/|^/var/|\.log$,注意正则要以^或$锚定

















