GitHub Bounty Agent 是一个自动化工具,用于查找、分析、处理 GitHub 上的开源项目悬赏任务,并自动提交 Pull Request。
- bounty_finder.py - 简化版赏金查找工具
- bounty_hunter.py - 增强版赏金查找工具(中文界面)
- github_bounty_agent.py - 完整的自动化Agent
- opencode_agent.py - OpenCode集成接口
- test_agent.py - 单元测试
- auto_run.py - 基础自动化脚本
- auto_run_improved.py - 改进版自动化脚本
- demo_full.py - 完整演示脚本(推荐)
✅ 搜索GitHub赏金任务 ✅ 智能分析任务可行性 ✅ Fork和克隆仓库 ✅ 分析代码库结构 ✅ 生成解决方案 ✅ 实现代码修改 ✅ 运行测试 ✅ 提交和推送代码 ✅ 尝试创建Pull Request(支持手动创建) ✅ 检查PR状态
github-bounty-agent/
├── .github/
│ └── workflows/
│ ├── ci.yml # CI/CD 工作流
│ └── auto-bounty.yml # 自动化悬赏处理工作流
├── bounty_finder.py # 赏金查找工具(简化版)
├── bounty_hunter.py # 赏金查找工具(增强版)
├── github_bounty_agent.py # 核心自动化Agent
├── opencode_agent.py # OpenCode集成接口
├── test_agent.py # 单元测试
├── test.sh # 快速测试脚本
├── auto_run.py # 基础自动化脚本
├── auto_run_improved.py # 改进版自动化脚本
├── demo_full.py # 完整演示脚本(推荐)
├── bounty_requirements.txt # Python依赖
├── package.json # 项目配置
├── README.md # 使用文档
├── OPENCODE_AGENT.md # OpenCode集成文档
├── BOUNTY_GUIDE.md # 赏金指南
├── .env.example # 环境变量示例
├── .gitignore # Git忽略文件
└── workspace/ # 工作目录(自动创建)
- ✅ 根据仓库活跃度、任务类型、讨论程度等评分
- ✅ 自动排序和推荐最佳任务
- ✅ 多因素综合评估可行性
- ✅ CI/CD 工作流:自动测试、构建、代码检查
- ✅ 自动化工作流:每 6 小时自动运行
- ✅ 支持手动触发和参数配置
- ✅ 支持多种任务类型搜索
- ✅ 处理 PR 创建失败的情况
- ✅ 提供手动创建 PR 的链接
- ✅ 一键运行完整流程
- ✅ 智能任务分析和推荐
- ✅ 详细的运行报告
cd /home/robell/github-bounty-agent
# 运行测试
bash test.sh
# 或直接运行
python3 test_agent.py# 设置环境变量
export GITHUB_TOKEN="your_actual_token"
export GITHUB_USERNAME="your_username"
# 运行完整演示
python3 demo_full.py# 运行改进版自动化脚本
python3 auto_run_improved.pyfrom opencode_agent import OpenCodeBountyAgent
agent = OpenCodeBountyAgent()
result = agent.process_bounty(languages=["python"])✅ test_search_tasks - 通过
✅ test_analyze_repo - 通过
✅ test_generate_solution - 通过
✅ opencode_agent --action find - 通过
Agent执行以下自动化流程:
- 🔍 搜索赏金任务
- 📊 分析任务可行性
- 🍴 Fork并克隆仓库
- 🔬 分析代码库
- 💡 生成解决方案
- ⏸️ 等待人工审核(可选)
- ⚙️ 实现代码修改
- 🧪 运行测试
- 📤 提交推送
- 🎯 创建PR
- 💾 保存记录
| 变量 | 必需 | 说明 |
|---|---|---|
| GITHUB_TOKEN | ✅ | GitHub Personal Access Token |
| GITHUB_USERNAME | ✅ | GitHub用户名 |
| WORK_DIR | ❌ | 工作目录(默认:./workspace) |
| LOG_LEVEL | ❌ | 日志级别(默认:INFO) |
需要以下权限:
repo- 完整仓库访问权限public_repo- 访问公共仓库workflow- 操作Actions(可选)
- 所有操作需要Token认证
- 关键步骤支持人工审核
- 所有操作记录日志
- 不会自动提交敏感信息
- 集成真实的GitHub API搜索
- 改进任务选择算法(智能评分系统)
- 添加更多测试用例
- 实现真实的代码修改逻辑
- 增强 AI 代码生成能力
- 集成AI代码生成(如OpenAI API)
- 实现自动回复PR评论
- 添加多任务并行处理
- 实现任务优先级排序
- 解决 API 权限问题,实现完全自动化 PR 创建
- 从成功/失败的PR中学习
- 智能选择最佳赏金任务
- 自动注册和管理支付账户
- 构建赏金任务知识库
项目已成功:
- ✅ 在 GitHub 上创建仓库: https://github.com/robellliu-dev/github-bounty-agent
- ✅ 配置 CI/CD 工作流
- ✅ 自动搜索和分析任务
- ✅ Fork 并提交代码到多个项目:
- aden-hive/hive (https://github.com/robellliu-dev/hive)
- ArduPilot/MethodicConfigurator (https://github.com/robellliu-dev/MethodicConfigurator)
- ✅ 生成 PR 创建链接
- ✅ 所有测试通过
🥇 #1 - 分数: 13
标题: GitGuardian alert: derive credential IDs from fixtures instead of hardcoding
仓库: aden-hive/hive ⭐8631 | 💬0
语言: Python
标签: bug, good first issue, size: small
理由: 高活跃度 (8631 stars), 适合新手, 无评论,竞争少
- README.md - 完整使用文档
- OPENCODE_AGENT.md - OpenCode集成指南
- BOUNTY_GUIDE.md - 赏金任务指南
- SUMMARY.md - 项目总结(本文件)
- .env.example - 环境变量配置示例
- 人工审核: 生产环境中建议开启人工审核
- API限制: 注意GitHub API调用频率限制
- 代码质量: 确保提交代码符合项目规范
- 测试优先: 先在小项目上测试
- 合规性: 遵守GitHub服务条款和项目贡献指南
MIT License
欢迎提交Issue和Pull Request!
项目位置: /home/robell/github-bounty-agent
GitHub 仓库: https://github.com/robellliu-dev/github-bounty-agent
测试状态: ✅ 全部通过
可用性: ✅ 可以在OpenCode中调用
最后更新: 2026-03-03