GitHub个人主页上那些花花绿绿的徽章,你好奇过怎么来的吗?Pull Shark、Galaxy Brain、Quickdraw——这些名字听起来像游戏成就,实际上确实是游戏化的设计。一位开发者最近开源了一套自动化工具,专门帮你"解锁"这些徽章

这套工具完全本地化运行。没有云服务,没有第三方接口,你的API令牌只存在自己电脑的.env文件里。作者明确说:never committed, never sent anywhere。

打开网易新闻 查看精彩图片

它能自动完成七类徽章的触发条件。Pair Extraordinaire需要双人合写代码,分1/10/24/48次四个等级;Pull Shark统计合并的PR数量,2/16/128/1024四档;Galaxy Brain是讨论区的回答被采纳,2/8/16/32次;Quickdraw要求5分钟内关闭issue,只有一档;YOLO是不经代码审查直接合并PR;Starstruck看单个仓库的star数,16/128/512/4096四档;Public Sponsor则是验证公开赞助状态。

工具提供两种界面。命令行版用Ink做终端菜单,npm start直接启动。可视化版是本地Next.js应用,跑在3000端口,四个标签页分别管运行状态、配置、日志和仓库设置。停止按钮设计得很克制——等当前GitHub请求完成再停,避免状态损坏。

技术实现上有个前提:你需要两个GitHub账号。主账号拿徽章,辅助账号扮演"配合方"——合写代码的人、审查PR的人、讨论区提问的人。主账号建一个测试仓库,把辅助账号加为协作者并给写入权限。

两个账号各自生成Classic类型的Personal Access Token,主账号只需要repo权限,辅助账号需要repo加write:discussion。作者把配置流程拆成四步:建仓库、开Discussions功能、邀请协作者、生成令牌。克隆仓库后npm install会自动从.env.example创建配置文件,填完四个环境变量就能跑。CLI和Dashboard二选一,或者换着用。

工具内置了速率限制检查。每次调用前先确认GitHub REST API的剩余额度,用延迟和流量控制避免触发限流,界面里实时显示API重置的倒计时。

这套设计本质上是在规则内自动化。GitHub的徽章系统没有禁止自动化操作,只是设置了行为门槛。作者把它做成了填空题:准备好两个账号、一个仓库、两个令牌,剩下的交给脚本。对于想快速集齐徽章的开发者,或者需要批量测试GitHub API行为的人来说,这是个省时间的方案。

项目已经开源在GitHub上,仓库名直白地叫github-achievement-unlocker-badge-automation-toolkit。从提交历史看,作者Rajai Ahmed花了不少时间打磨交互细节——终端菜单的层级结构、Dashboard的实时状态同步、停止按钮的协作式中断。这些不是核心功能,但决定了工具好不好用。

一个有趣的细节:YOLO徽章的设计本身就鼓励"冒险"——不经审查直接合并。这个徽章只有一档,触发一次就永久点亮。工具把它和其他需要反复操作的徽章并列,某种程度上也反映了GitHub成就系统的设计张力:有的要耐心积累,有的只需要冲动一次。