2026-05-21
GitLink
贡献者成长体系
我要做“子赛题三:构建端到端自动化工作流”中的贡献者成长体系“。 刚开始我想的是vibe一个前端项目出来,经过一段时间间隔,自动获取贡献数据(gitlink-health)并进行构建。AI建议直接将贡献榜做到markdown文件里。
分析一下这两种展示形式的优劣:
- md
- 优点:简单,可以被版本管理追踪
- 缺点:展示形式不够炫酷?
- 网页
- 优点:展示形式丰富
- 缺点:复杂,构建时间长,无法保存历史数据?
要不要保留历史数据呢?我觉得应该是要的,虽然可以后续读取全量的数据,再复现出来每个时间段的排行榜,但是有些奖项可能是需要人类用户介入的,纯逻辑没法解决。
确定,目前只做md格式的。
我觉得两种都做出来,给用户多点选择。
具体的工作逻辑应该是这样的:
- 在gitlink平台设置流水线,设置目标仓库
- 运行gitlink-healh的分析skill,获取目标仓库的元数据
- 根据元数据进行分析,获得排行数据
- 根据排行数据
- 生成网页
- 生成markdown文档
梳理一下逻辑:获取数据->分析数据->排行榜->颁发徽章
获取和分析的步骤都没问题,已经在gitlink-health实现了。
如何分析数据?
- 固化的SQL指令
- AI+Skill生成SQL指令
既然gitlink-health里生成SQL指令用的就是AI,要不在这里也用AI? 会看了一下gitlink-health的效果,是从项目视角看的,不是个人视角,所以实际上不会生成个人的排名。
所以,可以做一个gitlink-growth的skill,复用gitlink-health的数据采集脚本和数据库表设计,生成自己的SQL指令来把排行榜跑出来。
Issue自动分拣
在思考上面任务的过程中,发现无法对个人做到更细粒度的排行,比如谁在哪些方面贡献的最多。通过PR、Issue上的tag以及assign应该可以解决这个问题。
所以,现把自动分拣、打标签、分配责任人这个skill做出来。
这个任务的核心是什么? 我认为是匹配match。
- PR/Issue和标签的匹配
- 任务和责任人的匹配
怎么做? GitHub上面有纯逻辑实现的labler,很简单:
- 开发者定义路径和对应的tag
- PR中修改了特定路径的文件,自动会被打上相关的tag:例如,修改了frontend下的代码,自动打上前端的标签
Agent Skill怎么做?
- 同样需要仓库管理员定义一个规则文件
- 提PR->触发流水线,流水线调用agent skill->打标签
Agent通过gitlink-cli获取PR中修改的文件路径,识别被修改的模块->打上标签,识别此任务类型->分配到人。