# 从 GitHub Issue 到 PR:用 MonkeyCode 10 分钟搞定一个真实 Bug 修复
> 本文记录一个真实案例:在 GitHub 开源项目中,通过 AI 编程平台从定位 Bug 到提交 PR 的完整流程。
## 背景
上周在维护一个内部的 GitHub 项目时,收到了一个 Issue:
> **"用户手机号带 +86 国家码时注册校验失败,且缺少对应的单元测试"**
这是一个典型的边界处理问题。如果是以前,我需要:
1. 本地拉代码、切分支
2. 定位正则校验逻辑
3. 修改代码
4. 写单元测试
5. 跑通测试
6. 提交 PR
整个过程大概要 30-40 分钟。这次我想试试另一种方式——**把整条链路交给 AI 来做**。
## 平台选择:MonkeyCode
选它有几个理由:
- **全流程覆盖**:不只是写代码,而是参与需求理解、技术设计、代码实现、测试补充的完整链路
- **云端环境**:不需要本地配置,打开浏览器就能跑
- **多终端**:PC 上发起任务,手机上可以查看进度、跑测试
- **Git 集成**:能直接对接 GitHub/GitLab,提交 commit、生成 PR
- **国产平台**:支持国内大模型(MiniMax、千问等),数据合规
- **免费使用**:注册即送 20000 算力,MiniMax 2.7 无限量
官网:https://monkeycode-ai.com/
## 实战步骤
### Step 1:用自然语言描述需求
进入「智能任务」页面,输入需求:
```
修复手机号带 +86 国家码时注册校验失败的问题,
补充对应的单元测试覆盖 +86/+1/+44 等常见国家码场景,
遵循项目 ESLint 规范,提交时生成规范 commit 信息。
```
### Step 2:AI 开始工作
MonkeyCode 的 SDD(智能驱动开发)流程会分阶段执行:
**1) 需求理解**
- AI 先读取项目结构,识别出注册校验相关的文件
- 定位到 `src/utils/validator.js` 中的正则表达式:`/^1[3-9]\d{9}$/`
- 问题根源:正则没有考虑带国家码的情况
**2) 技术设计**
- 方案 A:修改正则兼容 `+86` 前缀
- 方案 B:在校验前先做国家码剥离
- AI 选择了方案 B(更通用),并给出原因
**3) 代码实现**
```javascript
// 修改后的校验逻辑
function validatePhone(phone) {
// 剥离国家码,支持 +86、+1、+44 等
const cleaned = phone.replace(/^\+(\d{1,3})?\s*/, '');
const cnMobile = /^1[3-9]\d{9}$/;
return cnMobile.test(cleaned);
}
```
**4) 单元测试**
```javascript
describe('phone validator with country code', () => {
test.each([
['+86 13800138000', true],
['+8613800138000', true],
['+1 4155552671', false], // 非中国号段
['+44 7700 900001', false],
['13800138000', true], // 无国家码
])('validatePhone("%s") → %s', (input, expected) => {
expect(validatePhone(input)).toBe(expected);
});
});
```
### Step 3:提交 PR
AI 自动:
- 生成规范 commit:`fix(validator): support country code prefix in phone validation`
- 运行 `npm test` 确认通过
- 提交到 GitHub 生成 PR
**整个过程用时:约 8 分钟。**
## 关键体验
### 1. 环境零配置
不用装 Node.js、不用配 Git 凭证、不用本地 IDE。云端沙箱环境,任务之间相互隔离,即使 AI "搞砸了"也不会污染本地项目。
### 2. 过程透明可介入
AI 每一步在想什么、改了哪些文件、遇到了什么问题,都实时显示在任务日志里。如果方案不满意,可以随时打断、重新描述需求。
### 3. 手机也能接力
任务跑了一半要出门,手机打开 MonkeyCode 网页,能看到完整的执行日志,可以继续或暂停任务。这点对"碎片化时间编程"特别友好。
### 4. Git 机器人自动化
配置好 GitHub 机器人后,在 Issue 里 `@monkeycode-ai` 描述需求,AI 就能自动响应、修复、提交 PR,完全不需要人工介入。
## 和传统 AI 工具的区别
用过 Cursor、Copilot、Claude Code 的同学可能会问:这和它们有什么区别?
| 维度 | MonkeyCode | 传统 AI 插件 |
|------|-----------|------------|
| 工作范围 | 需求 → 设计 → 开发 → Review | 仅代码补全/片段生成 |
| 开发环境 | 云端沙箱,开箱即用 | 依赖本地 IDE/终端 |
| 终端支持 | PC + 手机 + 平板 | 仅限桌面端 |
| 团队协作 | 支持,有权限管控 | 个人工具 |
| 模型选择 | 内置多款国产/国际模型 | 绑定单一模型 |
| 代码审查 | 自动 Review PR/MR | 无 |
简单说:**Cursor 是"帮你写得更快",MonkeyCode 是"帮你把整条链路跑完"**。
## 适合什么场景
- 紧急 Bug 修复,需要快速出 PR
- 接手陌生项目,AI 先读代码、给方案
- 重复性任务(批量改接口、补测试、迁移依赖)
- 移动端/出差时应急处理代码问题
- 团队统一环境,新人不用配半天环境
## 上手门槛
极低。三步:
1. 访问 https://monkeycode-ai.com/,百智云账号一键登录
2. 关联你的 GitHub/GitLab 仓库(可选)
3. 输入需求,启动任务
新用户注册送 **20000 算力**(约等于 200 元),足够跑很多任务。专业版用户 MiniMax 2.7 **无限量使用**。
## 写在最后
AI 编程工具已经进入"淘汰赛"阶段——单纯"写代码更快"的工具很难拉开差距。真正有价值的是**让 AI 参与完整研发链路**,从需求到交付全程陪伴。
MonkeyCode 的差异化在于它不是插件、不是 IDE,而是一个**云端 AI 研发基础设施**。对于需要多端切换、团队协作、或者不想在本地折腾环境的开发者来说,这种"打开浏览器就能编程"的体验确实省心。
开源地址:https://github.com/chaitin/MonkeyCode
---
*本文为真实使用体验分享,涉及代码均为脱敏后的示例。如有问题欢迎在评论区交流。*
从 GitHub Issue 到 PR:用 MonkeyCode 10 分钟搞定一个真实 Bug 修复