背景引入
开源生态的运行核心是开发者贡献,小到个人维护的工具项目,大到企业主导的社区型项目,贡献记录的整理都需要耗费大量人力。很多项目维护者需要手动统计季度贡献名单、梳理代码提交分布,普通开发者想要梳理自己一段时间内的贡献产出,也需要从多个仓库导出数据手工汇总。
现有统计工具大多偏向于代码量统计、提交频率分析,针对多仓库贡献行为的轻量追踪,一直缺少开箱即用的解决方案。这类工具对部署资源要求低,只需要读取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,不会占用过多磁盘空间,也不会对系统运行产生任何影响。
项目地址: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

微信扫一扫,打赏作者吧~
网友评论