核心用法
Who Is Actor 是一款纯命令行驱动的开发者行为分析工具,无需安装任何依赖包或脚本。它通过原生 git log、git shortlog、git diff 等命令采集数据,结合标准 Unix 文本处理工具(cut、sort、awk、grep 等)进行本地统计,最终由 AI 生成六维度开发者画像报告。
用户只需用自然语言描述需求,如"分析 /path/to/project 仓库"、"对比 Alice 和 Bob 的研发效率"或"检查巴士因子风险",系统即自动执行参数校验、数据收集、AI 分析和报告生成全流程。
六维评估体系
| 维度 | 权重 | 评估重点 |
|------|------|----------|
| 提交习惯 | 15% | 频率稳定性、单次变更规模、提交信息质量 |
| 工作习惯 | 15% | 作息规律性、深夜/周末占比、连续产出能力 |
| 研发效率 | 25% | 净代码增长率、返工率、代码流失率 |
| 代码风格 | 15% | Conventional Commits 合规性、模块化专注度 |
| 代码质量 | 20% | Bug 修复占比、Revert 频率、大提交占比 |
| 参与度指数 | 10%(逆向)| 可见活跃程度(仅限宏观参考,禁用于绩效决策)|
显著优点
1. 绝对零依赖:不安装 pip/npm 包,不执行任何脚本,仅需系统预装的 git 和 Unix 工具
2. 安全优先设计:严格命令白名单(仅只读 git 子命令)、多层输入验证、自动敏感信息脱敏(API Key、私钥、连接串等)
3. 隐私保护:完全不采集开发者邮箱,仅使用 %an 作者名字段
4. 透明可控:支持 Dry-Run 模式预览所有待执行命令,用户确认后才执行
5. 多语言自然语言交互:支持中英日韩德法西等语言直接下达分析指令
6. 直言不讳的评估风格:模拟资深 Tech Lead 的年度代码评审,数据驱动、不粉饰、有建设性
潜在缺点与局限性
1. 数据盲区:无法捕捉代码评审、架构设计、技术讨论、团队指导等非 commit 工作
2. 同名混淆:同一人的不同名字变体(未配置 .mailmap)会被视为多个开发者
3. 时区敏感:工作时段分析依赖提交记录时区,跨时区协作可能产生误判
4. 语义局限:提交信息关键词匹配(如 fix/feat)可能误报,无法真正理解代码变更意图
5. 大型仓库性能:全历史分析可能耗时较长,建议限定日期范围
6. Windows 体验:需依赖 Git Bash 或 WSL,原生 Windows 命令行不完全兼容
适合人群
- 技术团队负责人希望客观了解团队协作模式与个体工作特征
- 开源项目维护者评估贡献者分布与巴士因子风险
- 工程效能团队寻找无侵入式的代码库健康度诊断工具
- 开发者自我复盘,优化个人提交习惯与代码交付节奏
重要禁忌:本工具明确禁止用于绩效评定、裁员决策、薪酬调整等 HR 场景。参与度指数仅为宏观参考,高/低分均不直接等同于"偷懒"或"高效"。
常规风险
- 误读风险:六维分数若脱离上下文单独引用,可能造成对开发者的片面评价
- 隐私边界:虽然已屏蔽邮箱,但作者姓名与提交模式仍可能间接识别个人
- 过度优化:开发者若刻意"刷分"(如拆分无意义提交),可能反噬代码质量
- 合规注意:部分司法管辖区对员工监控有严格限制,使用前建议告知团队并获得共识