批量GitHub仓库星标Skill bulk-github-star

这个技能用于自动化星标GitHub用户的所有公开仓库,提高效率,支持开源,批量发现项目和自动化GitHub互动。关键词包括:GitHub、批量星标、自动化、工具、DevOps、开源、代码管理。

DevOps 0 次安装 0 次浏览 更新于 3/22/2026

name: bulk-github-star description: “自动星标GitHub用户的所有仓库。适用场景:(1) 支持开源创作者,(2) 批量发现有用项目,或(3) 自动化GitHub互动。”

批量GitHub仓库星标

通过单个命令自动星标任何GitHub用户的所有公开仓库。

何时使用

  • 用户要求星标特定GitHub用户的所有仓库
  • 批量赞赏开源贡献者
  • 发现和保存创作者的所有项目
  • 自动化GitHub互动的工作流程

所需工具/API

  • GitHub CLI (gh) 并认证
  • 无需外部API密钥(使用GitHub CLI令牌)

安装GitHub CLI:

# Ubuntu/Debian
sudo apt-get install -y gh

# macOS
brew install gh

# Alpine (Docker)
apk add github-cli

# 需要登录
gh auth login

技能

star_all_user_repos

星标GitHub用户的所有公开仓库。

# 星标用户的所有仓库
USER="besoeasy"
repos=$(gh repo list $USER --limit 100 | grep "^$USER/" | cut -f1)

for repo in $repos; do
  echo "星标: $repo"
  gh api -X PUT /user/starred/$repo
done

echo "已星标 $(echo "$repos" | wc -l) 个仓库"

Node.js:

async function starAllUserRepos(username) {
  const { execSync } = require('child_process');
  
  // 获取用户的所有仓库
  const output = execSync(`gh repo list ${username} --limit 100 --json nameWithOwner`, { encoding: 'utf8' });
  const repos = JSON.parse(output);
  
  let starred = 0;
  for (const repo of repos) {
    const [owner, name] = repo.nameWithOwner.split('/');
    try {
      execSync(`gh api -X PUT /user/starred/${owner}/${name}`, { stdio: 'inherit' });
      console.log(`✓ 已星标: ${repo.nameWithOwner}`);
      starred++;
    } catch (err) {
      console.error(`✗ 星标失败 ${repo.nameWithOwner}:`, err.message);
    }
  }
  
  console.log(`
完成: ${starred}/${repos.length} 个仓库已星标`);
  return starred;
}

// 使用
// starAllUserRepos('besoeasy');

star_with_filter

星标符合特定条件的仓库(例如,星标数阈值、主题)。

# 仅星标星标数大于100的仓库
USER="besoeasy"
MIN_STARS=100

gh repo list $USER --limit 100 --json nameWithOwner,stargazerCount | \
jq -r ".[] | select(.stargazerCount >= $MIN_STARS) | .nameWithOwner" | \
while read repo; do
  echo "星标: $repo ($(gh api /repos/$repo | jq -r '.stargazers_count') 星标)"
  gh api -X PUT /user/starred/$repo
done

速率限制/最佳实践

  • GitHub API:认证用户每小时5000个请求
  • 请求间添加延迟:sleep 0.5 以避免速率限制
  • 遵守GitHub服务条款 - 不要用于垃圾邮件或操纵
  • 考虑选择性星标而非批量,以获得更好的策展

代理提示

您可以批量星标GitHub仓库。当用户要求星标GitHub用户的所有仓库时:

1. 验证GitHub CLI是否已认证:gh auth status
2. 获取列表:gh repo list <用户名> --limit 100
3. 星标每个:gh api -X PUT /user/starred/<所有者>/<仓库>
4. 报告星标仓库数量

执行前始终确认确切用户名。
切勿星标私有仓库(公共API无法访问)。

故障排除

错误: “gh: command not found”

  • 首先使用包管理器安装GitHub CLI

错误: “not logged in”

  • 运行 gh auth login 并按照浏览器认证

错误: “API rate limit exceeded”

  • 等待1小时速率限制重置
  • 使用 sleep 1 请求间减速

错误: “Not Found”

  • 验证用户名是否正确
  • 检查用户是否存在:gh user view <用户名>

另请参阅