[Github] Wakapi – 可自托管的开源编码时间统计工具

Github发现2026-07-15发布 WarpEdit
107 0 0

Wakapi 是一款轻量、可自托管的编码时间统计服务,兼容 WakaTime 的客户端工具。开发者在编辑器中安装现有 WakaTime 插件后,把 API 地址指向 Wakapi,就能按项目、语言、编辑器、设备和操作系统查看编码活动,并保留对服务器与数据的控制权。

[Github] Wakapi - 可自托管的开源编码时间统计工具

快速结论

项目 当前情况 选择建议
定位 WakaTime 兼容的自托管编码统计后端 适合想掌握开发活动数据的个人与团队
当前版本 2.17.4,2026 年 5 月 26 日发布 升级前备份数据库并查看迁移说明
部署方式 托管服务、Docker、二进制或源码编译 普通自托管优先使用 Docker
开源许可 MIT 可使用和修改,仍需遵守许可证
维护提示 README 暂时不接受 Pull Request 使用前评估维护节奏与 Issue 响应

截至 2026 年 7 月 15 日核对时,GitHub 页面显示 4,368 Stars293 Forks;最新正式版为 2.17.4,主分支最近提交日期为 2026 年 7 月 3 日。项目仍有近期提交,但维护者当前时间有限,README 明确说明暂时不接受 Pull Request。

项目概览

Wakapi 本身主要负责接收“heartbeat”编码活动并生成汇总,编辑器侧仍依赖 WakaTime CLI 或兼容插件。用户需要在 ~/.wakatime.cfg 中填写 Wakapi API 地址和个人 API Key,之后插件会把开发活动发送到自有服务器。

统计维度包括项目、语言、编辑器、主机和操作系统,还提供 SVG 徽章、每周邮件报告、REST API、数据导出和 Prometheus 指标。它既能完全自托管,也提供 wakapi.dev 托管服务用于快速体验。

核心功能

编码统计

Wakapi 可以按时间范围汇总编码时长,帮助开发者观察项目投入、语言占比、编辑器使用和活跃趋势。统计依赖客户端正确发送 heartbeat,因此休息时间、后台窗口和插件配置都会影响数据解释。

插件兼容

用户可以继续使用大量 WakaTime 编辑器插件,只需修改 API 地址。Wakapi 还支持把活动转发到 WakaTime,或导入历史数据;并行使用会扩大数据流转范围,应先明确哪些信息发送到自托管实例、哪些继续进入第三方服务。

接口导出

系统提供 REST API、Swagger 文档、Prometheus 导出、CSV 下载脚本,以及与 GitHub Readme Stats、Metrics 等项目的兼容方式。想把个人统计公开成徽章时,要注意公开权限可能暴露项目名称与工作习惯。

部署方式

最常见方式是 Docker:映射 3000 端口、设置密码盐并挂载持久化数据卷。默认数据库为 SQLite,也支持 MySQL、MariaDB 与 PostgreSQL。官方还提供快速运行脚本、可执行文件和源码安装,Kubernetes 用户可参考社区 Helm Chart。

生产部署应放在 Caddy、Nginx 等反向代理后启用 HTTPS,并把监听地址、公开 URL、Cookie、安全密钥、注册策略和数据库连接配置清楚。若开放互联网访问,应关闭不需要的注册入口并设置可靠备份。

安全边界

自托管能减少对第三方统计服务的依赖,但并不会自动保证安全。README 的默认配置偏向开发环境,例如可能允许 HTTP Cookie;正式环境应开启 HTTPS、设置稳定会话密钥、使用强密码盐,并限制数据库和指标接口的访问。

Wakapi 支持本地账号、API Key、OIDC 和可信请求头认证。可信请求头尤其容易因反向代理配置错误被伪造,必须确保代理会删除外部请求中的对应头部,并只信任明确的代理 IP。API Key 也不应写进公开仓库或截图。

适合人群

  • 想了解项目、语言和编辑器时间分布的开发者。
  • 希望把编码活动保存在自有服务器的隐私敏感用户。
  • 已经使用 WakaTime 插件、想迁移到开源后端的人。
  • 需要 Prometheus、API 或团队自建统计入口的技术团队。

Wakapi 不是工时结算、员工监控或绩效评估系统。heartbeat 只能反映工具活动,不能准确衡量代码质量、思考时间和业务贡献;团队使用前应明确透明的数据政策。

常见问题

Wakapi 免费吗

Wakapi 代码采用 MIT 许可证,可免费自行部署。实际成本包括服务器、数据库、域名、邮件、备份和维护。官方 wakapi.dev 托管服务可用于快速体验,但托管服务与自托管的数据边界不同。

需要换插件吗

通常不需要。Wakapi 的重点是兼容 WakaTime 客户端,用户可以继续安装原有编辑器插件,再把配置文件中的 API 地址改为自己的 Wakapi 实例,并填入实例生成的 API Key。

支持哪些数据库

默认使用 SQLite,适合个人和轻量场景;项目还支持 MySQL、MariaDB 与 PostgreSQL。选择数据库时要考虑并发、备份、迁移和运维能力,不能只根据“支持列表”决定生产方案。

数据是否准确

统计准确度取决于编辑器插件、heartbeat 频率、项目识别和过滤规则。它擅长展示活动趋势,但不能完整记录阅读、设计、会议和离线思考,不应把编码时长直接等同于生产力或绩效。

适合团队吗

Wakapi 支持多用户、排行榜、API 和集中部署,可作为团队内部统计入口。正式使用前应约定数据可见范围、保存期限和用途,并关闭不必要的公开页面、注册、指标和排行榜功能。

总结建议

Wakapi 适合已经接受“编码活动统计”这一方法、但希望掌控数据和部署方式的开发者。个人可以从 Docker 与 SQLite 开始;团队则应先设计 HTTPS、账号认证、数据保留和备份方案。最重要的是把它当作趋势参考,而不是衡量开发者价值的单一指标。

相关链接

  • GitHub 仓库:muety/wakapi
  • 官方网站:https://wakapi.dev
  • 项目 Wiki:https://github.com/muety/wakapi/wiki
  • 最新 Release:https://github.com/muety/wakapi/releases/latest
© 版权声明

相关文章

暂无评论

none
暂无评论...