用 AI 写代码,感觉特别快——几秒钟搞定一个功能。但仔细一想又有点心虚:AI 到底花了多少时间?这些时间都花在哪了?
传统时间追踪工具完全不管用。你敲键盘的时间它能记,AI 生成的那部分代码?一个字都统计不到。
opencode-wakatime 就是来解决这个问题的。
GitHub:https://github.com/angristan/opencode-wakatime,目前 157 Stars,MIT 协议。它是连接 OpenCode 和 WakaTime 的桥梁插件,当你用 OpenCode 读取、编辑、写入文件时,自动生成「心跳」发到 WakaTime,category 参数标记为 ai coding。
OpenCode [工具执行 / 消息更新 / 会话事件]
→ opencode-wakatime [提取文件变更 → 心跳队列 → 限流器]
→ WakaTime [wakatime-cli → WakaTime API → Dashboard]
插件内置每分钟最多 1 次心跳的限流机制,不会对 WakaTime API 造成骚扰。会话关闭时自动发送最终心跳,确保数据不丢失。
| 操作 | 追踪内容 |
|---|---|
| read | 文件路径 |
| edit | 文件路径 + 新增行数 + 删除行数 |
| write | 文件路径 + 是否新文件 |
| patch | 文件路径 + 差异统计 |
| batch | 所有子操作的文件变更 |
edit 会从 filediff 提取 additions/deletions,最终以 --ai-line-changes 参数发送到 WakaTime,记录的是净变化量(新增减删除)。batch 追踪所有子工具的文件变更,不会漏掉。
方式一:修改配置文件(推荐)
在 opencode.json 的 plugins 数组中添加 "opencode-wakatime":
{
"$schema": "https://opencode.ai/config.json",
"plugin": [
"opencode-wakatime"
]
}
方式二:npm 全局安装
npm i -g opencode-wakatime
opencode-wakatime --install
插件会自动下载 wakatime-cli(如果未找到)。你也可以手动安装:macOS 用 brew install wakatime-cli,其他平台去 WakaTime releases 下载。
在用户主目录(C:\Users\你的用户名\)下创建 .wakatime.cfg 文件:
[settings]
api_key = waka_your_api_key_here
API Key 去 https://wakatime.com/settings/api-key 获取。
插件没有加载?
检查 opencode.json 语法是否正确(JSON 不支持注释)、确认插件路径是否正确、查看 ~/.wakatime/opencode.log 日志文件启用 debug 模式看详细报错。
心跳没有发送?
先验证 API 密钥配置是否正确,运行 wakatime-cli --version 检查 CLI 是否可用。
AI 编程的时间统计一直是个黑箱。这个插件不能改变你写代码的方式,但它能让你知道——你以为自己花了多少时间和 AI 一起写代码,和实际可能完全不是一回事。
你在用 OpenCode 吗?有没有统计过自己的 AI 编程时间?评论区聊聊。
💬 评论区