角色会话场景
老板、组长、员工三种角色与清海的 GitLab 对话场景设计。 会话场景概览见 GitLab 研发管理,能力定义见 Skill 清单。
组织结构与信息权限
团队结构
老板
├── 开发部门
│ ├── 项目经理
│ ├── 前端组(组长 + 5-10 人)
│ ├── 后端组(组长 + 5-10 人)
│ └── 产品组(组长 + 5-10 人)
└── 运营组- 项目是跨组的——同一个仓库有前端和后端代码
- 组长 = GitLab Maintainer(审核代码 + 发布版本),组员 = Developer
- 组长的管理范围按「人」划定,不按「项目」划定
信息权限矩阵
| 维度 | 老板 | 组长 | 员工 |
|---|---|---|---|
| 本人数据 | ✅ | ✅ | ✅ |
| 本组成员个人数据 | ✅ | ✅ | ❌ |
| 其他组成员个人数据 | ✅ | ❌ | ❌ |
| 其他组汇总数据 | ✅ | ✅ | ❌ |
| 全公司数据 | ✅ | ❌ | ❌ |
越权查询引导规则:
- 组长查其他组个人数据 → 引导找对方组长或项目经理
- 员工查他人数据 → 引导找组长或项目经理
- 不升级到老板层面
老板会话场景
核心诉求:进度 + 人员。项目在推进吗、谁在干活。 互动模式:随时追问(日报由独立 skill 处理,不在本文范围)。 信息范围:无隔离,全公司所有人、所有项目。
进度总览类
| 用户问法 | 清海应答 | 备注 |
|---|---|---|
| "昨天大家干了啥" | 按人列出昨日 commit 摘要,用业务语言描述 | 全公司维度 |
| "boss-agi 最近什么情况" | 近 3 天 commit 概况 + open MR 数 + CI 状态 | 单项目维度 |
| "这周各项目进展" | 按项目汇总本周 commit 数、MR 数、活跃人数 | 多项目对比 |
人员追踪类
| 用户问法 | 清海应答 | 备注 |
|---|---|---|
| "王锦最近在忙什么" | 近 7 天 commit 记录 + 参与项目 + MR 状态 | 个人维度 |
| "前端组这周产出怎么样" | 按前端组成员聚合 commit + MR,与上周对比 | 按组维度 |
| "有没有人这周没提交代码" | 对比团队名单与本周有提交的人,列出差异 | 异常发现 |
| "后端组和前端组对比一下" | 两组的 commit 数、代码量、MR 数并排对比 | 跨组对比 |
问题跟进类
| 用户问法 | 清海应答 | 备注 |
|---|---|---|
| "有没有 MR 卡着的" | 列出超 24h 未审的 MR,标注 reviewer | 全公司扫描 |
| "催一下赵成远审核" | 飞书通知赵成远,附 MR 链接 | 触发动作 |
| "CI 最近有没有问题" | 列出各项目最近 pipeline 失败情况 | 全局 CI 状态 |
| "谁老是直接 push 不走 MR" | 统计直接 push 到 main 的记录,按人排序 | 规范监控 |
设计原则
- 无信息隔离:老板看全公司所有人、所有项目
- 上下文连续:追问"他具体改了啥"能接住上一轮的人/项目
- 人名自动映射:说中文名即可,清海内部匹配 GitLab 账号
- ⚠️ 数据覆盖说明(待修复):当前提交统计只覆盖 master/main 分支,feature/develop 等活跃分支上的工作暂不计入。修复后自动覆盖所有活跃分支,无需感知
组长会话场景
核心身份:既写代码又管人,日常审 MR、盯组员产出、准备站会素材。 互动模式:主动查询 + 组内周报(替代站会同步 + 省翻 GitLab 时间)。 信息范围:本组成员个人数据 + 其他组汇总数据 + 所有项目。
组内进度类
| 组长问 | 清海答 | 备注 |
|---|---|---|
| "我们组昨天干了啥" | 按组员列出昨日 commit,自动识别"我们组" | 只显示本组成员 |
| "这周组里谁产出最多" | 本组成员 commit 数 + 代码量排行 | 组内对比 |
| "李XX 这周有提交吗" | 该组员近 7 天提交记录,无则明确说"无提交" | 组长只能查本组的人 |
| "boss-agi 上我们组做了哪些" | 筛选本组成员在该项目上的 commit | 项目×组交叉 |
代码审核类
| 组长问 | 清海答 | 备注 |
|---|---|---|
| "我有什么 MR 要审" | 列出 reviewer 是自己的 opened MR | 个人待办 |
| "组里有没有 MR 没人审" | 本组成员提的 opened MR,reviewer 为空或超时未审 | 组内 MR 监控 |
| "王锦那个 MR 改了什么" | MR 变更文件 + diff 摘要(业务语言) | 审核辅助 |
| "这周组里合了多少 MR" | 本组成员本周 merged 的 MR 统计 | 组内汇总 |
管理动作类
| 组长问 | 清海答 | 备注 |
|---|---|---|
| "催一下张子卓提交代码" | 飞书通知张子卓,附组长留言 | risk:low |
| "帮我整理组内周报" | 按组员汇总本周 commit + MR + 代码量 | 站会/周会素材 |
| "谁的 MR 被打回最多" | 本组成员 MR 被 close/reopen 的统计 | 质量洞察 |
跨组查询边界
| 组长问 | 清海答 |
|---|---|
| "后端组这周提交了多少" | 返回后端组整体 commit 数、MR 数等汇总数据 |
| "后端组的王锦这周干了啥" | "王锦的个人工作情况可以找后端组长或项目经理了解" |
设计原则
- 信息范围 = 本组成员:前端组长看不到后端组的个人数据
- 项目数据不隔离:组长能看到所有项目,但人员维度只看自己组
- 跨组只看汇总:可以知道其他组整体数据,不能查个人
- "我们组"自动解析:清海通过组长的 PersonCard 知道他管哪些人
- ⚠️ 数据覆盖说明(待修复):当前提交统计只覆盖 master/main 分支,组员在 feature 分支上的工作暂不计入统计
员工会话场景
核心定位:专心写代码,清海只在关键节点出现。 互动模式:被动接收为主,主动查询能力有限。 信息范围:仅自己的数据。
被动提醒(清海 → 员工)
| 触发条件 | 清海推送内容 | 备注 |
|---|---|---|
| MR 被组长打回 | "你的 MR !3 被赵成远打回了,备注:缺少单元测试" | 附 MR 链接 |
| MR 超 24h 无人审核 | "你的 MR !5 提了一天了还没人审,要不要催一下组长?" | 给员工选择权 |
| 组长催促 | "前端组长提醒你:登录模块的代码今天能提交吗?" | 组长通过清海传话 |
| 直接 push 到 main | "你刚直接 push 到了 boss-agi 的 main 分支,团队规范建议走 MR 流程哦" | 规范引导,语气友善 |
| MR 被合并 | "你的 MR !3 已经被赵成远合并了 ✓" | 正向反馈,简短 |
主动查询(员工 → 清海)
| 员工问 | 清海答 | 备注 |
|---|---|---|
| "我的 MR 什么状态" | 列出自己的 opened MR(标题 + reviewer + 等待时长) | 只能看自己的 |
| "我这周提交了多少" | 本周 commit 数 + 代码增删量 + 涉及项目 | 个人维度 |
| "我有什么待办" | 待审核的 MR + 被打回需修改的 MR | 个人待办 |
越权查询拒绝
| 员工问 | 清海回应 |
|---|---|
| "王锦这周提交了多少" | "同事的工作情况可以找组长或项目经理了解" |
| "其他人的 MR 什么状态" | "你可以查看自己的 MR,其他人的请找组长" |
| "全公司昨天提交了什么" | "公司整体的研发情况可以找项目经理了解" |
设计原则
- 信息范围 = 仅自己:只能查自己的 commit、MR、pipeline
- 被动为主:清海主动找员工的场景多于员工主动问的场景
- 语气友善不施压:规范提醒是引导而非批评,催促是转达而非命令
- 正向反馈:MR 合并后简短通知,让员工感知到闭环
三角色信息权限流转
关键设计决策汇总
| 决策 | 结论 | 理由 |
|---|---|---|
| 信息隔离维度 | 按人隔离,不按项目隔离 | 项目跨组协作,隔离项目会断裂上下文 |
| 越权引导 | 找对方组长或项目经理,不升级老板 | 减少老板负担,组长间平级协调 |
| 员工打扰程度 | 关键节点才提醒,语气友善 | 员工核心任务是写代码 |
| 日报/周报 | 独立 skill 处理,不在会话场景范围 | 推送逻辑与对话逻辑解耦 |
| "我们组"解析 | 通过 PersonCard 自动识别组长管辖范围 | 不需要每次指定组名 |