让AI替你干GitHub的活:mercury-agent 创建PR、代码审查与Issue管理实战指南
【免费下载链接】mercury-agentSoul-driven AI agent with permission-hardened tools, token budgets, and multi-channel access. Runs 24/7 from CLI, Telegram or More.项目地址: https://gitcode.com/gh_mirrors/me/mercury-agent
mercury-agent 是一款可 7×24 小时运行的 AI 智能体,配置好 GitHub Token 后,它能替你创建 PR、审查代码、管理 Issue——你只管用自然语言下指令,剩下的交给它。本文带你 3 分钟完成 GitHub 助手配置,并演示 PR 创建、代码审查与 Issue 管理三大实战场景,新手也能快速上手。
为什么需要 AI 接管 GitHub 日常操作?
每天在 GitHub 上重复着这些操作:建分支、提交、开 PR、贴描述、查 Issue、审 diff……机械且耗时。mercury-agent 把这套流程压缩成一句话:
- 协作提交——它参与的每个 commit 都会自动带上
Co-authored-by: Mercury标记 - 一句话建 PR——"为这次改动创建 PR",它会自动暂存、提交、推送并开 PR
- Issue 管家——"看看未关闭的 Issue"或"给登录崩溃提个 bug"
- 代码审查——"Review PR #5",它读完 diff 并直接发布审查意见
- 通用 API 出口——
github_api工具可访问任意 GitHub API 端点
快速配置:一条命令开启 GitHub 工具
GitHub 工具是条件注册的:只有配置了GITHUB_TOKEN后才会出现在工具集中,否则对话中不可用(见 registry.ts)。
一键配置步骤
运行诊断命令,按提示填写 4 个字段:
mercury doctor| 字段 | 说明 |
|---|---|
| GitHub 用户名 | 用于提交署名和 API 调用身份识别 |
| Co-authored-by | 自动填充,无需操作 |
| GitHub PAT 令牌 | 个人访问令牌,切勿外泄,仅保存在本地~/.mercury/.env,只直连 GitHub API |
| 默认仓库(可选) | 设置后说"建个 Issue"就不用每次指定仓库 |
推荐在 GitHub 的"设置 → 开发者设置 → 细粒度个人访问令牌"中创建令牌,权限勾选:Contents / Pull requests / Issues均选"读写"。
配置成功后会看到:
✓ GitHub tools registered (5)🎉 至此,5 个 GitHub 工具正式注册进智能体工具箱。
5 个 GitHub 工具一览
| 工具 | 能力 |
|---|---|
create_pr | 创建 PR,支持标题、描述、源/目标分支、草稿状态 |
review_pr | 拉取 PR 详情与 diff,生成审查总结并可发布评论 |
list_issues | 按状态(open/closed/all)、标签筛选并列出 Issue |
create_issue | 创建 Issue,支持 Markdown 正文与标签 |
github_api | 原始 API 访问,覆盖以上工具未涉及的任意端点 |
实战一:一句话创建 PR
假设你已经让 mercury-agent 修好了一个 bug,直接说:"为这次改动创建一个 PR"。
背后的执行链路是:git_add→git_commit→git_push→create_pr,全程无需你敲一条命令。其中:
- 提交信息会自动追加
Co-authored-by: Mercury <mercury@cosmicstack.org>尾注,实现方式见 git-commit.ts create_pr通过标准 REST 端点/repos/{owner}/{repo}/pulls发起 POST 请求,支持draft参数创建草稿 PR,核心实现见 create-pr.ts
💡 小建议:改动没把握时先说"创建草稿 PR",验收通过再让它转为正式 PR。
实战二:AI 代码审查,diff 自动读给你听
说一句"Review PR #5",review_pr工具会做三件事:
- 抓取元信息——标题、作者、分支、状态,以及改动文件数、增删行数
- 读取 diff——自动截断到前 200 行防止刷屏(见 review-pr.ts)
- 发布审查意见——带上你的评论直接 POST 到 PR 的 reviews 接口
审查总结示例输出:
PR #5: 修复登录超时 Author: hotheadhacker Branch: fix/login-timeout → main Changed files: 3 | Additions: +42 | Deletions: -7对新手来说,这是"边看 AI 审查边学"的好机会——它能指出你遗漏的边界条件、命名问题,审查意见会像同事一样直接贴在 PR 上。
实战三:Issue 管理,从巡检到提报
巡检未关闭的 Issue
说"看看有哪些 open 的 Issue",list_issues会按最近更新时间倒序返回,每条附带编号、标题、标签和作者:
Issues in me/my-project (open): #12 [bug] 登录页白屏 (open, by alice) #9 [enhancement] 支持暗色主题 (open, by bob)也支持按标签过滤,比如"只看 label 为 bug 的 Issue",底层参数封装见 list-issues.ts。
一键提报 bug
说"给登录崩溃提个 bug Issue,打上 bug 标签",create_issue就会带着标题、Markdown 正文和标签列表提交,创建成功即返回 Issue 链接(实现见 create-issue.ts)。
进阶玩法:github_api 万能出口
当现成工具不够用时,github_api是"逃生舱",支持 GET/POST/PUT/PATCH/DELETE 五种方法:
- 推文件:
PUT /repos/{owner}/{repo}/contents/{path}——本地git push因认证问题失败时,可绕过本地 git 直接经 API 提交文件,且自动注入 Mercury 共同作者信息(见 github-api.ts) - 查分支 / 取文件 / 搜代码:
GET /repos/.../branches、GET /search/code?q=...等 - 安全兜底:请求目标被强制锁定在 GitHub API 官方域名,token 绝不会随请求泄露到任何第三方主机(见 utils/github.ts)
此外,当 API 速率配额低于 100 时智能体会自动告警,避免高频调用被封禁。
安全与权限要点 ⚠️
- PAT 仅存本地:保存在
~/.mercury/下的配置文件中,仅发往 GitHub API,切勿提交到仓库或分享给他人,怀疑泄露时立即轮换 - 写操作需审批:
git commit、git push等写操作默认走权限确认流程(见 git-commit.ts),AI 不能"越权"动手 - 最小权限原则:PAT 只勾选必要权限,并设置有效期
常见问题
| 问题 | 解决方法 |
|---|---|
| 对话中看不到 GitHub 工具 | 运行mercury doctor确认GITHUB_TOKEN已配置 |
| API 报错 403 / rate limit | 检查令牌权限与剩余配额,降低调用频率 |
| 提交署名想自定义 | 在~/.mercury/.env中设置GITHUB_EMAIL |
写在最后
从mercury doctor一行配置,到 PR 创建、代码审查、Issue 巡检的全流程自动化,mercury-agent 的 GitHub 助手把开发者从机械操作中解放出来。更多细节可参考官方文档 github-companion 与 内置工具清单。现在就去试试那句"为这次改动创建一个 PR"吧!🚀
【免费下载链接】mercury-agentSoul-driven AI agent with permission-hardened tools, token budgets, and multi-channel access. Runs 24/7 from CLI, Telegram or More.项目地址: https://gitcode.com/gh_mirrors/me/mercury-agent
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考