tang-vu/ContribAI
GitHub: tang-vu/ContribAI
一个基于 Rust 的自主 AI 智能体,自动发现开源仓库并完成代码分析、修复生成与 PR 提交的全流程闭环。
Stars: 200 | Forks: 78
# ContribAI
[](https://www.rust-lang.org/)
[](LICENSE)
[](#testing)
[](https://github.com/tang-vu/ContribAI/releases)
### 🏆 结果
| 指标 | 数量 |
|--------|-------|
| **提交的 PR** | 43+ |
| **合并的 PR** | 9 |
| **贡献的仓库# ContribAI
[](https://www.rust-lang.org/)
[](LICENSE)
[](#testing)
[](https://github.com/tang-vu/ContribAI/releases)
### 🏆 结果
| 指标 | 数量 |
|--------|-------|
| **已提交 PRs** | 43+ |
| **已合并 PRs** | 9 |
| **参与贡献的仓库** | 21+ |
| **知名仓库** | Worldmonitor (45k⭐), Maigret (19k⭐), AI-Research-SKILLs (6k⭐), s-tui (5k⭐) |
ContribAI 可发现开源仓库,分析代码以进行改进,生成修复,并提交 Pull Requests——全部自主完成。**v5.1.0 使用 Rust 编写**,分析速度提升了约 10-50 倍,并生成了约 4.5 MB 的单一二进制文件。
```
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ Discovery│───▶│ Analysis │───▶│Generator │───▶│ PR + CI │───▶│ Patrol │
│ │ │ 17 skills│ │ LLM + │ │ Fork, │ │ Auto-fix │
│ Find repos│ │ Security │ │ self- │ │ commit, │ │ review │
│ by lang, │ │ quality, │ │ review, │ │ create │ │ feedback │
│ stars │ │ perf │ │ scoring │ │ PR + CLA │ │ & reply │
└──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘
```
## 快速开始
```
# 安装(单一二进制文件,无需运行时)
git clone https://github.com/tang-vu/ContribAI.git
cd ContribAI
cargo install --path crates/contribai-rs
# 配置
cp config.yaml.template config.yaml
# 使用你的 GitHub token + LLM API key 编辑 config.yaml
# 运行
contribai hunt # Autonomous: discover repos → analyze → PR
contribai target # Target a specific repo
contribai hunt --dry-run # Preview without creating PRs
contribai interactive # Browse PRs/repos in ratatui TUI
```
## 功能特性
| 类别 | 亮点 |
|----------|-----------|
| **分析** | 安全性 (SQLi, XSS, 资源泄漏),代码质量,性能,文档,复杂度 |
| **LLM** | Gemini, OpenAI, Anthropic, Ollama, Vertex AI — 跨模型层级的智能任务路由 |
| **狩猎模式** | 多轮自主狩猎,Issue 优先策略,跨文件修复 |
| **PR 巡逻** | 监控 PRs 的审查反馈,自动回复并推送修复 |
| **交互式 TUI** | ratatui 四标签页浏览器:仪表盘 / PRs / 仓库 / 操作 |
| **MCP Server** | 通过 stdio JSON-RPC 为 Claude Desktop 提供的 21 个工具 |
| **安全性** | AI 策略检测,CLA 自动签署,质量门控,重复预防 |
| **平台** | Web 仪表盘,调度器,webhooks,Docker,配置文件,插件 |
| **通知** | 通过 HTTP 实时发送至 Slack, Discord, Telegram — 可使用 `contribai notify-test` 进行测试 |
## 使用说明 (22 个命令)
```
# 寻找并贡献
contribai hunt # Autonomous discovery + PRs
contribai hunt --dry-run # Analyze only, no PRs
contribai run # Single pipeline run
contribai target # Target specific repo
contribai analyze # Dry-run analysis
contribai solve # Solve open issues
# 监控
contribai patrol # Respond to PR reviews
contribai status # PR status table
contribai stats # Contribution statistics
contribai leaderboard # Merge rate by repo
contribai system-status # DB, rate limits, scheduler
# 交互式
contribai # Interactive menu (22 items)
contribai interactive # ratatui TUI browser
contribai init # Setup wizard
contribai login # Auth status
# 配置
contribai config-list
contribai config-get llm.provider
contribai config-set llm.provider openai
contribai profile security-focused # Named profile
# 服务器
contribai web-server # Dashboard at :8787
contribai schedule # Cron scheduler
contribai mcp-server # MCP stdio server
contribai cleanup # Remove stale forks
contribai notify-test # Test Slack/Discord/Telegram
```
## 配置
```
# config.yaml
github:
token: "ghp_your_token" # or set GITHUB_TOKEN env var
llm:
provider: "gemini" # gemini | openai | anthropic | ollama
model: "gemini-2.5-flash"
api_key: "your_api_key"
discovery:
languages: [python, javascript, rust, go]
stars_range: [100, 5000]
```
有关所有选项,请参见 [`config.yaml.template`](config.yaml.template)。
## 架构
```
ContribAI/
├── crates/contribai-rs/src/ ← PRIMARY: Rust v5.1.0
│ ├── cli/ # 22 commands + ratatui TUI
│ ├── core/ # Config, events, middleware
│ ├── github/ # REST + GraphQL client
│ ├── analysis/ # 17 progressive skills
│ ├── generator/ # LLM fix generation + scoring
│ ├── orchestrator/ # Pipeline + SQLite memory (72h TTL)
│ ├── pr/ # PR lifecycle + patrol
│ ├── llm/ # Multi-provider LLM + 5 sub-agents
│ ├── mcp/ # 21-tool MCP server (stdio)
│ ├── web/ # axum dashboard + webhooks
│ ├── sandbox/ # Docker + local fallback
│ └── scheduler/ # Tokio cron
│
└── python/ # Legacy v4.1.0 (reference only)
```
详情请参见 [`docs/system-architecture.md`](docs/system-architecture.md)。
## 测试
```
# Rust(主要)
cargo test # 335 tests
cargo test -- --nocapture # with stdout
# Python 遗留
cd python && pytest tests/ -v
```
## MCP — 从 Claude Desktop / Antigravity IDE 使用
```
// ~/.config/claude/claude_desktop_config.json
// or ~/.gemini/antigravity/mcp_config.json
{
"mcpServers": {
"contribai": {
"command": "contribai",
"args": ["mcp-server"]
}
}
}
```
提供 21 个可用工具:仓库分析、PR 管理、GitHub 搜索、Issue 解决、内存查询。
## Docker
```
docker compose up -d dashboard # Dashboard at :8787
docker compose run --rm runner run # One-shot run
docker compose up -d dashboard scheduler # Dashboard + scheduler
```
## 文档
| 文档 | 描述 |
|-----|-------------|
| [`HALL_OF_FAME.md`](HALL_OF_FAME.md) | 横跨 21+ 仓库的 **9 个已合并** · **14 个已关闭** PR — 真实成果 |
| [`AGENTS.md`](AGENTS.md) | AI 智能体指南 — 架构、模式、CLI 参考 |
| [`deployment-guide.md`](docs/deployment-guide.md) | 安装、Docker、配置以及所有 22 个 CLI 命令 |
| [`system-architecture.md`](docs/system-architecture.md) | 流水线、中间件、事件、LLM 路由 |
| [`codebase-summary.md`](docs/codebase-summary.md) | 模块图、技术栈、数据结构 |
| [`project-roadmap.md`](docs/project-roadmap.md) | 版本历史与未来规划 |
| [`python/README_PYTHON.md`](python/README_PYTHON.md) | 旧版 Python v4.1.0 参考 |
## 许可证
AGPL-3.0 + Commons Clause — 详见 [LICENSE](LICENSE)。
标签:AI代理, CISA项目, ContribAI, DLL 劫持, GitHub自动化, LLM, Rust, Unmanaged PE, 代码分析, 代码审查, 代码生成, 凭证管理, 单文件二进制, 可视化界面, 大语言模型, 开源框架, 开源贡献, 开源项目发现, 性能优化, 持续集成, 数据管道, 文档安全, 智能编程助手, 检测绕过, 渗透测试工具, 漏洞修复, 网络安全培训, 网络流量审计, 自主智能体, 自动化PR, 自动提交, 自动生成补丁, 请求拦截, 软件工程, 通知系统