OpenSource-Hub
W

wakapi

SHA-256
4.3k stars·开发工具·已提供 SHA-256 校验码,下载后可自行核对文件完整性

一款轻量级、自托管的编码统计工具,兼容 WakaTime 客户端。

智能下载

下载 Download 版本

v2.17.3 · 14 MB

自己搭的编程时间统计站,免费、可控、兼容 WakaTime。

核心功能

  • 完全免费开源,数据自己掌控
  • 支持 Docker、编译、云服务多种部署方式
  • 自动统计项目、语言、编辑器、操作系统等维度
  • 生成酷炫的网页徽章和每周邮件报告
  • 提供 REST API 和 Prometheus 导出接口

避坑指南

  • 首次运行请务必设置 WAKAPI_PASSWORD_SALT 环境变量,否则密码加密不安全。2. 使用 SQLite 时数据保存在容器内,升级容器前记得备份数据卷。3. 公网部署建议配置 HTTPS 反向代理(如 Nginx/Caddy)。4. 默认端口 3000,注意防火墙放行。5. 若同时使用官方 WakaTime,需要在客户端配置两套 API URL(详见文档)。

适用场景

  • 个人开发者想记录自己每天的编码时长和项目分布
  • 团队内部想搭建私有的开发效率看板,不依赖外部服务
  • 从 WakaTime 云服务迁移到自托管以保护隐私

详细介绍

Wakapi 是一款完全开源、可自行托管的编程时间统计后台。它通过 WakaTime 的编辑器插件自动收集你的编码活动,并提供直观的仪表盘、数据徽章、每周邮件报告以及 REST API。支持 SQLite、MySQL 和 PostgreSQL 数据库,可使用 Docker 一键部署或从源码编译运行。相比官方的 WakaTime 云服务,Wakapi 让你掌握数据所有权,且完全免费无限制。

常见问题与排障 (2)

故障排除
如何通过WakatimeApiUrl修复WakaTime中继中间件中的SSRF漏洞?

更新到最新版本的Wakapi。该修复(commit 2af65a058730bd2e2cd603e3dbdb883e5badff34)验证WakatimeApiUrl以拒绝私有IP,并强制执行允许的主机列表。

来源 Issue #931
故障排除
为什么Wakapi 2.17.1在SQLite上运行migrations时会崩溃,并显示'SQL logic error near time_real'?

此崩溃是由迁移文件 '20260111-sqlite_real_valued_time_column_heartbeats' 中的语法错误引起的。要解决此问题,您可以升级到 Wakapi 的已修补版本(请参阅 issue #903 获取修复版本),或手动应用修复:1. 停止 Wakapi。2. 使用 sqlite3 执行正确的 ALTER TABLE 命令:ALTER TABLE heartbeats ADD COLUMN time_real REAL; 3. 通过插入一行来记录迁移已应用:INSERT INTO schema_migrations VALUES ('20260111-sqlite_real_valued_time_column_heartbeats'); 如果无法手动修改架构,在修补版本可用之前,降级到 Wakapi 2.17.0 仍可作为临时解决方案。

来源 Issue #903

标签

coding-statisticsself-hostedwakatimetime-trackinggo

快速上手

1

下载安装包

点击上方按钮下载对应系统的安装包

2

安装软件

双击下载的安装程序,按提示完成安装

3

步骤1:使用 Docker 运行(推荐)。执行:docker run -d -p 3000:3000 -e WAKAPI_PASSWORD_SALT=你的随机盐值 -v wakapi-data:/data --name wakapi ghcr.io/muety/wakapi:latest

4

步骤2:打开浏览器访问 http://localhost:3000,注册账号,在设置页面获取 API Key

5

步骤3:在本机编辑器安装 WakaTime 插件,编辑 ~/.wakatime.cfg,将 api_url 设为 http://localhost:3000/api,api_key 填入上一步获取的 Key

安装指引
  1. 步骤1:使用 Docker 运行(推荐)。执行:docker run -d -p 3000:3000 -e WAKAPI_PASSWORD_SALT=你的随机盐值 -v wakapi-data:/data --name wakapi ghcr.io/muety/wakapi:latest
  2. 步骤2:打开浏览器访问 http://localhost:3000,注册账号,在设置页面获取 API Key
  3. 步骤3:在本机编辑器安装 WakaTime 插件,编辑 ~/.wakatime.cfg,将 api_url 设为 http://localhost:3000/api,api_key 填入上一步获取的 Key
文件完整性

已提供 SHA-256 校验码,下载后可自行核对文件完整性

该校验码提取自 GitHub 官方 Release 页面

SHA256 校验码

a422be12dedb76f7c5720e7616e8556de64f84aba708c9eae197217ba9011b4f

该校验码提取自 GitHub Release 页面,下载后请自行核对文件完整性

本平台所有 SHA-256 校验码均提取自项目在 GitHub 官方 Release 页面发布的文件,未做任何修改。你可以通过 GitHub Releases 页面自行验证。

运维指引

卸载说明

停止 Docker 容器:docker stop wakapi && docker rm wakapi;删除数据卷(可选):docker volume rm wakapi-data。如果是从源码编译安装,直接删除二进制文件和配置文件即可。

无额外依赖

下载后即可直接使用,无需安装其他运行环境

项目信息
开源协议MIT
最后更新2026-06-26 09:50:21
GitHub 仓库官方网站

遇到问题?查看下方 FAQ

2 FAQs

相似推荐