核心用法
Who Is Actor 是一款纯原生 Git 命令驱动的开发者行为分析工具,无需安装任何依赖或执行脚本。用户指定仓库路径、目标作者、时间范围和分支后,系统通过 git shortlog、git log、git diff --stat 等只读命令采集数据,经 AI 从提交习惯、工作习惯、研发效率、代码风格、代码质量、参与度指数六个维度生成量化评估报告。
核心工作流:① 参数校验(路径/作者/日期/分支严格白名单过滤)→ ② 数据采集(贡献者列表、提交详情、时段分布、代码统计、质量信号)→ ③ AI 六维评分(各维度 1-10 分)→ ④ 生成报告(总览表、个人画像、雷达图、团队对比、改进建议)。
显著优点
- 零依赖零风险:仅使用原生 git 只读命令,不执行任何外部脚本,无供应链攻击风险
- 隐私优先设计:强制使用
%an作者名而非%ae邮箱,全程不采集邮箱地址 - 输入严格校验:路径、作者、日期、分支均经正则白名单验证,防命令注入
- 多维量化评估:六维度雷达评分 + 综合加权评分,数据驱动而非主观臆断
- 伦理内置:参与度指数附带明确用途限制声明,禁止用于绩效考核/裁员决策
- 犀利直接风格:模拟资深 Tech Lead 的 Code Review 语气,优点缺点不粉饰
潜在缺点与局限性
- 无法识别同人多身份:依赖 git 作者名匹配,同一人使用不同 name 会被视为多人(需配合
.mailmap) - 非代码贡献盲区:设计、评审、会议指导等工作不产生 git 记录,高分低分均可能失真
- 时区判断依赖提交记录:跨时区协作时工作时段分析可能偏差
- 大型仓库性能:全历史分析可能耗时较长,需手动限定时间范围
- 质量信号间接性:Bug Fix/Revert 占比仅为代理指标,不能直接等同于真实缺陷率
- AI 解读主观性:评分标准虽有框架,最终分数和点评仍依赖模型判断
适合人群
- 技术团队管理者:了解团队协作模式、识别 Bus Factor 风险、优化研发流程
- Tech Lead / 架构师:为团队成员提供基于数据的改进反馈,替代直觉式评价
- 开源项目维护者:分析贡献者活跃度分布,制定激励策略
- 开发者自评:客观审视自身提交习惯和工作节奏,寻求提升
常规风险
| 风险类型 | 说明 | 缓解措施 |
|---------|------|---------|
| 命令注入 | 恶意构造的仓库路径/作者名可能执行任意代码 | 严格白名单校验,禁止 `; \| & $ \` ( ) > <` 等字符 |
| 隐私泄露 | 误采集邮箱地址 | 强制 `-sn` 替代 `-sne`,禁用 `%ae` 格式符 |
| 误用风险 | 参与度指数被用于绩效考核 | 报告内置用途限制声明,要求"公开透明"原则 |
| 数据误读 | 高分=偷懒/低分=高效的错误推论 | 六维雷达+综合评分设计,强调"完整上下文" |
| 大型仓库超时 | 全历史 log 命令执行过久 | 建议用户限定时间范围,或采样分析 |
安全等级 S:所有命令均为 git 只读操作,无网络请求、无文件写入、无外部进程执行,输入经多层校验后拼接。