attend/watched:基于Git仓库的项目贡献行为追踪统计工具 | 2026/10/10

背景引入

开源生态的运行核心是开发者贡献,小到个人维护的工具项目,大到企业主导的社区型项目,贡献记录的整理都需要耗费大量人力。很多项目维护者需要手动统计季度贡献名单、梳理代码提交分布,普通开发者想要梳理自己一段时间内的贡献产出,也需要从多个仓库导出数据手工汇总。

现有统计工具大多偏向于代码量统计、提交频率分析,针对多仓库贡献行为的轻量追踪,一直缺少开箱即用的解决方案。这类工具对部署资源要求低,只需要读取Git原生数据即可运行,不需要额外绑定第三方代码托管平台的API权限,降低了数据泄露风险。

项目概述

attend/watched由国内开源开发者发起,项目定位是轻量型Git贡献行为追踪工具,所有逻辑基于本地Git仓库数据运行,不需要联网调用第三方接口。项目采用MIT开源协议,代码结构清晰,模块划分简单,适合二次开发调整自定义统计规则。

当前项目已完成核心统计逻辑的开发,支持多目录批量扫描本地Git仓库,输出结构化的贡献统计结果,支持导出多种格式的统计报表,满足不同场景的使用需求。

技术架构深度分析

该项目整体采用分层设计,分为数据采集层、规则处理层、输出渲染层三个核心层级,各层级之间依赖关系清晰,模块解耦程度高,修改任意模块不会影响其他模块的正常运行。

数据采集层直接调用本地Git命令读取仓库日志,不需要引入第三方Git解析库,降低了项目依赖体积,同时避免了第三方库兼容性问题。设计上优先使用Git原生输出,再通过正则提取结构化数据,这种方案的稳定性更高,只要Git环境正常就能运行,不需要针对不同Git版本做特殊适配。

规则处理层内置默认统计规则,同时支持通过配置文件自定义统计维度,比如可以设置统计的时间范围、排除特定用户的提交、按仓库分组统计贡献。规则层采用链式处理设计,新增自定义规则只需要添加对应的处理节点即可,不需要修改原有核心逻辑,扩展成本很低。

输出渲染层支持多种输出格式的适配,每一种输出格式对应独立的渲染模块,新增输出格式只需要实现对应的渲染接口即可。整体技术选型偏向轻量化,项目依赖不超过十个,安装部署只需要一分钟就能完成,对运行环境没有特殊要求。

核心功能详解

多仓库批量扫描

支持指定本地多个根目录,工具会自动递归遍历目录下所有Git仓库,读取每个仓库的提交日志。遍历过程自动忽略空仓库、无效Git目录,不会因为单个目录异常中断整个扫描流程。该功能适合本地存放大量项目仓库的开发者或维护者,可以一次性完成所有仓库的贡献数据采集,不需要逐个仓库手动操作。

自定义时间范围统计

支持通过参数指定统计的起止时间,只统计时间范围内的贡献行为,过滤超出范围的提交记录。可以组合使用多种时间参数,比如按自然月、季度、年度统计,也可以自定义任意起止时间点。该功能满足项目季度总结、年度贡献报告生成的需求,不需要手动过滤历史提交数据。

多维度贡献分组

统计结果支持按用户名、仓库、提交时间三种维度分组,不同分组模式适配不同的使用场景。按用户名分组可以快速汇总单个开发者所有仓库的总贡献,按仓库分组可以直观看到每个项目的贡献分布情况,按时间分组可以展示贡献频率的变化趋势。所有分组规则支持通过配置文件调整,不需要修改源代码即可适配自定义分组需求。

过滤规则自定义

支持配置排除规则,过滤特定用户、特定分支、特定文件类型的提交记录。比如可以设置排除自动提交的构建产物、过滤管理员的维护提交,只统计业务代码的贡献。过滤规则支持通配符匹配,灵活适配不同项目的过滤需求,保证最终统计结果符合实际使用预期。

多格式报表导出

统计完成后支持导出JSON、Markdown、CSV三种常用格式的报表,JSON格式方便对接其他工具做二次处理,Markdown格式可以直接插入项目README或博客文章,CSV格式可以导入Excel或其他数据分析工具做进一步处理。导出路径支持自定义,默认输出到运行目录,不需要额外修改配置即可直接使用。

离线本地运行

所有计算逻辑都在本地运行,不需要上传代码或提交日志到第三方服务器,不会泄露项目的敏感信息。不需要申请代码托管平台的API权限,也不用担心API调用频率限制,只要本地能正常运行Git命令就能使用该工具。该设计对内部私有项目的贡献统计非常友好,完全满足数据安全要求。

零依赖轻量部署

项目编译后为单二进制可执行文件,不需要安装任何运行时依赖,下载后直接就能运行。支持Windows、Linux、MacOS三大主流桌面平台,不同平台都能获得一致的使用体验。文件体积不超过10M,不会占用过多磁盘空间,也不会对系统运行产生任何影响。

这是一款基于本地Git仓库运行的轻量贡献行为追踪统计工具,支持多仓库批量扫描、自定义统计规则和多格式报表导出。所有逻辑离线运行,不需要调用第三方API,不会泄露敏感代码信息,满足开源项目维护者、普通开发者和中小团队的贡献统计需求。

项目地址:https://gitee.com/attend/watched
🔍 来源:Gitee

架:一个类 = 管理后台 + REST API + AI Agent,无需前端代码。 低代码 流程引擎 AI MCP Web 最近更新: 3天前 Binary Wang / WxJava GVP 微信开发 Java SDK,支持微信支 行深入讨论 最近更新: 3天前 Arthas / arthas GVP Arthas(阿尔萨斯)是阿里巴巴开源的 Java 诊断工具 最近更新: 8天前 G

手机扫描二维码访问

微信扫一扫支付
微信logo微信扫一扫,打赏作者吧~
不喜欢1

本文链接:https://5x10.cn/post/739.html

猜你喜欢

网友评论