核心用法
Who Is Actor 是一款零依赖的 Git 仓库开发者分析工具,完全基于原生 git 命令(git log、git shortlog、git diff --stat 等)采集数据,无需安装任何脚本或依赖包。用户只需提供仓库绝对路径,即可触发对开发者提交习惯、工作节律、开发效率、代码风格、代码质量和参与度指数的六维深度分析。
使用方式极为简洁:通过自然语言指令如 "Analyze the repository at /path/to/project" 或 "Profile developers since 2024-01-01" 即可启动。支持按作者、时间范围、分支等维度筛选,最终输出包含汇总表格、个人雷达图、团队对比及 Bus Factor 风险预警的结构化 Markdown 报告。
显著优点
安全架构严谨:采用严格的命令白名单机制,仅允许 4 类只读 Git 子命令,全面禁止写操作、网络操作及任意 shell 命令。所有用户输入(路径、作者名、日期、分支)均通过正则白名单验证,从源头杜绝命令注入风险。
隐私保护到位:设计层面强制排除邮箱采集,仅用 %an(作者名)而非 %ae(作者邮箱),git shortlog 使用 -sn 而非 -sne,报告输出中绝不包含任何邮件地址。
零运维成本:无需 Python、Node 等运行时环境,无 pip/npm 安装步骤,纯 Git CLI 驱动,适用于任何具备 Git 的环境。
评价体系专业:六维评分体系(提交习惯、工作习惯、开发效率、代码风格、代码质量、参与度指数)覆盖开发者行为的完整切面,AI 评语风格定位为"资深 Tech Lead 的年度 Code Review"——严肃直接、有据可依、对事不对人。
潜在缺点与局限性
数据盲区明显:Git 记录无法捕获代码评审、架构设计、技术讨论、团队指导等非代码贡献。参与度指数明确标注"高得分≠摸鱼,低得分≠高效",存在较大解读弹性。
时区与身份识别问题:提交时间依赖 commit 记录中的时区信息,跨时区协作可能扭曲工作节律分析;同一开发者若使用不同 Git 配置姓名,会被识别为多个独立个体(虽可通过 .mailmap 缓解)。
大型仓库性能瓶颈:全历史扫描可能耗时较长,虽建议通过日期范围限制,但仍缺乏增量分析或采样机制。
伦理使用依赖自律:工具内置"禁止用于 HR 决策"的声明,但技术上无法强制约束使用场景,存在被滥用于绩效评估或裁员决策的风险。
适合人群
- 技术团队负责人希望客观了解团队协作模式与个体工作特征
- 开源项目维护者评估核心贡献者分布与 Bus Factor 风险
- 开发者自我复盘,寻求具体可操作的代码实践改进方向
- 工程效能团队作为定性讨论的辅助数据参考(非决策依据)
常规风险
| 风险类型 | 具体表现 | 缓解措施 |
|---------|---------|---------|
| 命令注入 | 恶意构造的路径或参数突破白名单限制 | 严格的输入验证与正则白名单,验证失败立即终止 |
| 信息泄露 | 意外采集或输出开发者邮箱地址 | 设计层面禁用 `%ae` 与 `-sne`,作者参数拒绝 `@` 符号 |
| 误用决策 | 将参与度指数直接用于绩效考核或裁员 | 报告首页与指标说明中反复强调伦理限制,建议团队透明沟通 |
| 数据误读 | 忽略非代码贡献,对远程/兼职开发者形成偏见 | 六维评价与改进建议均附上下文说明,强调"了解全貌后再判断" |
| 心理安全 | 直言不讳的评语风格可能造成开发者不适 | 明确"Critique the work, not the person"原则,同步提供建设性改进路径 |