这个项目能做什么
# VibeCoder
**在手机上创建 GitHub issue,自动获得 PR(Pull Request),通过点赞进行审查并请求修复。**
VibeCoder 是一个由编码代理 CLI 驱动的自动化 GitHub issue 工作器。它监控你的仓库,领取 issue,编写代码,运行质量检查,并创建拉取请求——全程无需你触碰键盘。
它**与提供商无关**:`claude`([Claude Code](https://docs.anthropic.com/en/docs/claude-code))是默认选项,`codex`(OpenAI Codex CLI)、`gemini`(Gemini CLI)和 `deepseek`(DeepSeek,通过 Claude Code CLI 提供服务)已内置,并通过配置进行选择。
## 工作原理
1. 你在 GitHub 上创建一个 issue(例如,从手机上)。
2. VibeCoder Worker 检测并自行分配该 issue。
3. worker 创建一个功能分支,并将工作委托给配置的 Coding Agent。
4. 代理编写代码更改。
5. worker 运行质量检查(linting、测试、格式化)。
6. 如果检查通过,worker 在 GitHub 上创建一个 Pull Request。
7. 你审查 PR,留下评论,或点赞以触发修复。
8. worker 应用反馈并推送更新。
9. 你批准并合并 PR。
## 选择你的编码代理
编码代理是一个可分离的层。内置四个提供商:
| 提供商 id | 代理 | 凭据文件 |
| --- | --- | --- |
| `claude`(默认) | Claude Code | `claude/provider.env` |
| `codex` | Codex CLI | `codex/provider.env` |
| `gemini` | Gemini CLI | `gemini/provider.env` |
| `deepseek` | DeepSeek(通过 Claude Code CLI) | `deepseek/provider.env` |
通过 `.config.json` 中的 `agent_provider` 键选择一个。混合主机可以选择启用配额感知选择。
## 主要功能
- **Issue 到 PR 流水线**:编写 issue,获得 PR。worker 处理分支、编码、测试和 PR 创建。
- **审查反馈循环**:在 PR 上留下评论,点赞以触发修复。
- **澄清与细化**:如果 issue 不明确,worker 会在开始前提出问题。
- **规划模式**:添加 `planning` 标签以获取任务分解和子 issue,而不是直接实现。
- **问题解答**:添加 `question` 标签以获取有关代码库的答案,而不进行实现。
- **拼写自动修复**:PR 上失败的拼写检查会自动更正。
- **CI 失败自动修复**:打开的 PR 上失败的 CI 检查会自动诊断并修复。
- **空闲任务框架**:当不存在可领取的工作时,worker 会提交低优先级的空闲任务(安全、最佳实践等)。
- **安全扫描**:空闲运行会对受监控的仓库进行安全扫描。
- **基于优先级的工作队列**:优先处理 PR 反馈,然后是拼写修复、CI 修复等。
- **成本优化**:基于阶段的模型选择、提示缓存和 token 使用跟踪。
- **运行后回调**:可选的可执行文件在成功/失败运行后运行。
- **按仓库配置**:为每个仓库自定义 worker 行为。
- **里程碑增强**:进度通知,自动回滚卡住的分支。
- **自愈**:影子副本执行、自动仓库重置、磁盘清理、崩溃恢复能力。
- **默认安全**:仅处理来自允许作者且具有配置标签的 issue。
- **可扩展**:通过 Deno/TypeScript 命令添加新功能。
## 质量与控制
未经你的审查,任何内容都不会进入默认分支(prod)。每个更改都以 PR 形式到达;你在合并前进行审查、请求修复并批准。worker 遵循 TDD、KISS、DRY,并运行完整的质量门禁(`deno test`、`deno lint`、`deno check`、`deno fmt --check` 和 semgrep)。
## 快速开始
### macOS / Linux
```bash
# Clone the repository
gh repo clone <your-org>/VibeCoder
cd VibeCoder
# Configure via environment variables
VIBE_ALLOWED_AUTHOR=myusername \
VIBE_REPOS="myorg/repo1,myorg/repo2" \
./setup.sh
# Start the worker
./run.sh
```
### Windows (PowerShell)
```powershell
# Clone the repository
gh repo clone <your-org>/VibeCoder
cd VibeCoder
# Configure
$env:VIBE_ALLOWED_AUTHOR = "myusername"
$env:VIBE_REPOS = "myorg/repo1,myorg/repo2"
.\setup.ps1
# Start the worker
.\run.ps1
```
## 架构
worker 使用薄启动器 + Deno TypeScript 架构。入口点是最小的 shell/PowerShell 脚本,将所有业务逻辑委托给 Deno。跨平台:macOS、Linux 和 Windows。
worker 在最小权限容器内运行。隔离是强制性的。GitHub 是唯一的正常远程控制平面。
## 要求
- 受支持的容器运行时:macOS 上的 Apple `container`,Linux 和 Windows 上的 Docker 或 Podman。
- [Deno](https://deno.com/) 2+ —— 启动器唯一的宿主工具。
- `bash`(macOS/Linux)或 PowerShell(Windows)以运行启动器。
- 仅用于设置:Git 和经过身份验证的 GitHub CLI。
## 文档
- [Overview](docs/OVERVIEW.md):单页演练。
- [Label Flows](docs/workflows/label-flows.md):何时使用哪个标签。
- [Usage Guide](docs/USAGE.md):创建 issue、PR 工作流。
- [Workflows Overview](docs/workflows/README.md):面向仓库所有者的用户手册。
- [Quorum](docs/QUORUM.md):同时运行多个提供商。
评论
0 评分人数达到10人后显示
登录后参与讨论。