OpenCode GitHub 集成完全指南:在 Issue 和 PR 中自动化你的 AI 编程工作流

OpenCode GitHub 集成完全指南:在 Issue 和 PR 中自动化你的 AI 编程工作流

引言

在日常开发中,AI 编程助手通常被视为"终端里的搭档"——你在本地运行 OpenCode,在 TUI 中提问、改代码、查文档。但你有没有想过:当你在 GitHub 上收到一个新 Issue 或 PR 时,能否直接让 AI 自动处理?

这正是 OpenCode GitHub 集成的核心价值。通过在 GitHub Actions 中嵌入 OpenCode,你可以在 Issue 评论、PR 审查、定时任务等各种场景下自动触发 AI 工作流。本文将从安装配置到实战案例,全面讲解如何利用 OpenCode 的 GitHub 集成来提升团队开发效率。

OpenCode GitHub 集成能做什么?

OpenCode 的 GitHub 集成通过在仓库中安装一个 GitHub App 并配置 Actions 工作流,使得 AI 能够直接参与 GitHub 上的协作流程。主要功能包括:

  • Issue 分类与处理:当用户提交 Issue 时,AI 自动阅读上下文、给出解释,甚至直接创建修复 PR
  • PR 自动化审查:每次 PR 提交或更新时,AI 自动检查代码质量、发现潜在 Bug、提出改进建议
  • 代码行级评论响应:在 PR 的 Files 标签页中,对具体代码行留言 /opencode,AI 即可理解上下文并做出修改
  • 定时自动化任务:通过 cron 表达式定期运行,比如清理 TODO 注释、生成周报、检查依赖更新等

下面我们来一步步配置这些功能。

安装与配置

一键安装

在项目终端中运行以下命令:

opencode github install

该命令会引导你完成三步操作:

安装 OpenCode GitHub App 到目标仓库

创建工作流文件 .github/workflows/opencode.yml

设置 API Key 等 Secrets

手动安装

如果你想精确控制工作流配置,也可以手动完成。

第一步:安装 GitHub App

访问 github.com/apps/opencode-agent,将 App 安装到你希望集成的仓库或组织中。

第二步:创建工作流文件

在项目根目录创建 .github/workflows/opencode.yml,内容如下:

name: opencode
on:
  issue_comment:
    types: [created]
  pull_request_review_comment:
    types: [created]

jobs:
  opencode:
    if: |
      contains(github.event.comment.body, '/oc') ||
      contains(github.event.comment.body, '/opencode')
    runs-on: ubuntu-latest
    permissions:
      id-token: write
    steps:
      - name: Checkout repository
        uses: actions/checkout@v6
        with:
          fetch-depth: 1
          persist-credentials: false

      - name: Run OpenCode
        uses: anomalyco/opencode/github@latest
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
        with:
          model: anthropic/claude-sonnet-4-20250514

第三步:配置 Secrets

在 GitHub 仓库的 Settings → Secrets and variables → Actions 中添加你的 API Key。例如 ANTHROPIC_API_KEYOPENAI_API_KEY,取决于你使用的模型。

工作流配置详解

OpenCode GitHub Action 提供了丰富的配置参数:

| 参数 | 说明 | 必需 |
|------|------|------|
| model | 使用的模型,格式为 provider/model | 是 |
| agent | 指定使用的 Agent,默认为 build | 否 |
| share | 是否公开分享会话,公共仓库默认为 true | 否 |
| prompt | 自定义提示词,覆盖默认行为 | 否 |
| token | GitHub 访问令牌,用于评论、提交、创建 PR 等 | 否 |

自定义 Prompt

通过 prompt 参数,你可以定制 AI 的行为。例如让 AI 在审查 PR 时重点关注安全性:

- uses: anomalyco/opencode/github@latest
  with:
    model: anthropic/claude-sonnet-4-20250514
    prompt: |
      审查这个 Pull Request:
      - 检查是否存在 SQL 注入、XSS、CSRF 等安全漏洞
      - 验证输入验证和输出转义是否正确
      - 检查敏感信息(API Key、密码等)是否被硬编码
      - 确认错误信息不会泄露系统细节

支持的 GitHub 事件

OpenCode 支持以下事件的自动触发:

1. Issue 评论触发(最常用)

当有人在 Issue 或 PR 中评论 /opencode/oc 时触发。

/opencode 解释一下这个 Issue 的根本原因

AI 会读取整个 Issue 线程,分析上下文,然后回复详细的解释。

2. 自动修复 Issue

/opencode 修复这个问题

OpenCode 会创建一个新分支,实现修复代码,然后提交 PR。

3. PR 代码行级评论

在 PR 的 Files 标签页中,直接在代码行上留言:

/oc 在这里添加错误处理

AI 会自动获取文件名、行号和 diff 上下文,实现精准修改。

4. PR 自动审查

当 PR 被打开或更新时,自动触发代码审查:

on:
  pull_request:
    types: [opened, synchronize, reopened, ready_for_review]

jobs:
  review:
    runs-on: ubuntu-latest
    permissions:
      id-token: write
      contents: read
      pull-requests: read
      issues: read
    steps:
      - uses: actions/checkout@v6
      - uses: anomalyco/opencode/github@latest
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          model: anthropic/claude-sonnet-4-20250514
          use_github_token: true
          prompt: |
            Review this pull request:
            - Check for code quality issues
            - Look for potential bugs
            - Suggest improvements

5. Issue 自动分类(含防骚扰过滤)

on:
  issues:
    types: [opened]

jobs:
  triage:
    runs-on: ubuntu-latest
    permissions:
      id-token: write
      contents: write
      pull-requests: write
      issues: write
    steps:
      - name: 检查账号注册时长
        id: check
        uses: actions/github-script@v7
        with:
          script: |
            const user = await github.rest.users.getByUsername({
              username: context.payload.issue.user.login
            });
            const created = new Date(user.data.created_at);
            const days = (Date.now() - created) / (1000 * 60 * 60 * 24);
            return days >= 30;
          result-encoding: string

      - uses: anomalyco/opencode/github@latest
        if: steps.check.outputs.result == 'true'
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
        with:
          model: anthropic/claude-sonnet-4-20250514
          prompt: |
            审查这个 Issue。如果存在明确的修复方案或相关文档:
            - 提供文档链接
            - 为代码示例添加错误处理指导
            否则,不要回复。

6. 定时任务

通过 schedule 事件定期运行自动化任务:

on:
  schedule:
    - cron: "0 9 * * 1"  # 每周一上午 9 点 UTC

jobs:
  opencode:
    runs-on: ubuntu-latest
    permissions:
      contents: write
      pull-requests: write
    steps:
      - uses: actions/checkout@v6
      - uses: anomalyco/opencode/github@latest
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
        with:
          model: anthropic/claude-sonnet-4-20250514
          prompt: |
            扫描代码库中的所有 TODO 注释,生成摘要报告。
            如果发现值得处理的问题,创建一个 Issue 来跟踪。

实战案例

案例一:自动化 Bug 修复流程

某团队维护一个开源项目,用户提交 Bug Issue 后:

用户在 Issue 中评论:/opencode 复现并修复这个 Bug

OpenCode 读取 Issue 描述和代码库

创建修复分支,修改代码

提交 PR,关联该 Issue

开发者在 PR 中审核 AI 的修改,确认后合并

整个过程从用户报告到 PR 生成,仅需几分钟。

案例二:PR 自动代码审查

每次团队成员提交 PR 时,OpenCode 自动运行代码审查:

  • 检查代码是否遵循项目规范
  • 检测潜在的空指针、资源泄露等问题
  • 评估测试覆盖率是否充足
  • 在 PR 中发布审查评论

这相当于给每个 PR 配备了一位 24 小时在线的资深代码审查员。

案例三:安全扫描与依赖更新

通过定时任务,每周自动扫描:

  • 过期的依赖包版本
  • 已知安全漏洞
  • 废弃的 API 使用

然后自动创建 Issue 或 PR 来处理发现的问题。

安全与权限控制

OpenCode GitHub 集成在设计上充分考虑了安全性:

  • 代码不离开 GitHub Runner:AI 处理在 GitHub Actions 环境内完成,OpenCode 不存储代码或上下文数据
  • 权限最小化:工作流可以精确控制 OpenCode 拥有的权限(读/写 issues、PR、代码等)
  • 使用 GITHUB_TOKEN:可以利用 GitHub 内置的 Token 而不是个人访问令牌
  • Share 功能可控:可以设置 share: false 防止会话被公开分享

对于企业级部署,还可以通过 OpenCode Enterprise 实现中央配置管理、SSO 集成和内部 AI 网关。

常见问题

Q:OpenCode GitHub 集成需要付费吗?

A:OpenCode 本身是开源免费的。你只需要支付 AI 模型提供商的 API 调用费用。

Q:一个仓库可以配置多个工作流吗?

A:可以。你可以为 Issue 处理、PR 审查、定时任务等分别编写不同的工作流文件。

Q:所有仓库成员都能触发 OpenCode 吗?

A:能评论 Issue/PR 的用户就可以触发。你可以通过 GitHub Actions 的权限条件进一步限制。

Q:如何调试工作流失败?

A:在 GitHub Actions 日志中可以查看 OpenCode 的运行细节。也可以在本地使用 opencode --log-level DEBUG 调试。

总结

OpenCode GitHub 集成将 AI 编程助手从本地终端延伸到了协作平台,实现了 Issue 自动处理、PR 智能审查、定时维护等多种自动化场景。通过简单的工作流配置,你的团队就能获得一个 24 小时在线的 AI 队友,大幅提升开发效率和代码质量。

无论你是开源项目维护者还是企业团队开发者,都可以从 OpenCode GitHub 集成中获益。现在就打开你的终端,运行 opencode github install,迈出 AI 驱动开发工作流的第一步吧。