Skip to content
Joker.Yun
Go back

批量 Star 某个 GitHub 用户的所有仓库:一行命令搞定

约 5 分钟读完Edit page

场景

遇到一个很欣赏的开发者(比如刚接触 Robonix 社区时关注了 nbsheep、Ciliphen),想把他名下的所有仓库都 Star 一遍——手动一个个点,几十个仓库点到手酸,还会漏掉 fork 的仓库。

于是写了个小工具:一条命令,Star 某用户的所有公开仓库

功能特性

使用方法

# 预览(不实际执行)
GITHUB_TOKEN=你的token python3 star_all_repos.py 目标用户名 --dry-run

# 实际执行
GITHUB_TOKEN=你的token python3 star_all_repos.py 目标用户名

# 包含 fork 仓库
GITHUB_TOKEN=你的token python3 star_all_repos.py 目标用户名 --include-forks

Token 权限要求:

原理

三步走,都是标准 REST API:

  1. 列仓库:GET /users/{username}/repos?per_page=100&page=N,根据响应头的 Link 字段判断是否还有下一页
  2. Star:PUT /user/starred/{owner}/{repo}(PUT 幂等,重复 Star 返回 204)
  3. 认证:请求头带 Authorization: token <token>X-GitHub-Api-Version: 2022-11-28

完整代码在仓库里:

文末彩蛋:写完命令行版后,朋友 nbsheep 把它做成了 Windows 桌面小工具(GUI + 设备配对登录 + 凭据加密 + 代理回退),体验完胜命令行。这篇写命令行思路,桌面版是他(也是我)的主推版本——同一个痛点,两种解法,朋友间的”同题共创”。

注意事项

实测

对 Robonix 社区的两位开发者跑了一遍:

✅ 认证成功,当前账号: cloud666666666
🔍 获取 nbsheep 的仓库列表...
   共 5 个仓库(跳过fork: True)
✅ nbsheep/dataStructure
✅ nbsheep/github-auto-commits
✅ nbsheep/nbsheep
✅ nbsheep/nbsheep.github.io
✅ nbsheep/robonix
完成: 成功 5,失败 0,共 5

Ciliphen 含 fork 共 14 个,同样 14/14 全部成功。


一个小工具,解决一个小痛点。代码开放在 github-tools 仓库,后续会陆续加其他 GitHub 自动化脚本,欢迎 Star。


Edit page
Share this post:

Previous Post
国内部署 Claude Code 完全指南:nvm 与 npm 全程镜像安装(Linux/WSL/Windows)