GitLab Agent Profile

📊 GitLab 代理贡献可视化与审计追踪

自动维护 GitLab 代理个人资料页,生成静态贡献图表与 JSON 记录,追踪主分支合并请求与直接提交,支持多项目统计与贡献评分。

收藏
6.1k
安装
1.5k
版本
1.69.2
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

gitlab-agent-profile 是一款面向 GitLab 生态的自动化技能,用于维护代理(Agent)的静态个人资料资产。该技能通过调用 glab CLI 与自定义 Python 脚本,定期从指定 GitLab 项目拉取数据,生成 SVG/WebP 格式的贡献图表以及 JSON 格式的可验证记录文件。

执行流程
1. 验证 GitLab 认证状态

2. 执行 update-profile-stats.py 脚本,分析最近 N 个月(默认 12 个月)的合并请求与直接提交

3. 按分类统计:所有者提交、代理提交(经所有者审核/合并)、代理自主提交、总计

4. 计算贡献评分(MR 按规模加权,直接提交固定 0.2 分)

5. 若资产更新,自动提交至 assets/ 目录

数据分类逻辑

  • 依据作者用户名区分所有者与代理
  • 通过审核人/合并人身份判断代理工作是否经过人工把关
  • 支持 type::fix/type::feature 标签或 Conventional Commit 前缀识别有效贡献
  • 自动排除 skip:chore:docs: 等维护性提交

显著优点

  • 可视化透明:生成静态 SVG/WebP 图表,无需外部服务即可嵌入任意页面
  • 可审计追踪:JSON 记录文件包含完整原始数据,支持独立验证
  • 灵活配置:支持多项目聚合、自定义根组、代理/所有者身份切换、时间窗口调整
  • 标准化评分:基于 GitLab 标签的规模因子(1/2/3/5)实现客观量化
  • 自动化运维:内置 Cron 模板,支持定时触发(默认 15 分钟间隔)

潜在缺点与局限性

  • 单平台依赖:仅支持 GitLab,无法迁移至 GitHub 等替代平台
  • 标签依赖性强:贡献分类与评分高度依赖团队规范使用 type::size:: 标签
  • 静态文件膨胀:长期运行可能积累大量历史图表版本,需配合清理策略
  • 权限敏感:需要 GITLAB_TOKEN 具备跨项目读取 MR 与提交历史的权限
  • Python 环境依赖:目标环境需预装 python3 与图表生成库

适合人群

  • 使用 GitLab 管理 AI 代理或自动化账户的开发者团队
  • 需要向利益相关方展示代理生产力与人工监督比例的技术管理者
  • 追求贡献数据可验证、可嵌入的 DevOps/Platform 工程团队

常规风险

  • Token 泄露GITLAB_TOKEN 若配置不当可能被脚本日志或环境转储暴露
  • 数据过度收集:默认扫描范围较宽,可能意外包含私有或敏感项目信息
  • 评分算法偏见:规模标签由人工标注,存在主观放大或缩小贡献价值的可能
  • 自动化提交流量:频繁更新可能导致 Git 历史膨胀,建议配合 deleteAfterRun: false 审慎评估保留策略

GitLab Agent Profile 内容

scripts文件夹
手动下载zip · 9.4 kB
profile_chart.pytext/plain
请选择文件