yingjie@memoir
Skip to content

2026-05-21

贡献者成长体系

我要做“子赛题三:构建端到端自动化工作流”中的贡献者成长体系“。 刚开始我想的是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,很简单:

  1. 开发者定义路径和对应的tag
  2. PR中修改了特定路径的文件,自动会被打上相关的tag:例如,修改了frontend下的代码,自动打上前端的标签

Agent Skill怎么做?

  1. 同样需要仓库管理员定义一个规则文件
  2. 提PR->触发流水线,流水线调用agent skill->打标签

Agent通过gitlink-cli获取PR中修改的文件路径,识别被修改的模块->打上标签,识别此任务类型->分配到人。