Repolode
muety

muety/wakapi

极简的自托管后端,兼容 WakaTime 客户端,用于记录和查看个人编码统计。

可替代:WakaTime

Star
4,457
Fork
309
未关闭 Issue
42
最近提交
9小时前

这是什么?

Wakapi 是一个自托管服务器,接收 WakaTime 编辑器插件发来的编码活动心跳数据,并生成项目、语言、编辑器、主机和操作系统的统计信息。将客户端的 api_url 指向自己的实例即可替代 WakaTime 后端,数据保存在自己控制的基础设施上。

除网页仪表盘外,还提供 REST API、徽章、每周邮件报告以及 Prometheus 指标导出。默认使用 SQLite,也支持 MySQL 和 Postgres;支持 OpenID Connect 登录、邀请码注册,公开排行榜可以关闭。

项目使用 Go 编写,可以作为单个二进制文件运行,也可以通过 Docker、Docker Compose 部署,或使用社区提供的 Helm Chart 部署到 Kubernetes。

核心功能

  • 01按项目、语言、编辑器、主机和操作系统统计编码时间
  • 02部分兼容 WakaTime 客户端和 API
  • 03提供 REST API、徽章和每周邮件报告
  • 04支持导出 Prometheus 指标
  • 05支持 SQLite、MySQL 和 Postgres 数据库
  • 06支持 OpenID Connect 登录和邀请码注册

适用场景

  • 将编码时长数据保存在自有服务器上,而非 SaaS 服务
  • 为团队或家庭实验环境搭建私有编码统计面板
  • 在个人 README 或网站上展示编码统计徽章
  • 将编码活动指标接入现有的 Prometheus 和 Grafana 体系

快速上手

  1. 1

    使用 Go 安装 Wakapi

    go install github.com/muety/wakapi@latest
  2. 2

    下载默认配置文件

    curl -o wakapi.yml https://raw.githubusercontent.com/muety/wakapi/master/config.default.yml
  3. 3

    编辑配置文件以自定义设置

  4. 4

    使用配置文件运行 Wakapi

    ./wakapi -config wakapi.yml

使用前须知

  • 与 WakaTime 只是部分兼容,部分客户端或功能可能无法使用。
  • 你需要自行托管服务器,并在每台机器上配置 WakaTime 客户端以发送数据。

标签

常见问题

wakapi 是什么?
极简的自托管后端,兼容 WakaTime 客户端,用于记录和查看个人编码统计。 Wakapi 是一个自托管服务器,接收 WakaTime 编辑器插件发来的编码活动心跳数据,并生成项目、语言、编辑器、主机和操作系统的统计信息。将客户端的 api_url 指向自己的实例即可替代 WakaTime 后端,数据保存在自己控制的基础设施上。
wakapi 可以免费使用吗?用的什么许可证?
wakapi 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
wakapi 还在维护吗?
活跃维护中。wakapi 最近一次提交是在 2026年10月21日。
wakapi 适合用来做什么?
将编码时长数据保存在自有服务器上,而非 SaaS 服务 为团队或家庭实验环境搭建私有编码统计面板 在个人 README 或网站上展示编码统计徽章 将编码活动指标接入现有的 Prometheus 和 Grafana 体系
wakapi 怎么安装和运行?
使用 Go 安装 Wakapi: go install github.com/muety/wakapi@latest 下载默认配置文件: curl -o wakapi.yml https://raw.githubusercontent.com/muety/wakapi/master/config.default.yml 编辑配置文件以自定义设置 使用配置文件运行 Wakapi: ./wakapi -config wakapi.yml
在哪里获取 wakapi?
源代码和安装说明在 GitHub 上:https://github.com/muety/wakapi

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目