Skip to content

feat: Add GitHub PR Review slash command and automation #147

Closed

Description

@minorcell

背景

作为 v1.0 能力扩展的一部分,新增 GitHub PR Review 功能,使 memo 能够自动化代码审查流程并直接评论到 GitHub 平台。

功能需求

Slash 命令

  • /review <prNumber> - 触发 PR 审查,例如 /review 999
  • 支持斜杠命令自动补全

核心行为

  1. 读取 PR 内容(diff、文件列表、描述)
  2. 执行代码审查
  3. 直接将审查意见评论到 GitHub PR

技术设计要点

1. Review 执行方式

方案 A: Worktree + Subagent

  • 为 PR 创建临时 git worktree
  • 启动 sub-agent 执行审查
  • 优点:可读完整代码、运行测试
  • 缺点:资源消耗大、状态复杂

方案 B: 纯文件 diff 审查

  • 直接使用 GitHub API 获取 PR diff
  • 使用主 agent 或 sub-agent 审查
  • 优点:轻量、无需 checkout
  • 缺点:难以运行测试、上下文有限

推荐:方案 A(Worktree + Subagent),作为可选项提供

2. Review 系统提示词

需要设计独立的审查 prompt(类似 init 指令),包含:

  • 审查维度:代码质量、安全风险、风格一致性、潜在 Bug、测试覆盖
  • 评论风格:建设性建议、非阻塞意见标记、优先级区分
  • 输出格式:按文件组织评论、按严重程度分类
  • GitHub API 调用:使用 github_add_comment_to_pending_review 或 github_add_issue_comment

3. Reviewer 身份问题

方案 描述 优点 缺点
A: 用户身份 使用用户 GitHub Token 归属清晰 需要用户授权
B: Memo 官方 Bot 独立 GitHub App 品牌统一 需要维护 Bot 账号
C: 可配置 用户选择 灵活 复杂度高

推荐:方案 B 作为长期目标,方案 A 作为 MVP

验收标准

  • /review <prNumber> 命令可用
  • 能获取 PR diff 和文件内容
  • 审查结果能以 GitHub Review Comments 形式提交
  • 可配置审查严格程度(basic/full)
  • 审查维度可定制

依赖

  • GitHub MCP 工具(已有 github_get_file_contents、github_add_comment_to_pending_review)
  • Worktree 管理能力(新增)
  • Sub-agent 执行能力(已有 spawn_agent)

关联需求

关联到 v1.0 路线图 #134

待解决问题

  1. Worktree 清理机制(超时自动清理?手动清理?)
  2. 审查结果的持久化位置
  3. 是否需要支持其他平台(GitLab、Bitbucket)?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:toolsBuilt-in tools and tool runtimearea:tuiTerminal UI and interaction layerneeds-triageIssue needs initial triage

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions