GitLab Agent Profile

📊 GitLab 贡献可视化与自动化档案管理

自动化维护 GitLab Agent 个人资料页与贡献统计图表,支持 SVG/WebP 可视化、多维度贡献分类及 JSON 数据证明。

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

使用说明

核心功能

gitlab-agent-profile 是一款面向 GitLab 平台的自动化运维技能,专注于生成和维护 Agent 的静态贡献档案。其核心工作流程通过 Python 脚本定期抓取 GitLab 数据,生成三类静态资产:

  • 可视化图表:SVG 与 WebP 格式的柱状图,展示近 12 个月的合并请求(MR)统计、直接提交次数及贡献得分
  • 数据证明:JSON 格式的原始记录文件,按日期降序排列,确保数据可审计
  • 多维度分类:区分 Owner 直接工作、Agent 经 Owner 审核的工作、Agent 自主工作及总计四类指标

显著优势

1. 精细化贡献度量:采用多因子计分体系,MR 按大小标签(xsmall=1, medium=2, large=3, xlarge=5)加权计分,直接提交按 0.2 分折算,避免简单计数导致的贡献失真
2. 智能类型识别:优先使用 GitLab 标签(type::fix/type::feature),自动回退到 Conventional Commits 标题解析,兼容多种工作流

3. 噪声过滤机制:自动排除 skip:chore:docs:revert 等维护性提交,聚焦实质性贡献

4. 零配置部署:依赖 glab CLI 自动识别认证用户,项目名支持短名称扩展(如 ci-toolsxrow-public/ci-tools

潜在局限

  • 单实例锁定:设计针对特定 GitLab 实例(默认 xrow-public 根组),跨实例迁移需手动调整环境变量
  • 静态输出限制:生成的是静态图片/JSON,无交互式钻取能力,深度分析需二次开发
  • 标签依赖风险:贡献分类严重依赖 size::type:: 标签体系,团队标签不规范会导致计分偏差
  • 定时任务耦合:内置 cron 配置(15分钟周期)在 enabled: false 状态下需手动激活,新手易忽略

适用人群

  • 技术团队负责人:需要量化展示人机协作贡献比例
  • 开源项目维护者:生成可嵌入 GitHub/GitLab profile 的贡献热力图
  • AI Agent 运维工程师:建立 Agent 工作透明度和可审计追踪
  • DevOps 平台管理员:整合到内部开发者门户的数据看板

常规风险

| 风险类别 | 具体描述 | 缓解建议 |
|---------|---------|---------|
| 令牌泄露 | `GITLAB_TOKEN` 需持久化存储,泄露可导致仓库访问权限被滥用 | 使用密钥管理服务,避免硬编码 |
| 权限提升 | `glab` 需 `api` + `read_repository` 权限,过度授权可能扩大攻击面 | 创建专用只读机器人账户 |
| 数据准确性 | 标签误用或历史 MR 补打标签会导致统计回溯变化 | 建立标签变更审计日志 |
| 定时任务堆积 | 15分钟高频调度在大型仓库可能产生 API 限流 | 根据仓库规模调整 `everyMs` 间隔 |

GitLab Agent Profile 内容

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