Skip to content

GitLab 研发管理

清海接入 GitLab 的 6 大会话场景及各场景需要的能力。 角色维度的会话旅程见 角色场景,能力定义见 Skill 清单


背景与现状

团队使用 GitLab CE 18.2(私有部署,gitlab.e-idear.com)管理代码。清海已经"认识"每个人(阶段 1 组织架构识别完成),现在需要"看懂"研发活动,让不同角色通过对话掌握项目状态。

维度现状
版本GitLab CE 18.2.4(社区版)
项目数~10 个活跃项目
团队开发部门(前端组 + 后端组 + 产品组,各组 5-10 人) + 运营组
分支策略主要直接 push 到 main/master,MR 流程逐步推行中
CI/CD部分项目配置了 Pipeline,多数处于 skipped/failed
接入方式GitLab API v4,只读查询,Token 鉴权,SSL 自签名

场景与能力总览

GitLab 研发管理覆盖 6 大会话场景,每个场景需要特定的查询能力组合:

场景 → 能力映射表

场景触发词示例需要的查询能力GitLab API
项目状态速览"昨天大家提交了什么"、"boss-agi 什么情况"列出项目 + 查询提交记录(待修复:覆盖所有活跃分支GET /projects + GET /projects/:id/repository/commits
MR 生命周期"有没有待审核的 MR"、"MR 改了什么"MR 列表 + MR 变更详情GET /projects/:id/merge_requests + .../changes
Pipeline 与部署"CI 挂了吗"、"哪个 Job 失败了"Pipeline 列表 + Pipeline Job 详情GET /projects/:id/pipelines + .../jobs
团队工作量洞察"这周谁代码量最多"、"研发周报"代码贡献统计 + 查询提交记录(待修复:覆盖所有活跃分支GET /projects/:id/repository/contributors + commits?with_stats=true
代码变更摘要"这个提交改了什么"、"帮我看看改动"提交详情与 diff + MR 变更详情GET /projects/:id/repository/commits/:sha + /:sha/diff
Issues 与文件查看"有哪些 bug"、"看一下 config 文件"Issues 列表 + 文件内容GET /projects/:id/issues + .../files/:path/raw

Skill 触发机制

用户消息 → 命中触发词(代码|GitLab|提交|MR|合并请求|仓库|分支|流水线|CI|CD|Issues...)
         → 渐进式加载 Skill 定义
         → AI 根据用户意图选择能力组合
         → 调用 GitLab API → 整理结果 → 回复用户

场景一:项目状态速览

核心价值:不用打开 GitLab,直接问清海就知道项目动态。

典型对话

用户问法清海应答需要的能力
"公司有哪些代码仓库"列出所有项目(名称 + 最后活跃时间)列出项目
"昨天大家提交了什么"按人列出昨日 commit(项目 + 标题 + 代码增删量)列出项目 → 查询提交记录(遍历活跃项目)
"boss-agi 最近什么情况"近 3 天 commit 概况 + open MR 数查询提交记录 + MR 列表
"阿远这周写了什么代码"按项目列出该人本周 commit查询提交记录(按作者筛选)

数据流转

关键约束

  • 人名匹配通过 author_email → PersonIndex,不依赖 author_name(可能含空格如"阿 远")
  • contributors API 在 CE 18.x 中 additions/deletions 返回 0,代码量统计通过 commits?with_stats=true 逐条聚合
  • ⚠️ 多分支覆盖(待修复):当前提交查询默认只覆盖 master/main,feature / develop / hotfix 等活跃分支上的提交不被统计,数据不完整。修复方案见 Skill 清单 — 实现路线

场景二:MR 生命周期管理

核心价值:推动团队建立 MR review 流程,管理者掌握审核动态。

典型对话

用户问法清海应答需要的能力
"有没有待审核的 MR"列出所有 open MR(标题 + 作者 + reviewer + 等待时长)MR 列表(state=opened)
"王锦的 MR 什么状态"按作者筛选 MR 列表MR 列表(按作者筛选)
"这个 MR 改了什么"变更文件列表 + diff 摘要MR 变更详情
"这周合了多少 MR"统计本周 merged 的 MRMR 列表(state=merged)
"催一下赵成远审核"通过飞书消息通知 reviewerMR 列表(定位 MR)→ 飞书消息通知

跨能力联动

催审场景涉及 GitLab 查询 + 飞书消息两种能力的协作:


场景三:Pipeline 与部署

核心价值:CI 红灯第一时间感知,定位失败原因。

典型对话

用户问法清海应答需要的能力
"CI 状态怎么样"各项目最近的 pipeline 状态Pipeline 列表
"boss-agi 最近的构建"最近几个 pipeline(状态 + 分支 + 触发人 + 耗时)Pipeline 列表
"哪个 Job 失败了"Pipeline 下的 Job 列表 + 失败日志Pipeline 列表 → Pipeline Job 详情
"最近有没有构建失败"筛选 failed 状态的 pipelinePipeline 列表(status=failed)

两步查询流

Pipeline 场景通常需要两步调用:先定位 Pipeline → 再查 Job 详情。


场景四:团队工作量洞察

核心价值:量化研发产出,生成站会/周报素材。

典型对话

用户问法清海应答需要的能力
"这周谁代码量最多"按人统计本周 commit 数 + 代码增删代码贡献统计(since/until)
"王锦最近的代码活跃度"近 7 天每日 commit 数 + 代码量代码贡献统计(按作者 + since)
"有没有人这周没提交"对比团队名单与本周有提交的作者代码贡献统计 + PersonIndex 成员列表
"帮我整理研发周报"按项目汇总 commit + MR + 关键变更查询提交记录 + MR 列表 + 代码贡献统计

统计逻辑


场景五:代码变更摘要

核心价值:老板看不懂代码,清海用业务语言翻译代码变更。

典型对话

用户问法清海应答需要的能力
"这个提交改了什么"读取 commit diff → 用业务语言总结提交详情与 diff
"帮我看看这个 MR 改了什么"读取 MR diff → LLM 总结MR 变更详情
"最近有没有很大的改动"查 commits,筛选代码变更量大的查询提交记录 → 提交详情与 diff

AI 翻译流


场景六:Issues 与文件查看

核心价值:快速查看项目 Issue 状态和文件内容,不切换到 GitLab 界面。

典型对话

用户问法清海应答需要的能力
"有哪些 bug 类型的 Issue"按标签筛选 opened issuesIssues 列表(labels=bug)
"看一下 config.py 的内容"文件内容(自动截断超长文件)文件内容
"develop 分支上的 README"指定分支查看文件文件内容(ref=develop)

角色权限与场景覆盖

不同角色在各场景中的可见范围不同,详见 角色场景

角色 × 场景矩阵

场景老板组长员工
项目状态速览全公司所有人、所有项目所有项目,人员维度仅本组仅自己的提交
MR 生命周期全公司 MR本组成员 MR + 自己待审仅自己的 MR
Pipeline 与部署全部全部全部(项目维度不隔离)
团队工作量洞察全公司本组成员 + 其他组汇总仅自己
代码变更摘要全部全部仅自己的提交
Issues 与文件全部全部全部(项目维度不隔离)

越权查询引导


复用能力与全局约束

复用的现有能力、人员映射机制、全局约束详见 Skill 清单 — 复用的现有能力Skill 清单 — 全局约束

Boss-AGI · 超级 AI 企业助理