Wakapi Sync

📊 每日编码数据,一键归档 CSV

将 Wakapi/WakaTime 每日编码统计数据自动同步到本地 CSV,便于离线分析和长期追踪个人开发效率。

收藏
5.9k
安装
1.4k
版本
0.2.1
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

wakapi-sync 是一个轻量级的 Node.js 脚本,用于将 Wakapi(WakaTime 兼容服务)的每日编码统计数据抓取并持久化为本地 CSV 文件。用户配置三个环境变量(服务地址、API 密钥、输出目录)后,运行脚本即可获取当日数据,并自动更新三类 CSV:每日总览、热门项目排行、热门语言排行。数据以追加模式写入,适合长期累积形成个人开发时间数据库。

显著优点

1. 数据主权:将云端统计数据本地化存储,避免服务商变更或账号问题导致历史数据丢失
2. 格式标准:CSV 格式通用性强,可直接用 Excel、Pandas、R 等工具分析,或接入 BI 系统

3. 增量更新:智能追加而非全量覆盖,保护历史记录完整性

4. 配置简洁:仅需 3 个必填环境变量,无复杂依赖或数据库要求

5. 兼容生态:支持标准 Wakapi API 及 WakaTime 兼容端点,适配自托管场景

潜在局限

1. 单日粒度:仅抓取「今日」数据,无法回填历史或处理漏跑日期
2. 无内置调度:需依赖 cron/systemd 等外部定时任务机制实现每日自动执行

3. 认证方式单一:仅支持 Basic Auth(base64 API key),不支持 OAuth 或 Token 轮换

4. Schema 固定:输出列名和结构硬编码,自定义扩展需修改源码

5. 无数据校验:缺乏对 API 返回数据的完整性校验或异常值检测

适合人群

  • 使用 Wakapi/WakaTime 追踪编码时间的开发者
  • 希望建立个人数据仓库进行效率分析的量化自我爱好者
  • 需要将编码统计数据导入本地分析管道的数据工程师
  • 偏好自托管方案、关注数据隐私的技术用户

常规风险

  • 凭证泄露WAKAPI_API_KEY 以明文形式存在于环境变量,共享环境或日志不当可能暴露
  • 路径遍历:若 WAKAPI_OUT_DIR 用户可控且未校验,可能存在目录遍历风险(虽概率较低)
  • 数据覆盖:并发运行或脚本异常中断可能导致 CSV 写入冲突或损坏
  • API 限流:高频调用可能触发服务端限流,建议每日执行不超过 1-2 次
  • 依赖风险:Node.js 18+ 要求,旧系统需升级运行时环境

Wakapi Sync 内容

scripts文件夹
手动下载zip · 5.3 kB
wakapi-daily-summary.mjstext/javascript
请选择文件