跳到正文
FunCoding

搜索

搜索文档、Skill 和 MCP

GitHub Actions 与评论任务

配置 GitHub App 或自带 token,在 issue、PR、计划任务中运行 OpenCode。

GitHub 集成在 Actions runner 内执行任务。评论中输入 /opencode 或 /oc 可请求解释 issue、修复代码、创建 PR,或修改当前 PR;代码行评论会附带文件、行号与 diff 上下文。

安装与模型

在 GitHub 仓库目录运行:

opencode github install

向导会处理 GitHub App 安装、工作流与 secrets。手动配置时,先将 opencode-agent GitHub App 安装到目标仓库,再创建 .github/workflows/opencode.yml,并在 Actions secrets 中保存模型提供商 Key。

官方 Action 入口为 anomalyco/opencode/github@latest。model 必填,采用 provider/model;根据自己的已配置提供商选择实际可用标识,不需要照搬教程中的旧型号。

选择 GitHub 身份

模式配置要求
OpenCode GitHub App默认方式,通过 OIDC 交换 App installation token,工作流需要 id-token: write
调用方 tokenuse_github_token: true,通过环境变量 GITHUB_TOKEN 传入 token,不执行 OIDC 交换

调用方 token 可以是工作流提供的 token,也可以是作为 secret 保存的 PAT 或其他 App token。该模式不必安装 OpenCode GitHub App,也不要求 id-token: write;仍需按实际动作授予权限。

例如官方列出需要创建分支/PR/issue 时的权限:

permissions:
  contents: write
  pull-requests: write
  issues: write

这不是所有工作流都必须开启写权限。官方 checkout 示例使用 actions/checkout@v6 和 persist-credentials: false;不要把 checkout 凭据与 Agent 使用的 token 混为一谈。

事件与任务文本

事件任务来源和行为
issue_comment新建评论中的触发词与请求
pull_request_review_commentPR 代码行评论,带精确 diff 上下文
issuesissue 创建/编辑等;必须传 prompt
pull_requestPR 打开、同步、重新打开等;不传 prompt 时默认审查 PR
schedule定时运行;必须传 prompt,结果进入日志/PR
workflow_dispatchActions 手动运行;必须传 prompt,结果进入日志/PR

评论模式还需在工作流条件中筛选触发词。计划任务没有评论用户上下文可用于权限检查;预期创建分支和 PR 时需授予 contents: write 与 pull-requests: write。

官方 issue triage 示例增加“账号创建至少 30 天”的过滤条件,这是示例工作流自行设置的防滥用条件,不是 OpenCode 产品固定门槛。

Action 输入

输入含义
model必填,提供商/模型
agentprimary agent;未找到时回退配置 default_agent 或 build
share是否分享会话,公开仓库默认 true
prompt覆盖默认任务提示
mentions逗号分隔、大小写不敏感,默认 /opencode,/oc
variant提供商推理变体
oidc_base_urlOIDC 交换 API 地址,默认 https://api.opencode.ai,自建 App 时使用
use_github_token默认 false;启用调用方 token 模式

修改 mentions 后也要对应检查工作流的评论过滤条件。公开仓库的 Action 默认分享与普通 CLI 默认手动分享不同,内容范围见会话分享。

结果在哪里

issue 修复通常创建新分支及 PR;在已有 PR 请求修改会把变更提交到该 PR;解释和讨论任务会回复评论。任务运行在 runner,并不意味着模型请求一定留在 runner 内,仍取决于提供商配置。