GitHub 配置指南

你可以用它做什么

让智能体查询仓库、Issue、PR 等;也可配置 GitHub 事件接收。首次建议从只读查询开始。

配置前准备

请仓库负责人确认目标仓库范围。在 GitHub 个人设置的 Developer settings → Personal access tokens 创建适用 Token,优先选择限定仓库和最小所需权限的凭证,并设置有效期。组织可能需要批准。不要为了测试直接授予所有仓库写权限。

需要能够在当前 MOI 工作区创建或编辑工具配置。若没有入口或提示无权操作,请联系工作区管理员,不要借用他人的账号。

创建 GitHub Token

本指南使用细粒度个人访问令牌,以便把权限限制到指定仓库和操作。

  1. 打开 GitHub 创建细粒度 Token 页面。也可以依次进入头像菜单中的 Settings > Developer settings > Personal access tokens > Fine-grained tokens。

GitHub Settings 中的 Developer settings 入口。

从 GitHub 个人设置进入 Developer settings。

  1. 点击 Generate new token,填写名称和有效期。

GitHub Personal access tokens 菜单中的 Fine-grained tokens 和 Tokens classic 选项。

选择 Fine-grained tokens;它可以把仓库和权限限制到本次接入所需的范围。

  1. 在 Repository access 中选择 Only select repositories,再选择要连接的仓库。

GitHub 细粒度个人访问令牌创建页面中的 Repository access 设置。

在细粒度 Token 表单中限制可访问的仓库,并只添加实际需要的权限。

  1. 按智能体需要执行的操作设置仓库权限。只读取仓库、Issue 或 Pull Request 时授予只读权限;需要创建或更新 Issue 时,将 Issues 设置为 Read and write。

  2. 生成 Token 后立即复制并妥善保存。GitHub 不会再次显示完整值。

组织仓库可能要求管理员批准 Token。在批准完成前,MOI 无法使用该 Token 访问对应仓库。

GitHub Personal access tokens 的 Tokens classic 页面。

GitHub 也保留 Tokens classic 管理入口;新建接入时优先使用前文的细粒度 Token。

配置页面

从 MOI 资源中心的工具库进入 GitHub 工具。

从 资源中心 > 工具库 打开 GitHub 工具。

GitHub 仓库 API 访问配置:Access Token 必填,仓库范围按需填写。

MOI GitHub API 实例:Access Token 必填,仓库范围按需填写。

在 MOI 中操作

  1. 进入 资源中心 > 工具库 > GitHub,先选择 API 调用能力,创建实例。

  2. 填写 Access Token;为减少误用,填写准备测试的 Owner 与 Repository。保存并测试连接。

  3. 在智能体的工具配置中绑定 GitHub 工具,并选择该实例。先做只读验收。

  4. 如需事件触发,再选择 Webhook 能力。填写匹配的 Webhook Secret 与所需字段,保存后从实例详情复制回调 URL。

  5. 在目标仓库或组织的 Webhooks 设置中填写该 URL 和相同 Secret,选择真正需要的事件。不要使用 127.0.0.1 作为第三方回调地址。

  6. 在 MOI 配置相应事件路由规则及目标智能体/任务,并用测试仓库事件验证。PR Review 场景按页面提示订阅 Check suites、Check runs 等所需事件。

按实际任务选择 GitHub 事件,不要订阅无关事件:

需要处理的场景

GitHub 事件

Issue 新建、编辑或关闭

Issues

Pull Request 创建、更新或关闭

Pull requests

PR 评论或审核

Issue comments、Pull request reviews、Pull request review comments

CI 检查完成后处理 PR

Check suites、Check runs

GitHub 使用 Webhook Secret 为投递生成 X-Hub-Signature-256 签名,MOI 使用同一个 Secret 验证请求。两边的值必须一致,具体机制见 GitHub Webhook 签名验证说明。

字段怎么填写

字段

何时需要

填写说明

实例名称

必填

例如「产品测试仓库」。

Access Token

仓库 API 与 Webhook 入口均必填

用于实际调用 GitHub API,不能用 Webhook Secret 替代。

Owner / Repository

可选

例如 Owner=example-team、Repository=demo;分别填写,不填完整网址。

App ID / Installation ID

API 入口可选

只有确实采用 GitHub App 时才填写;仅填 ID 不能替代 Token。

Webhook Secret

Webhook 入口可选

与 GitHub Webhook 配置保持一致,用于验签;不要当成 API Token。

MOI GitHub Webhook 回调实例表单,包含 Owner、Repository、Webhook Secret 和 Access Token。

MOI GitHub Webhook 实例表单:API 调用仍需填写 Access Token;Webhook Secret 用于验证 GitHub 的事件签名。

让智能体实际使用

回到目标智能体详情,在工具区域检查对应能力是否已绑定;提供实例选择时,核对目标连接。具体步骤见绑定并验证工具。

先让智能体「读取 example-team/demo 的最近三个 Issue,只查询,不创建评论」。核对 Issue 链接和工具结果。事件场景另外核对 GitHub delivery 是否成功、MOI 是否接收并触发正确目标;连接测试不能代替事件验收。

验收时逐项确认:

  • 保存成功,重新打开后配置仍存在。

  • 测试连接返回成功,而不是只有「已配置」标签。

  • 对话的工具调用记录显示实际调用,结果与目标平台一致。

  • 如启用事件接收,还验证了事件投递和正确目标触发。

常见问题

现象

检查方法

能连接但查不到仓库

检查 Token 仓库范围、组织批准及 Owner/Repository。

读取成功但写入失败

核对目标操作所需权限;只有明确需要写操作时才增加相应权限。

Webhook 不触发

检查公网回调、Secret 一致性、事件订阅及 MOI 路由规则,查看 delivery 记录。

相关链接

最后更新于