Wakapi 是一个兼容 WakaTime 客户端的自托管编码统计后端。编辑器插件把编码活动以心跳数据发送到 Wakapi,服务器再按项目、语言、编辑器、机器和操作系统汇总,让开发者在自己的基础设施中查看时间分布。

它适合希望保留数据控制权、已经使用 WakaTime 插件,并具备 Docker 或服务器维护能力的个人与小型团队。自托管同时意味着升级、备份、访问控制和故障恢复都由部署者负责。

Wakapi 编码时间、项目与语言统计功能示意

Wakapi 记录的是编码心跳,不是产出质量

WakaTime 兼容插件会周期性上报当前项目、语言、文件类别、编辑器和机器等元数据。Wakapi 接收这些心跳并生成每日、每周及长期统计,但数据完整性取决于插件、网络、服务器时间和项目识别是否正常。

  • 适合观察:项目投入比例、语言使用变化、编辑器分布和个人工作节奏。
  • 不能直接证明:代码质量、问题难度、沟通成本、评审工作或最终产出。
  • 容易产生偏差:插件未运行、API 地址错误、离线工作或网络阻断都会造成心跳缺失。

因此,编码时长更适合作为个人复盘和项目估算的辅助信号,不应脱离上下文直接用作团队绩效处罚依据。

兼容 WakaTime 客户端,不代表云端功能完全相同

比较维度 Wakapi 自托管 托管统计服务
数据位置 由部署者选择服务器和数据库 遵循服务商的数据与隐私条款
维护责任 自行处理升级、备份、监控和恢复 基础设施通常由服务商维护
客户端接入 复用 WakaTime 兼容插件并修改 API 地址 通常使用服务商默认配置
功能范围 以 Wakapi 当前实现和配置为准 取决于平台功能及套餐

官方 README 将兼容性描述为部分兼容。迁移前应单独检查历史数据导入、团队统计、报告和第三方集成,不能只因为客户端可连接就假定两端功能一一对应。

从部署规模选择运行方式与数据库

先用最小实例验证完整数据链路

  1. 准备可持久化的数据目录、稳定时区和 HTTPS 访问入口。
  2. 为密码盐、数据库和邮件等敏感配置使用独立强随机值,不照搬示例默认值。
  3. 启动 Wakapi 后创建账号与 API Key,只连接一个编辑器进行测试。
  4. 确认心跳、项目名称、语言分类和时间统计正确,再扩大使用范围。
  5. 配置数据库备份并实际验证恢复流程,之后再安排长期升级。

SQLite 与外部数据库怎样选择

场景 建议 主要注意点
个人或低并发实例 先使用默认 SQLite 部署简单,但仍需持久化文件和备份
已有数据库运维体系 评估 MySQL 或 PostgreSQL 增加凭据、网络、升级和恢复管理
容器化部署 使用 Docker 或 Docker Compose 固定数据卷、密钥和版本,避免只依赖临时容器
独立二进制运行 按官方配置文件启动 需要自行管理服务进程、日志和系统启动

数据库类型本身不是性能保证。决定前应结合心跳写入量、用户数、数据保留周期,以及团队是否真正具备对应数据库的备份和迁移能力。

编辑器客户端怎样连接 Wakapi

  1. 为当前 IDE 或编辑器安装对应的 WakaTime 客户端。
  2. 在 Wakapi Web 界面创建账号并取得 API Key。
  3. 编辑本机 ~/.wakatime.cfg,把 api_url 指向自己的 Wakapi 实例,并填写对应 api_key
  4. 编码几分钟后查看服务日志和仪表盘,确认服务器已经收到心跳。

没有统计数据时的检查顺序

  • 核对实例地址是否包含正确协议、端口和 API 路径;
  • 确认 API Key 属于当前实例且没有多余空格;
  • 检查系统时间、HTTPS 证书、代理、防火墙和反向代理日志;
  • 确认编辑器插件正在运行,并能识别当前项目;
  • 若项目或语言归类异常,再检查插件的项目识别与排除规则。

API Key 不应写入会提交到 Git 的项目配置。怀疑泄露时应在服务端轮换密钥,而不是只从本地文件删除。

报告、公开徽章和 Prometheus 的不同用途

报告与徽章面向编码统计

Wakapi 可生成周期摘要,并通过公开徽章展示语言或编码时间。徽章适合个人主页,但公开前应检查是否会暴露私人项目名称、客户信息或工作规律。

Prometheus 面向服务运行监控

Prometheus 导出用于观察 Wakapi 服务本身,不是编码统计仪表盘的替代品。监控端点、REST API 和数据库都应限制访问范围,团队部署还要明确谁能查看个人统计以及数据保留多久。

自托管仍需要完整的隐私与维护边界

  • 访问控制:谨慎开放注册,管理账号使用独立强密码并通过 HTTPS 访问。
  • 网络边界:数据库端口、监控端点和内部管理入口不要直接暴露到公网。
  • 数据保护:数据库、备份和日志可能包含项目名称、工作时间和设备信息,应按工作数据管理。
  • 升级策略:升级前阅读 Release,保存数据库副本并准备回滚路径。
  • 统计使用:团队应提前说明数据用途、可见范围和保留期限,避免把辅助统计变成脱离上下文的考核。

版本、许可证与项目入口

截至 2026 年 8 月 3 日核对,GitHub 最新正式 Release 为 v2.17.5,发布于 2026 年 7 月 17 日。项目主要使用 Go 编写,仓库许可证标注为 MIT。版本和部署参数会继续变化,实际安装前应再次查看 Release、README 和配置示例。

  • GitHub 仓库:https://github.com/muety/wakapi
  • 官方网站:https://wakapi.dev
  • 项目 Wiki:https://github.com/muety/wakapi/wiki
  • Release:https://github.com/muety/wakapi/releases/latest
  • MIT 许可证:https://github.com/muety/wakapi/blob/master/LICENSE

发表回复

后才能评论

1.支付赞助成功后请勿关闭窗口、请勿进行其他操作,等待系统自动确认跳转页面,下载按钮与相关信息会自动显示。
2.游客操作请使用 Chrome 、Edge 或 FireFox浏览器 ,以免支付刷新失败(浏览器缓存7天有效)。
3.如支付成功后刷新无法显示下载按钮、链接失效等问题可在 【公告留言】 页面留言或在线客服咨询 处理或参考下载说明文档

1、BT种子文件你可以使用 qBittorrent 、迅雷 等具有BT种子下载功能的软件加载种子文件后进行下载
2、百度网盘的下载如果你没有SVIP可以尝试一些网盘直链下载辅助工具进行下载(但并不推荐)。
3、OneDrive链接只针对完全无法使用百度网盘的用户,部分地区网络是打不开OneDrive链接的。

1、对于压缩文件形式的资源,一般是以7z、zip、tar、rar后缀结尾的文件;您需要通过Bandizip 7-zip 这样的解压软件来进行解压操作。
2、小白视频教程,这里只是随便搜了一个举例,看不懂没学会,请多看几个同类型的推荐视频学习。
3、最基础的解压操作如下图:bandzip--鼠标右键压缩文件选择【解压到当前文件夹】,7zip--鼠标右键压缩文件选择7zip,再选择【提取到当前位置】。

基础解压操作

1、如果你下载的文件是 PDF 文件(或 jpg),说明该文件已经被修改了文件后缀名,你需要改为 .7z 格式
2、如果你已经显示文件扩展后缀名,如:game-steam.pdf,则修改文件名为:game-steam.7z,然后再进行解压即可,如下图:

修改文件扩展名

3、如果你无法显示文件扩展后缀名,请在文件夹选项中点击【查看】->【显示】->【文件扩展名】
4、不同系统版本【显示文件扩展名】的设置选项在不同位置,小白用户可参考教学视频:Windows文件扩展名修改-视频教程

1、你下载的可能是多个分卷压缩包,而你不了解分卷压缩包的解压方式,请网络搜索“如何解压分卷压缩包”学习了解基础知识。
2、关于压缩包和解压的基础知识,特别是分卷压缩包的解压方法,可以去B站找相关视频看。
3、分卷压缩包解压教程,这里只是随便搜了一个举例,看不懂没学会,请多看几个同类型的推荐视频学习。

本站所发布资源及素材仅限用于学习和研究测试使用,除特别标注“可商用”字样提示外,其他所有都不得用于商业。

如果您已经成功付款但是网站没有弹出成功提示,请发送邮件或到 【公告留言】 提交处理。例如:几点几分订单没有显示下载按钮。

1.本站仅保证资源的正常下载和测试使用,收费仅用于赞助网站维护运营,不包含任何相关技术咨询服务,请知悉谅解,感谢您的支持。
2.本站所发布资源为非实物商品,不接受退款,请考虑好再进行支付赞助获取。