用途:从公开 GitHub 仓库中均匀随机地选出一名贡献者,适合抽样、致谢、任务分派或在贡献者之间公平分配工作。
主要能力:使用 GitHub REST API 公共端点列出仓库贡献者并处理分页;当 API 触发限流或 CORS 阻止调用时,回退到抓取仓库的贡献者页面;返回贡献者信息,包括 login、name(若有)、avatar URL、profile URL 和 contributions 数量。
使用方式:需要 curl 与 jq(Bash 示例)或 Node.js 18+(JS 示例)。可选设置 GH_TOKEN 环境变量以提高速率限制,小型仓库无需令牌即可工作。Bash 示例通过 per_page=100 循环分页获取贡献者列表,再用 RANDOM 随机选取;Node.js 示例使用原生 fetch 分页收集全部贡献者后随机挑选。也可用 Agent 提示词:"Find a random contributor for {owner}/{repo}. Use the GitHub API; if API rate limits block you, fall back to scraping the contributors page. Return JSON: {login, name?, avatar, profile, contributions}."
适用场景:挑选维护者或贡献者用于"谁来评审"或"该感谢谁"等任务;仅适用于公开仓库。
限制:对于贡献者超过 1000 的超大仓库,建议改用流式或蓄水池抽样,而非一次性获取全部贡献者;需遵守 GitHub API 速率限制,可通过 GH_TOKEN 提高限额;仅限公开仓库,未经适当凭据不得访问私有仓库。