---
title: GitHub
description: 通过 GitHub 交互或从 GitHub 事件触发工作流
---

import { BlockInfoCard } from "@/components/ui/block-info-card"

<BlockInfoCard 
  type="github"
  color="#181C1E"
/>

{/* MANUAL-CONTENT-START:intro */}
[GitHub](https://github.com/) 是全球领先的软件开发和版本控制平台，基于 Git 提供服务。它为开发者提供了一个协作环境，可以托管和审查代码、管理项目并共同构建软件。

使用 GitHub，您可以：

- **托管代码库**：在公共或私有代码库中存储代码，并进行版本控制
- **协作开发**：使用拉取请求（Pull Request）提议更改、审查代码并合并贡献
- **跟踪问题**：创建、分配和管理问题，以组织工作和跟踪错误
- **自动化工作流**：使用 GitHub Actions 自动构建、测试和部署代码
- **管理项目**：通过项目板、里程碑和任务跟踪来组织工作
- **文档管理**：使用 GitHub Pages 和 wikis 创建和维护文档

在 Sim 中，GitHub 集成使您的代理可以直接与 GitHub 仓库和工作流交互。这支持强大的自动化场景，例如代码审查协助、拉取请求管理、问题跟踪和仓库探索。您的代理可以获取仓库数据、分析代码更改、在拉取请求上发布评论以及以编程方式执行其他 GitHub 操作。此集成弥合了您的 AI 工作流与开发流程之间的差距，实现了代理与开发团队之间的无缝协作。
{/* MANUAL-CONTENT-END */}

## 使用说明

将 Github 集成到工作流程中。可以获取 PR 详情、创建 PR 评论、获取存储库信息以及获取最新提交。需要使用 github token API 密钥。可以在触发模式下使用，当创建 PR、对 PR 进行评论或推送提交时触发工作流程。

## 工具

### `github_pr`

获取 PR 详情，包括差异和更改的文件

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `pullNumber` | number | 是 | 拉取请求编号 |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 可读的 PR 摘要 |
| `metadata` | object | 包括文件更改的详细 PR 元数据 |

### `github_comment`

在 GitHub PR 上创建评论

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `body` | string | 是 | 评论内容 |
| `pullNumber` | number | 是 | 拉取请求编号 |
| `path` | string | 否 | 审查评论的文件路径 |
| `position` | number | 否 | 审查评论的行号 |
| `commentType` | string | 否 | 评论类型 \(pr_comment 或 file_comment\) |
| `line` | number | 否 | 审查评论的行号 |
| `side` | string | 否 | 差异的侧面 \(LEFT 或 RIGHT\) |
| `commitId` | string | 否 | 要评论的提交的 SHA |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的评论确认 |
| `metadata` | object | 评论元数据 |

### `github_repo_info`

检索全面的 GitHub 仓库元数据，包括星标、分叉、问题和主要语言。支持公共和私有仓库，并可选择进行身份验证。

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 \(用户或组织\) |
| `repo` | string | 是 | 仓库名称 |
| `apiKey` | string | 是 | GitHub 个人访问令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的仓库摘要 |
| `metadata` | object | 仓库元数据 |

### `github_latest_commit`

检索 GitHub 仓库的最新提交

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 \(用户或组织\) |
| `repo` | string | 是 | 仓库名称 |
| `branch` | string | 否 | 分支名称 \(默认为仓库的默认分支\) |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的提交摘要 |
| `metadata` | object | 提交元数据 |

### `github_issue_comment`

在 GitHub 问题上创建评论

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `issue_number` | number | 是 | 问题编号 |
| `body` | string | 是 | 评论内容 |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的评论确认 |
| `metadata` | object | 评论元数据 |

### `github_list_issue_comments`

列出 GitHub 问题上的所有评论

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `issue_number` | number | 是 | 问题编号 |
| `since` | string | 否 | 仅显示此 ISO 8601 时间戳之后更新的评论 |
| `per_page` | number | 否 | 每页结果数 \(最大 100\) |
| `page` | number | 否 | 页码 |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的评论摘要 |
| `metadata` | object | 评论列表元数据 |

### `github_update_comment`

更新 GitHub 问题或拉取请求上的现有评论

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `comment_id` | number | 是 | 评论 ID |
| `body` | string | 是 | 更新后的评论内容 |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的更新确认 |
| `metadata` | object | 更新后的评论元数据 |

### `github_delete_comment`

删除 GitHub 问题或拉取请求上的评论

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `comment_id` | number | 是 | 评论 ID |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的删除确认 |
| `metadata` | object | 删除结果元数据 |

### `github_list_pr_comments`

列出 GitHub 拉取请求上的所有审查评论

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `pullNumber` | number | 是 | 拉取请求编号 |
| `sort` | string | 否 | 按创建或更新排序 |
| `direction` | string | 否 | 排序方向 \(升序或降序\) |
| `since` | string | 否 | 仅显示此 ISO 8601 时间戳之后更新的评论 |
| `per_page` | number | 否 | 每页结果数 \(最大 100\) |
| `page` | number | 否 | 页码 |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的审查评论摘要 |
| `metadata` | object | 审查评论列表元数据 |

### `github_create_pr`

在 GitHub 仓库中创建一个新的拉取请求

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `title` | string | 是 | 拉取请求标题 |
| `head` | string | 是 | 实现更改的分支名称 |
| `base` | string | 是 | 要将更改合并到的分支名称 |
| `body` | string | 否 | 拉取请求描述 \(Markdown\) |
| `draft` | boolean | 否 | 创建为草稿拉取请求 |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的拉取请求创建确认 |
| `metadata` | object | 拉取请求元数据 |

### `github_update_pr`

更新 GitHub 仓库中的现有拉取请求

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `pullNumber` | number | 是 | 拉取请求编号 |
| `title` | string | 否 | 新的拉取请求标题 |
| `body` | string | 否 | 新的拉取请求描述 \(Markdown\) |
| `state` | string | 否 | 新状态 \(open 或 closed\) |
| `base` | string | 否 | 新的基准分支名称 |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 可读的 PR 更新确认 |
| `metadata` | object | 更新的拉取请求元数据 |

### `github_merge_pr`

在 GitHub 仓库中合并拉取请求

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `pullNumber` | number | 是 | 拉取请求编号 |
| `commit_title` | string | 否 | 合并提交的标题 |
| `commit_message` | string | 否 | 附加到合并提交消息的额外详细信息 |
| `merge_method` | string | 否 | 合并方法：merge、squash 或 rebase |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 可读的合并确认 |
| `metadata` | object | 合并结果元数据 |

### `github_list_prs`

列出 GitHub 仓库中的拉取请求

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `state` | string | 否 | 按状态筛选：open、closed 或 all |
| `head` | string | 否 | 按 head 用户或分支名称筛选 \(格式：user:ref-name 或 organization:ref-name\) |
| `base` | string | 否 | 按 base 分支名称筛选 |
| `sort` | string | 否 | 按以下方式排序：created、updated、popularity 或 long-running |
| `direction` | string | 否 | 排序方向：asc 或 desc |
| `per_page` | number | 否 | 每页结果数 \(最大 100\) |
| `page` | number | 否 | 页码 |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 可读的拉取请求列表 |
| `metadata` | object | 拉取请求列表元数据 |

### `github_get_pr_files`

获取拉取请求中更改的文件列表

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `pullNumber` | number | 是 | 拉取请求编号 |
| `per_page` | number | 否 | 每页结果数 \(最大 100\) |
| `page` | number | 否 | 页码 |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 可读的拉取请求中更改的文件列表 |
| `metadata` | object | 拉取请求文件元数据 |

### `github_close_pr`

关闭 GitHub 仓库中的拉取请求

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `pullNumber` | number | 是 | 拉取请求编号 |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 可读的拉取请求关闭确认 |
| `metadata` | object | 已关闭的拉取请求元数据 |

### `github_request_reviewers`

为拉取请求指定审查者

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `pullNumber` | number | 是 | 拉取请求编号 |
| `reviewers` | string | 是 | 以逗号分隔的用户登录名列表，用于请求审查 |
| `team_reviewers` | string | 否 | 以逗号分隔的团队标识列表，用于请求审查 |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的审查请求确认 |
| `metadata` | object | 请求的审查者元数据 |

### `github_get_file_content`

从 GitHub 仓库中获取文件内容。支持最大 1MB 的文件。内容以解码和人类可读的形式返回。

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 \(用户或组织\) |
| `repo` | string | 是 | 仓库名称 |
| `path` | string | 是 | 仓库中文件的路径 \(例如："src/index.ts"\) |
| `ref` | string | 否 | 分支名称、标签或提交 SHA \(默认为仓库的默认分支\) |
| `apiKey` | string | 是 | GitHub 个人访问令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的文件信息，包含内容预览 |
| `metadata` | object | 文件元数据，包括名称、路径、SHA、大小和 URL |

### `github_create_file`

在 GitHub 仓库中创建一个新文件。文件内容将自动进行 Base64 编码。支持最大 1MB 的文件。

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 \(用户或组织\) |
| `repo` | string | 是 | 仓库名称 |
| `path` | string | 是 | 文件将被创建的路径 \(例如："src/newfile.ts"\) |
| `message` | string | 是 | 此文件创建的提交消息 |
| `content` | string | 是 | 文件内容 \(纯文本，将自动进行 Base64 编码\) |
| `branch` | string | 否 | 创建文件的分支 \(默认为仓库的默认分支\) |
| `apiKey` | string | 是 | GitHub 个人访问令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的文件创建确认信息 |
| `metadata` | object | 文件和提交元数据 |

### `github_update_file`

更新 GitHub 仓库中的现有文件。需要文件的 SHA。内容将自动进行 Base64 编码。支持最大 1MB 的文件。

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 \(用户或组织\) |
| `repo` | string | 是 | 仓库名称 |
| `path` | string | 是 | 要更新的文件路径 \(例如："src/index.ts"\) |
| `message` | string | 是 | 此文件更新的提交消息 |
| `content` | string | 是 | 新的文件内容 \(纯文本，将自动进行 Base64 编码\) |
| `sha` | string | 是 | 被替换文件的 blob SHA \(从 github_get_file_content 获取\) |
| `branch` | string | 否 | 要更新文件的分支 \(默认为仓库的默认分支\) |
| `apiKey` | string | 是 | GitHub 个人访问令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的文件更新确认 |
| `metadata` | object | 更新的文件和提交元数据 |

### `github_delete_file`

从 GitHub 仓库中删除文件。需要文件的 SHA。此操作无法通过 API 撤销。

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 \(用户或组织\) |
| `repo` | string | 是 | 仓库名称 |
| `path` | string | 是 | 要删除的文件路径 \(例如："src/oldfile.ts"\) |
| `message` | string | 是 | 此文件删除的提交消息 |
| `sha` | string | 是 | 被删除文件的 blob SHA \(从 github_get_file_content 获取\) |
| `branch` | string | 否 | 要删除文件的分支 \(默认为仓库的默认分支\) |
| `apiKey` | string | 是 | GitHub 个人访问令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的文件删除确认 |
| `metadata` | object | 删除确认和提交元数据 |

### `github_get_tree`

获取 GitHub 仓库中目录的内容。返回文件和子目录的列表。使用空路径或省略路径以获取根目录内容。

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 \(用户或组织\) |
| `repo` | string | 是 | 仓库名称 |
| `path` | string | 否 | 目录路径 \(例如："src/components"\)。留空表示根目录。 |
| `ref` | string | 否 | 分支名称、标签或提交 SHA \(默认为仓库默认分支\) |
| `apiKey` | string | 是 | GitHub 个人访问令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的目录树列表 |
| `metadata` | object | 目录内容元数据 |

### `github_list_branches`

列出 GitHub 仓库中的所有分支。可选地按保护状态过滤并控制分页。

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 \(用户或组织\) |
| `repo` | string | 是 | 仓库名称 |
| `protected` | boolean | 否 | 按保护状态过滤分支 |
| `per_page` | number | 否 | 每页结果数 \(最大 100，默认 30\) |
| `page` | number | 否 | 分页的页码 \(默认 1\) |
| `apiKey` | string | 是 | GitHub 个人访问令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的分支列表 |
| `metadata` | object | 分支列表元数据 |

### `github_get_branch`

获取 GitHub 仓库中特定分支的详细信息，包括提交详情和保护状态。

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 \(用户或组织\) |
| `repo` | string | 是 | 仓库名称 |
| `branch` | string | 是 | 分支名称 |
| `apiKey` | string | 是 | GitHub 个人访问令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的分支详情 |
| `metadata` | object | 分支元数据 |

### `github_create_branch`

通过创建指向特定提交 SHA 的 git 引用，在 GitHub 仓库中创建一个新分支。

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 \(用户或组织\) |
| `repo` | string | 是 | 仓库名称 |
| `branch` | string | 是 | 要创建的分支名称 |
| `sha` | string | 是 | 分支指向的提交 SHA |
| `apiKey` | string | 是 | GitHub 个人访问令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的分支创建确认 |
| `metadata` | object | Git 引用元数据 |

### `github_delete_branch`

通过删除 Git 引用从 GitHub 仓库中删除分支。受保护的分支无法删除。

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 \(用户或组织\) |
| `repo` | string | 是 | 仓库名称 |
| `branch` | string | 是 | 要删除的分支名称 |
| `apiKey` | string | 是 | GitHub 个人访问令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的删除确认 |
| `metadata` | object | 删除元数据 |

### `github_get_branch_protection`

获取特定分支的分支保护规则，包括状态检查、审查要求和限制。

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 \(用户或组织\) |
| `repo` | string | 是 | 仓库名称 |
| `branch` | string | 是 | 分支名称 |
| `apiKey` | string | 是 | GitHub 个人访问令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的分支保护摘要 |
| `metadata` | object | 分支保护配置 |

### `github_update_branch_protection`

更新特定分支的分支保护规则，包括状态检查、审查要求、管理员强制执行和推送限制。

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 \(用户或组织\) |
| `repo` | string | 是 | 仓库名称 |
| `branch` | string | 是 | 分支名称 |
| `required_status_checks` | object | 是 | 所需状态检查配置 \(null 表示禁用\)。对象包含 strict \(布尔值\) 和 contexts \(字符串数组\) |
| `enforce_admins` | boolean | 是 | 是否对管理员强制执行限制 |
| `required_pull_request_reviews` | object | 是 | PR 审查要求 \(null 表示禁用\)。对象包含可选的 required_approving_review_count、dismiss_stale_reviews、require_code_owner_reviews |
| `restrictions` | object | 是 | 推送限制 \(null 表示禁用\)。对象包含 users \(字符串数组\) 和 teams \(字符串数组\) |
| `apiKey` | string | 是 | GitHub 个人访问令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的分支保护更新摘要 |
| `metadata` | object | 更新后的分支保护配置 |

### `github_create_issue`

在 GitHub 仓库中创建一个新问题

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `title` | string | 是 | 问题标题 |
| `body` | string | 否 | 问题描述/正文 |
| `assignees` | string | 否 | 要分配给此问题的用户名列表（以逗号分隔） |
| `labels` | string | 否 | 要添加到此问题的标签名称列表（以逗号分隔） |
| `milestone` | number | 否 | 要与此问题关联的里程碑编号 |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的问题创建确认 |
| `metadata` | object | 问题元数据 |

### `github_update_issue`

更新 GitHub 仓库中的现有问题

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `issue_number` | number | 是 | 问题编号 |
| `title` | string | 否 | 新的问题标题 |
| `body` | string | 否 | 新的问题描述/正文 |
| `state` | string | 否 | 问题状态 \(open 或 closed\) |
| `labels` | array | 否 | 标签名称数组 \(替换所有现有标签\) |
| `assignees` | array | 否 | 用户名数组 \(替换所有现有分配者\) |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的问题更新确认 |
| `metadata` | object | 更新的问题元数据 |

### `github_list_issues`

列出 GitHub 仓库中的问题。注意：这包括拉取请求，因为在 GitHub 中 PR 被视为问题

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `state` | string | 否 | 按状态筛选：open、closed 或 all \(默认：open\) |
| `assignee` | string | 否 | 按分配者用户名筛选 |
| `creator` | string | 否 | 按创建者用户名筛选 |
| `labels` | string | 否 | 按标签名称的逗号分隔列表筛选 |
| `sort` | string | 否 | 排序方式：created、updated 或 comments \(默认：created\) |
| `direction` | string | 否 | 排序方向：asc 或 desc \(默认：desc\) |
| `per_page` | number | 否 | 每页结果数 \(最大 100，默认：30\) |
| `page` | number | 否 | 页码 \(默认：1\) |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的问题列表 |
| `metadata` | object | 问题列表元数据 |

### `github_get_issue`

获取 GitHub 仓库中特定问题的详细信息

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `issue_number` | number | 是 | 问题编号 |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的问题详细信息 |
| `metadata` | object | 详细的问题元数据 |

### `github_close_issue`

关闭 GitHub 仓库中的一个问题

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `issue_number` | number | 是 | 问题编号 |
| `state_reason` | string | 否 | 关闭原因：已完成或未计划 |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的问题关闭确认 |
| `metadata` | object | 已关闭的问题元数据 |

### `github_add_labels`

为 GitHub 仓库中的问题添加标签

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `issue_number` | number | 是 | 问题编号 |
| `labels` | string | 是 | 要添加到问题的标签名称（以逗号分隔） |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的标签确认 |
| `metadata` | object | 标签元数据 |

### `github_remove_label`

从 GitHub 仓库中的问题中移除标签

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `issue_number` | number | 是 | 问题编号 |
| `name` | string | 是 | 要移除的标签名称 |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的标签移除确认 |
| `metadata` | object | 剩余标签元数据 |

### `github_add_assignees`

为 GitHub 仓库中的问题添加受理人

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `issue_number` | number | 是 | 问题编号 |
| `assignees` | string | 是 | 要分配给问题的用户名列表（以逗号分隔） |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的分配确认 |
| `metadata` | object | 包含分配信息的更新问题元数据 |

### `github_create_release`

为 GitHub 仓库创建一个新版本。指定标签名称、目标提交、标题、描述，以及是否为草稿或预发布版本。

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 \(用户或组织\) |
| `repo` | string | 是 | 仓库名称 |
| `tag_name` | string | 是 | 此版本的标签名称 |
| `target_commitish` | string | 否 | 指定用于创建 Git 标签的 commitish 值。可以是任何分支或提交 SHA。默认为仓库的默认分支。 |
| `name` | string | 否 | 版本的名称 |
| `body` | string | 否 | 描述版本内容的文本（支持 markdown） |
| `draft` | boolean | 否 | true 表示创建草稿（未发布）版本，false 表示创建已发布版本 |
| `prerelease` | boolean | 否 | true 表示将版本标识为预发布版本，false 表示标识为完整版本 |
| `apiKey` | string | 是 | GitHub 个人访问令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的发布创建摘要 |
| `metadata` | object | 包括下载 URL 的发布元数据 |

### `github_update_release`

更新现有的 GitHub 发布。修改标签名称、目标提交、标题、描述、草稿状态或预发布状态。

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 \(用户或组织\) |
| `repo` | string | 是 | 仓库名称 |
| `release_id` | number | 是 | 发布的唯一标识符 |
| `tag_name` | string | 否 | 标签的名称 |
| `target_commitish` | string | 否 | 指定标签创建来源的 commitish 值 |
| `name` | string | 否 | 发布的名称 |
| `body` | string | 否 | 描述发布内容的文本 \(支持 markdown\) |
| `draft` | boolean | 否 | true 表示设置为草稿，false 表示发布 |
| `prerelease` | boolean | 否 | true 表示标识为预发布，false 表示完整发布 |
| `apiKey` | string | 是 | GitHub 个人访问令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的发布更新摘要 |
| `metadata` | object | 更新的发布元数据，包括下载 URL |

### `github_list_releases`

列出 GitHub 仓库的所有发布版本。返回包括标签、名称和下载 URL 在内的发布信息。

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 \(用户或组织\) |
| `repo` | string | 是 | 仓库名称 |
| `per_page` | number | 否 | 每页结果数量 \(最大 100\) |
| `page` | number | 否 | 要获取的结果页码 |
| `apiKey` | string | 是 | GitHub 个人访问令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的发布版本列表摘要 |
| `metadata` | object | 发布版本元数据 |

### `github_get_release`

通过 ID 获取特定 GitHub 发布版本的详细信息。返回包括资源和下载 URL 在内的发布元数据。

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 \(用户或组织\) |
| `repo` | string | 是 | 仓库名称 |
| `release_id` | number | 是 | 发布版本的唯一标识符 |
| `apiKey` | string | 是 | GitHub 个人访问令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的发布版本详细信息 |
| `metadata` | object | 包括下载 URL 在内的发布元数据 |

### `github_delete_release`

通过 ID 删除 GitHub 发布版本。这将永久删除发布版本，但不会删除关联的 Git 标签。

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 \(用户或组织\) |
| `repo` | string | 是 | 仓库名称 |
| `release_id` | number | 是 | 要删除的发布版本的唯一标识符 |
| `apiKey` | string | 是 | GitHub 个人访问令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的删除确认信息 |
| `metadata` | object | 删除结果元数据 |

### `github_list_workflows`

列出 GitHub 仓库中的所有工作流。返回包括 ID、名称、路径、状态和徽章 URL 在内的工作流详细信息。

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 \(用户或组织\) |
| `repo` | string | 是 | 仓库名称 |
| `per_page` | number | 否 | 每页结果数量 \(默认: 30, 最大: 100\) |
| `page` | number | 否 | 要获取的结果页码 \(默认: 1\) |
| `apiKey` | string | 是 | GitHub 个人访问令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的工作流摘要 |
| `metadata` | object | 工作流元数据 |

### `github_get_workflow`

通过 ID 或文件名获取特定 GitHub Actions 工作流的详细信息。返回的工作流信息包括名称、路径、状态和徽章 URL。

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 \(用户或组织\) |
| `repo` | string | 是 | 仓库名称 |
| `workflow_id` | string | 是 | 工作流 ID \(数字\) 或工作流文件名 \(例如："main.yaml"\) |
| `apiKey` | string | 是 | GitHub 个人访问令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的工作流详细信息 |
| `metadata` | object | 工作流元数据 |

### `github_trigger_workflow`

触发 GitHub Actions 工作流的工作流调度事件。工作流必须配置了 workflow_dispatch 触发器。成功时返回 204 No Content。

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 \(用户或组织\) |
| `repo` | string | 是 | 仓库名称 |
| `workflow_id` | string | 是 | 工作流 ID \(数字\) 或工作流文件名 \(例如："main.yaml"\) |
| `ref` | string | 是 | Git 引用 \(分支或标签名称\) 用于运行工作流 |
| `inputs` | object | 否 | 在工作流文件中配置的输入键和值 |
| `apiKey` | string | 是 | GitHub 个人访问令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 确认消息 |
| `metadata` | object | 空的元数据对象 \(204 无内容响应\) |

### `github_list_workflow_runs`

列出仓库的工作流运行。支持按触发者、分支、事件和状态进行筛选。返回包括状态、结论和链接在内的运行详细信息。

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 \(用户或组织\) |
| `repo` | string | 是 | 仓库名称 |
| `actor` | string | 否 | 按触发工作流的用户筛选 |
| `branch` | string | 否 | 按分支名称筛选 |
| `event` | string | 否 | 按事件类型筛选 \(例如：push, pull_request, workflow_dispatch\) |
| `status` | string | 否 | 按状态筛选 \(queued, in_progress, completed, waiting, requested, pending\) |
| `per_page` | number | 否 | 每页结果数量 \(默认：30，最大：100\) |
| `page` | number | 否 | 要获取的结果页码 \(默认：1\) |
| `apiKey` | string | 是 | GitHub 个人访问令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的工作流运行摘要 |
| `metadata` | object | 工作流运行元数据 |

### `github_get_workflow_run`

获取有关特定工作流运行的详细信息（通过 ID）。返回状态、结论、时间以及运行的链接。

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 \(用户或组织\) |
| `repo` | string | 是 | 仓库名称 |
| `run_id` | number | 是 | 工作流运行 ID |
| `apiKey` | string | 是 | GitHub 个人访问令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的工作流运行详情 |
| `metadata` | object | 工作流运行元数据 |

### `github_cancel_workflow_run`

取消工作流运行。如果取消已启动，则返回 202 Accepted；如果运行无法取消（已完成），则返回 409 Conflict。

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 \(用户或组织\) |
| `repo` | string | 是 | 仓库名称 |
| `run_id` | number | 是 | 要取消的工作流运行 ID |
| `apiKey` | string | 是 | GitHub 个人访问令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 取消状态消息 |
| `metadata` | object | 取消元数据 |

### `github_rerun_workflow`

重新运行工作流运行。可选择启用调试日志记录。成功时返回 201 Created。

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 \(用户或组织\) |
| `repo` | string | 是 | 仓库名称 |
| `run_id` | number | 是 | 要重新运行的工作流运行 ID |
| `enable_debug_logging` | boolean | 否 | 启用重新运行的调试日志记录 \(默认值：false\) |
| `apiKey` | string | 是 | GitHub 个人访问令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 重新运行确认消息 |
| `metadata` | object | 重新运行元数据 |

### `github_list_projects`

列出组织或用户的 GitHub Projects V2。返回最多 20 个项目及其详细信息，包括 ID、标题、编号、URL 和状态。

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner_type` | string | 是 | 所有者类型："org" 表示组织，"user" 表示用户 |
| `owner_login` | string | 是 | 组织或用户的登录名 |
| `apiKey` | string | 是 | 具有项目读取权限的 GitHub 个人访问令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的项目列表 |
| `metadata` | object | 项目元数据 |

### `github_get_project`

通过项目编号获取特定 GitHub Projects V2 的详细信息。返回项目的详细信息，包括 ID、标题、描述、URL 和状态。

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner_type` | string | 是 | 所有者类型："org" 表示组织，"user" 表示用户 |
| `owner_login` | string | 是 | 组织或用户的登录名 |
| `project_number` | number | 是 | 项目编号 |
| `apiKey` | string | 是 | 具有项目读取权限的 GitHub 个人访问令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的项目详情 |
| `metadata` | object | 项目元数据 |

### `github_create_project`

创建一个新的 GitHub Project V2。需要提供所有者节点 ID（而非登录名）。返回包含 ID、标题和 URL 的已创建项目。

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner_id` | string | 是 | 所有者节点 ID \(格式：PVT_... 或 MDQ6...\)。使用 GitHub GraphQL API 从组织或用户登录中获取此 ID。 |
| `title` | string | 是 | 项目标题 |
| `apiKey` | string | 是 | 具有项目写入权限的 GitHub 个人访问令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的确认消息 |
| `metadata` | object | 已创建项目的元数据 |

### `github_update_project`

更新现有的 GitHub Project V2。可以更新标题、描述、可见性（公开）或状态（关闭）。需要提供项目节点 ID。

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `project_id` | string | 是 | 项目节点 ID \(格式：PVT_...\) |
| `title` | string | 否 | 新的项目标题 |
| `shortDescription` | string | 否 | 新的项目简短描述 |
| `project_public` | boolean | 否 | 设置项目可见性 \(true = 公开, false = 私有\) |
| `closed` | boolean | 否 | 设置项目状态 \(true = 关闭, false = 打开\) |
| `apiKey` | string | 是 | 具有项目写入权限的 GitHub 个人访问令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的确认消息 |
| `metadata` | object | 更新的项目元数据 |

### `github_delete_project`

删除一个 GitHub 项目 V2。此操作是永久性的，无法撤销。需要项目节点 ID。

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `project_id` | string | 是 | 项目节点 ID \(格式：PVT_...\) |
| `apiKey` | string | 是 | 具有项目管理员权限的 GitHub 个人访问令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 人类可读的确认消息 |
| `metadata` | object | 已删除的项目元数据 |

## 注意事项

- 类别：`tools`
- 类型：`github`

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `q` | string | 是 | 带有可选限定符的搜索查询 \(repo:, language:, path:, extension:, user:, org:\) |
| `sort` | string | 否 | 按索引日期排序 \(默认：最佳匹配\) |
| `order` | string | 否 | 排序顺序：asc 或 desc \(默认：desc\) |
| `per_page` | number | 否 | 每页结果数 \(最大 100，默认：30\) |
| `page` | number | 否 | 页码 \(默认：1\) |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `total_count` | number | 匹配结果总数 |
| `incomplete_results` | boolean | 结果是否不完整 |
| `items` | array | GitHub API 返回的代码匹配项数组 |
|   ↳ `name` | string | 文件名 |
|   ↳ `path` | string | 文件路径 |
|   ↳ `sha` | string | Blob SHA |
|   ↳ `url` | string | API URL |
|   ↳ `git_url` | string | Git blob URL |
|   ↳ `html_url` | string | GitHub 网页 URL |
|   ↳ `score` | number | 搜索相关性分数 |
|   ↳ `repository` | object | 包含代码的仓库 |
|     ↳ `id` | number | 仓库 ID |
|     ↳ `node_id` | string | GraphQL 节点 ID |
|     ↳ `name` | string | 仓库名称 |
|     ↳ `full_name` | string | 全名 \(owner/repo\) |
|     ↳ `private` | boolean | 仓库是否为私有 |
|     ↳ `html_url` | string | GitHub 网页 URL |
|     ↳ `description` | string | 仓库描述 |
|     ↳ `fork` | boolean | 是否为分支仓库 |
|     ↳ `url` | string | API URL |
|     ↳ `owner` | object | 仓库所有者 |
|       ↳ `login` | string | 用户名 |
|       ↳ `id` | number | 用户 ID |
|       ↳ `node_id` | string | GraphQL 节点 ID |
|       ↳ `avatar_url` | string | 头像图片 URL |
|       ↳ `url` | string | API URL |
|       ↳ `html_url` | string | 个人主页 URL |
|       ↳ `type` | string | 用户或组织 |
|       ↳ `site_admin` | boolean | GitHub 工作人员标识 |
|   ↳ `text_matches` | array | 展示上下文的文本匹配 |
|     ↳ `object_url` | string | 对象 URL |
|     ↳ `object_type` | string | 对象类型 |
|     ↳ `property` | string | 匹配的属性 |
|     ↳ `fragment` | string | 包含匹配的文本片段 |
|     ↳ `matches` | array | 匹配索引 |
|       ↳ `text` | string | 匹配文本 |
|       ↳ `indices` | array | 起止索引 |

### `github_search_commits`

在 GitHub 上搜索提交。可使用限定符，如 repo:owner/name、author:user、committer:user、author-date:>2023-01-01

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `q` | string | 是 | 搜索查询，可选限定符 \(repo:, author:, committer:, author-date:, committer-date:, merge:true/false\) |
| `sort` | string | 否 | 排序方式：author-date 或 committer-date \(默认：最佳匹配\) |
| `order` | string | 否 | 排序顺序：asc 或 desc \(默认：desc\) |
| `per_page` | number | 否 | 每页结果数 \(最大 100，默认 30\) |
| `page` | number | 否 | 页码 \(默认 1\) |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `total_count` | number | 匹配结果总数 |
| `incomplete_results` | boolean | 结果是否不完整 |
| `items` | array | GitHub API 返回的提交对象数组 |
|   ↳ `sha` | string | 提交 SHA |
|   ↳ `node_id` | string | GraphQL 节点 ID |
|   ↳ `html_url` | string | 网页 URL |
|   ↳ `url` | string | API URL |
|   ↳ `comments_url` | string | 评论 API URL |
|   ↳ `score` | number | 搜索相关性分数 |
|   ↳ `commit` | object | 核心提交数据 |
|     ↳ `url` | string | 提交 API URL |
|     ↳ `message` | string | 提交信息 |
|     ↳ `comment_count` | number | 评论数量 |
|     ↳ `author` | object | Git 作者 |
|       ↳ `name` | string | 作者姓名 |
|       ↳ `email` | string | 作者邮箱 |
|       ↳ `date` | string | 作者日期 \(ISO 8601\) |
|     ↳ `committer` | object | Git 提交者 |
|       ↳ `name` | string | 提交者姓名 |
|       ↳ `email` | string | 提交者邮箱 |
|       ↳ `date` | string | 提交日期 \(ISO 8601\) |
|     ↳ `tree` | object | 树对象 |
|       ↳ `sha` | string | 树 SHA |
|       ↳ `url` | string | 树 API URL |
|   ↳ `author` | object | GitHub 用户（作者） |
|     ↳ `login` | string | 用户名 |
|     ↳ `id` | number | 用户 ID |
|     ↳ `node_id` | string | GraphQL 节点 ID |
|     ↳ `avatar_url` | string | 头像 URL |
|     ↳ `url` | string | API URL |
|     ↳ `html_url` | string | 个人资料 URL |
|     ↳ `type` | string | 用户或组织 |
|     ↳ `site_admin` | boolean | GitHub 员工标识 |
|   ↳ `committer` | object | GitHub 用户（提交者） |
|     ↳ `login` | string | 用户名 |
|     ↳ `id` | number | 用户 ID |
|     ↳ `node_id` | string | GraphQL 节点 ID |
|     ↳ `avatar_url` | string | 头像 URL |
|     ↳ `url` | string | API URL |
|     ↳ `html_url` | string | 个人资料 URL |
|     ↳ `type` | string | 用户或组织 |
|     ↳ `site_admin` | boolean | GitHub 员工标识 |
|   ↳ `repository` | object | 包含该提交的仓库 |
|     ↳ `id` | number | 仓库 ID |
|     ↳ `node_id` | string | GraphQL 节点 ID |
|     ↳ `name` | string | 仓库名称 |
|     ↳ `full_name` | string | 完整名称（owner/repo） |
|     ↳ `private` | boolean | 仓库是否为私有 |
|     ↳ `html_url` | string | GitHub 网页 URL |
|     ↳ `description` | string | 仓库描述 |
|     ↳ `owner` | object | 仓库所有者 |
|       ↳ `login` | string | 用户名 |
|       ↳ `id` | number | 用户 ID |
|       ↳ `node_id` | string | GraphQL 节点 ID |
|       ↳ `avatar_url` | string | 头像图片 URL |
|       ↳ `url` | string | API URL |
|       ↳ `html_url` | string | 个人主页 URL |
|       ↳ `type` | string | 用户或组织 |
|       ↳ `site_admin` | boolean | GitHub 员工标识 |
|   ↳ `parents` | array | 父提交 |
|     ↳ `sha` | string | 父 SHA |
|     ↳ `url` | string | 父 API URL |
|     ↳ `html_url` | string | 父网页 URL |

### `github_search_issues`

在 GitHub 上搜索 issue 和 pull request。可使用限定符，如 repo:owner/name、is:issue、is:pr、state:open、label:bug、author:user

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `q` | string | 是 | 包含可选限定符的搜索查询 \(repo:, is:issue, is:pr, state:, label:, author:, assignee:\) |
| `sort` | string | 否 | 排序方式：comments、reactions、created、updated、interactions \(默认：best match\) |
| `order` | string | 否 | 排序顺序：asc 或 desc \(默认：desc\) |
| `per_page` | number | 否 | 每页结果数 \(最大 100，默认：30\) |
| `page` | number | 否 | 页码 \(默认：1\) |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `total_count` | number | 匹配结果总数 |
| `incomplete_results` | boolean | 结果是否不完整 |
| `items` | array | GitHub API 返回的 issue/PR 对象数组 |
|   ↳ `id` | number | Issue ID |
|   ↳ `node_id` | string | GraphQL 节点 ID |
|   ↳ `number` | number | Issue 编号 |
|   ↳ `title` | string | 标题 |
|   ↳ `state` | string | 状态（open 或 closed） |
|   ↳ `locked` | boolean | 是否锁定 issue |
|   ↳ `html_url` | string | 网页 URL |
|   ↳ `url` | string | API URL |
|   ↳ `repository_url` | string | 所属仓库 API URL |
|   ↳ `comments_url` | string | 评论 API URL |
|   ↳ `body` | string | 正文内容 |
|   ↳ `comments` | number | 评论数 |
|   ↳ `score` | number | 搜索相关性分数 |
|   ↳ `created_at` | string | 创建时间戳 |
|   ↳ `updated_at` | string | 最后更新时间戳 |
|   ↳ `closed_at` | string | 关闭时间戳 |
|   ↳ `user` | object | Issue 作者 |
|     ↳ `login` | string | 用户名 |
|     ↳ `id` | number | 用户 ID |
|     ↳ `node_id` | string | GraphQL 节点 ID |
|     ↳ `avatar_url` | string | 头像图片 URL |
|     ↳ `url` | string | API URL |
|     ↳ `html_url` | string | 个人主页 URL |
|     ↳ `type` | string | 用户或组织 |
|     ↳ `site_admin` | boolean | GitHub 工作人员标识 |
|   ↳ `labels` | array | Issue 标签 |
|     ↳ `id` | number | 标签 ID |
|     ↳ `node_id` | string | GraphQL 节点 ID |
|     ↳ `url` | string | API URL |
|     ↳ `name` | string | 标签名称 |
|     ↳ `description` | string | 标签描述 |
|     ↳ `color` | string | 十六进制颜色代码 |
|     ↳ `default` | boolean | 是否为默认标签 |
|   ↳ `assignee` | object | 主要负责人 |
|     ↳ `login` | string | 用户名 |
|     ↳ `id` | number | 用户 ID |
|     ↳ `node_id` | string | GraphQL 节点 ID |
|     ↳ `avatar_url` | string | 头像图片 URL |
|     ↳ `url` | string | API URL |
|     ↳ `html_url` | string | 个人主页 URL |
|     ↳ `type` | string | 用户或组织 |
|     ↳ `site_admin` | boolean | GitHub 工作人员标识 |
|   ↳ `assignees` | array | 所有负责人 |
|     ↳ `login` | string | 用户名 |
|     ↳ `id` | number | 用户 ID |
|     ↳ `node_id` | string | GraphQL 节点 ID |
|     ↳ `avatar_url` | string | 头像图片 URL |
|     ↳ `url` | string | API URL |
|     ↳ `html_url` | string | 个人主页 URL |
|     ↳ `type` | string | 用户或组织 |
|     ↳ `site_admin` | boolean | GitHub 工作人员标识 |
|   ↳ `milestone` | object | 关联的里程碑 |
|     ↳ `id` | number | 里程碑 ID |
|     ↳ `node_id` | string | GraphQL 节点 ID |
|     ↳ `number` | number | 里程碑编号 |
|     ↳ `title` | string | 里程碑标题 |
|     ↳ `description` | string | 里程碑描述 |
|     ↳ `state` | string | 状态（open 或 closed） |
|     ↳ `html_url` | string | 网页 URL |
|     ↳ `due_on` | string | 截止日期 |
|   ↳ `pull_request` | object | Pull request 详情（如为 PR） |
|     ↳ `url` | string | API URL |
|     ↳ `html_url` | string | 网页 URL |
|     ↳ `diff_url` | string | Diff URL |
|     ↳ `patch_url` | string | Patch URL |

### `github_search_repos`

在 GitHub 上搜索仓库。可使用限定符，如 language:python、stars:>1000、topic:react、user:owner、org:name

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `q` | string | 是 | 带有可选限定符的搜索查询 \(language:, stars:, forks:, topic:, user:, org:, in:name,description,readme\) |
| `sort` | string | 否 | 排序方式：stars、forks、help-wanted-issues、updated \(默认：best match\) |
| `order` | string | 否 | 排序顺序：asc 或 desc \(默认：desc\) |
| `per_page` | number | 否 | 每页结果数 \(最大 100，默认：30\) |
| `page` | number | 否 | 页码 \(默认：1\) |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `total_count` | number | 匹配结果总数 |
| `incomplete_results` | boolean | 结果是否不完整 |
| `items` | array | GitHub API 返回的仓库对象数组 |
|   ↳ `id` | number | 仓库 ID |
|   ↳ `node_id` | string | GraphQL 节点 ID |
|   ↳ `name` | string | 仓库名称 |
|   ↳ `full_name` | string | 全名（owner/repo） |
|   ↳ `private` | boolean | 仓库是否为私有 |
|   ↳ `description` | string | 仓库描述 |
|   ↳ `html_url` | string | GitHub 网页 URL |
|   ↳ `url` | string | API URL |
|   ↳ `fork` | boolean | 是否为 fork 仓库 |
|   ↳ `created_at` | string | 创建时间戳 |
|   ↳ `updated_at` | string | 最后更新时间戳 |
|   ↳ `pushed_at` | string | 最后推送时间戳 |
|   ↳ `size` | number | 仓库大小（KB） |
|   ↳ `stargazers_count` | number | star 数量 |
|   ↳ `watchers_count` | number | 关注者数量 |
|   ↳ `forks_count` | number | fork 数量 |
|   ↳ `open_issues_count` | number | 未关闭 issue 数量 |
|   ↳ `language` | string | 主要编程语言 |
|   ↳ `default_branch` | string | 默认分支名称 |
|   ↳ `visibility` | string | 仓库可见性 |
|   ↳ `archived` | boolean | 仓库是否已归档 |
|   ↳ `disabled` | boolean | 仓库是否已禁用 |
|   ↳ `score` | number | 搜索相关性分数 |
|   ↳ `topics` | array | 仓库主题 |
|   ↳ `license` | object | 许可证信息 |
|     ↳ `key` | string | 许可证 key（如 mit） |
|     ↳ `name` | string | 许可证名称 |
|     ↳ `spdx_id` | string | SPDX 标识符 |
|   ↳ `owner` | object | 仓库所有者 |
|     ↳ `login` | string | GitHub 用户名 |
|     ↳ `id` | number | 用户 ID |
|     ↳ `node_id` | string | GraphQL 节点 ID |
|     ↳ `avatar_url` | string | 头像图片 URL |
|     ↳ `url` | string | API URL |
|     ↳ `html_url` | string | 个人主页 URL |
|     ↳ `type` | string | 用户或组织 |
|     ↳ `site_admin` | boolean | GitHub 工作人员标识 |

### `github_search_users`

在 GitHub 上搜索用户和组织。可使用限定符，如 type:user、type:org、followers:>1000、repos:>10、location:city

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `q` | string | 是 | 带有可选限定符的搜索查询 \(type:user/org，followers:，repos:，location:，language:，created:\) |
| `sort` | string | 否 | 排序方式：followers、repositories、joined \(默认：best match\) |
| `order` | string | 否 | 排序顺序：asc 或 desc \(默认：desc\) |
| `per_page` | number | 否 | 每页结果数 \(最大 100，默认：30\) |
| `page` | number | 否 | 页码 \(默认：1\) |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `total_count` | number | 匹配结果总数 |
| `incomplete_results` | boolean | 结果是否不完整 |
| `items` | array | GitHub API 返回的用户对象数组 |
|   ↳ `id` | number | 用户 ID |
|   ↳ `node_id` | string | GraphQL 节点 ID |
|   ↳ `login` | string | 用户名 |
|   ↳ `avatar_url` | string | 头像图片 URL |
|   ↳ `gravatar_id` | string | Gravatar ID |
|   ↳ `url` | string | API URL |
|   ↳ `html_url` | string | 个人资料页 URL |
|   ↳ `followers_url` | string | 粉丝 API URL |
|   ↳ `following_url` | string | 关注 API URL |
|   ↳ `gists_url` | string | Gists API URL |
|   ↳ `starred_url` | string | Starred API URL |
|   ↳ `repos_url` | string | 仓库 API URL |
|   ↳ `organizations_url` | string | 组织 API URL |
|   ↳ `type` | string | 用户或组织 |
|   ↳ `site_admin` | boolean | GitHub 员工标识 |
|   ↳ `score` | number | 搜索相关性得分 |

### `github_list_commits`

在仓库中列出提交记录，可选按 SHA、路径、作者、提交者或日期范围进行筛选

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `sha` | string | 否 | 开始列出提交的 SHA 或分支 |
| `path` | string | 否 | 仅包含此文件路径的提交 |
| `author` | string | 否 | 按作者的 GitHub 登录名或邮箱筛选 |
| `committer` | string | 否 | 按提交者的 GitHub 登录名或邮箱筛选 |
| `since` | string | 否 | 仅显示此日期（ISO 8601 格式）之后的提交 |
| `until` | string | 否 | 仅显示此日期（ISO 8601 格式）之前的提交 |
| `per_page` | number | 否 | 每页结果数（最大 100，默认：30） |
| `page` | number | 否 | 页码（默认：1） |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `items` | array | GitHub API 返回的提交对象数组 |
|   ↳ `commit` | object | 核心提交数据 |
|     ↳ `url` | string | 提交 API URL |
|     ↳ `message` | string | 提交信息 |
|     ↳ `comment_count` | number | 评论数 |
|     ↳ `author` | object | Git 行为者（作者/提交者） |
|       ↳ `name` | string | 姓名 |
|       ↳ `email` | string | 邮箱地址 |
|       ↳ `date` | string | 时间戳（ISO 8601） |
|     ↳ `committer` | object | Git 行为者（作者/提交者） |
|       ↳ `name` | string | 姓名 |
|       ↳ `email` | string | 邮箱地址 |
|       ↳ `date` | string | 时间戳（ISO 8601） |
|     ↳ `tree` | object | 树对象 |
|       ↳ `sha` | string | 树 SHA |
|       ↳ `url` | string | 树 API URL |
|     ↳ `verification` | object | 签名验证 |
|       ↳ `verified` | boolean | 签名是否已验证 |
|       ↳ `reason` | string | 验证原因 |
|       ↳ `signature` | string | GPG 签名 |
|       ↳ `payload` | string | 已签名内容 |
|   ↳ `author` | object | GitHub 用户对象 |
|     ↳ `login` | string | GitHub 用户名 |
|     ↳ `id` | number | 用户 ID |
|     ↳ `node_id` | string | GraphQL 节点 ID |
|     ↳ `avatar_url` | string | 头像图片 URL |
|     ↳ `url` | string | API URL |
|     ↳ `html_url` | string | 个人主页 URL |
|     ↳ `type` | string | 用户或组织 |
|     ↳ `site_admin` | boolean | GitHub 员工标识 |
|   ↳ `committer` | object | GitHub 用户对象 |
|     ↳ `login` | string | GitHub 用户名 |
|     ↳ `id` | number | 用户 ID |
|     ↳ `node_id` | string | GraphQL 节点 ID |
|     ↳ `avatar_url` | string | 头像图片 URL |
|     ↳ `url` | string | API URL |
|     ↳ `html_url` | string | 个人主页 URL |
|     ↳ `type` | string | 用户或组织 |
|     ↳ `site_admin` | boolean | GitHub 员工标识 |
|   ↳ `sha` | string | 提交 SHA |
|   ↳ `node_id` | string | GraphQL 节点 ID |
|   ↳ `html_url` | string | GitHub 网页 URL |
|   ↳ `url` | string | API URL |
|   ↳ `comments_url` | string | 评论 API URL |
|   ↳ `parents` | array | 父提交 |
|     ↳ `sha` | string | 父 SHA |
|     ↳ `url` | string | 父 API URL |
|     ↳ `html_url` | string | 父网页 URL |
| `count` | number | 返回的提交数量 |

### `github_get_commit`

获取关于特定提交的详细信息，包括更改的文件和统计数据

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `ref` | string | 是 | 提交 SHA、分支名或标签名 |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `commit` | object | 核心提交数据 |
|   ↳ `url` | string | 提交 API URL |
|   ↳ `message` | string | 提交信息 |
|   ↳ `comment_count` | number | 评论数量 |
|   ↳ `author` | object | Git 行为者（作者/提交者） |
|     ↳ `name` | string | 姓名 |
|     ↳ `email` | string | 邮箱地址 |
|     ↳ `date` | string | 时间戳（ISO 8601） |
|   ↳ `committer` | object | Git 行为者（作者/提交者） |
|     ↳ `name` | string | 姓名 |
|     ↳ `email` | string | 邮箱地址 |
|     ↳ `date` | string | 时间戳（ISO 8601） |
|   ↳ `tree` | object | 树对象 |
|     ↳ `sha` | string | 树 SHA |
|     ↳ `url` | string | 树 API URL |
|   ↳ `verification` | object | 签名验证 |
|     ↳ `verified` | boolean | 签名是否已验证 |
|     ↳ `reason` | string | 验证原因 |
|     ↳ `signature` | string | GPG 签名 |
|     ↳ `payload` | string | 已签名内容 |
| `author` | object | GitHub 用户对象 |
|   ↳ `login` | string | GitHub 用户名 |
|   ↳ `id` | number | 用户 ID |
|   ↳ `node_id` | string | GraphQL 节点 ID |
|   ↳ `avatar_url` | string | 头像图片 URL |
|   ↳ `url` | string | API URL |
|   ↳ `html_url` | string | 个人主页 URL |
|   ↳ `type` | string | 用户或组织 |
|   ↳ `site_admin` | boolean | GitHub 员工标识 |
| `committer` | object | GitHub 用户对象 |
|   ↳ `login` | string | GitHub 用户名 |
|   ↳ `id` | number | 用户 ID |
|   ↳ `node_id` | string | GraphQL 节点 ID |
|   ↳ `avatar_url` | string | 头像图片 URL |
|   ↳ `url` | string | API URL |
|   ↳ `html_url` | string | 个人主页 URL |
|   ↳ `type` | string | 用户或组织 |
|   ↳ `site_admin` | boolean | GitHub 员工标识 |
| `stats` | object | 变更统计 |
|   ↳ `additions` | number | 新增行数 |
|   ↳ `deletions` | number | 删除行数 |
|   ↳ `total` | number | 总变更数 |
| `sha` | string | 提交 SHA |
| `node_id` | string | GraphQL 节点 ID |
| `html_url` | string | GitHub 网页 URL |
| `url` | string | API URL |
| `comments_url` | string | 评论 API URL |
| `files` | array | 更改的文件（差异项） |
|   ↳ `sha` | string | Blob SHA |
|   ↳ `filename` | string | 文件路径 |
|   ↳ `status` | string | 变更状态（added、removed、modified、renamed、copied、changed、unchanged） |
|   ↳ `additions` | number | 新增行数 |
|   ↳ `deletions` | number | 删除行数 |
|   ↳ `changes` | number | 总变更数 |
|   ↳ `blob_url` | string | Blob URL |
|   ↳ `raw_url` | string | 原始文件 URL |
|   ↳ `contents_url` | string | 内容 API URL |
|   ↳ `patch` | string | 差异补丁 |
|   ↳ `previous_filename` | string | 之前的文件名（重命名时） |
| `parents` | array | 父提交 |
|   ↳ `sha` | string | 父 SHA |
|   ↳ `url` | string | 父 API URL |
|   ↳ `html_url` | string | 父网页 URL |

### `github_compare_commits`

比较两个提交或分支，以查看差异、它们之间的提交以及更改的文件

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `base` | string | 是 | 用于比较的基准分支/tag/SHA |
| `head` | string | 是 | 用于比较的目标分支/tag/SHA |
| `per_page` | number | 否 | 文件每页结果数 \(最大 100，默认 30\) |
| `page` | number | 否 | 文件页码 \(默认 1\) |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `url` | string | API URL |
| `html_url` | string | GitHub 网页 URL |
| `permalink_url` | string | 永久链接 URL |
| `diff_url` | string | 差异下载 URL |
| `patch_url` | string | 补丁下载 URL |
| `status` | string | 比较状态（ahead，behind，identical，diverged） |
| `ahead_by` | number | head 比 base 超前的提交数 |
| `behind_by` | number | head 比 base 落后的提交数 |
| `total_commits` | number | 比较中的总提交数 |
| `base_commit` | object | 基准提交对象 |
|   ↳ `commit` | object | 核心提交数据 |
|     ↳ `url` | string | 提交 API URL |
|     ↳ `message` | string | 提交信息 |
|     ↳ `comment_count` | number | 评论数 |
|     ↳ `author` | object | Git 行为者（作者/提交者） |
|       ↳ `name` | string | 姓名 |
|       ↳ `email` | string | 邮箱地址 |
|       ↳ `date` | string | 时间戳（ISO 8601） |
|     ↳ `committer` | object | Git 行为者（作者/提交者） |
|       ↳ `name` | string | 姓名 |
|       ↳ `email` | string | 邮箱地址 |
|       ↳ `date` | string | 时间戳（ISO 8601） |
|     ↳ `tree` | object | 树对象 |
|       ↳ `sha` | string | 树 SHA |
|       ↳ `url` | string | 树 API URL |
|     ↳ `verification` | object | 签名验证 |
|       ↳ `verified` | boolean | 签名是否已验证 |
|       ↳ `reason` | string | 验证原因 |
|       ↳ `signature` | string | GPG 签名 |
|       ↳ `payload` | string | 已签名内容 |
|   ↳ `author` | object | GitHub 用户对象 |
|     ↳ `login` | string | GitHub 用户名 |
|     ↳ `id` | number | 用户 ID |
|     ↳ `node_id` | string | GraphQL 节点 ID |
|     ↳ `avatar_url` | string | 头像图片 URL |
|     ↳ `url` | string | API URL |
|     ↳ `html_url` | string | 个人主页 URL |
|     ↳ `type` | string | 用户或组织 |
|     ↳ `site_admin` | boolean | GitHub 员工标识 |
|   ↳ `committer` | object | GitHub 用户对象 |
|     ↳ `login` | string | GitHub 用户名 |
|     ↳ `id` | number | 用户 ID |
|     ↳ `node_id` | string | GraphQL 节点 ID |
|     ↳ `avatar_url` | string | 头像图片 URL |
|     ↳ `url` | string | API URL |
|     ↳ `html_url` | string | 个人主页 URL |
|     ↳ `type` | string | 用户或组织 |
|     ↳ `site_admin` | boolean | GitHub 员工标识 |
|   ↳ `sha` | string | 提交 SHA |
|   ↳ `html_url` | string | 网页 URL |
| `merge_base_commit` | object | 合并基准提交对象 |
|   ↳ `sha` | string | 提交 SHA |
|   ↳ `html_url` | string | 网页 URL |
| `commits` | array | base 和 head 之间的提交 |
|   ↳ `commit` | object | 核心提交数据 |
|     ↳ `url` | string | 提交 API URL |
|     ↳ `message` | string | 提交信息 |
|     ↳ `comment_count` | number | 评论数 |
|     ↳ `author` | object | Git 行为者（作者/提交者） |
|       ↳ `name` | string | 姓名 |
|       ↳ `email` | string | 邮箱地址 |
|       ↳ `date` | string | 时间戳（ISO 8601） |
|     ↳ `committer` | object | Git 行为者（作者/提交者） |
|       ↳ `name` | string | 姓名 |
|       ↳ `email` | string | 邮箱地址 |
|       ↳ `date` | string | 时间戳（ISO 8601） |
|     ↳ `tree` | object | 树对象 |
|       ↳ `sha` | string | 树 SHA |
|       ↳ `url` | string | 树 API URL |
|     ↳ `verification` | object | 签名验证 |
|       ↳ `verified` | boolean | 签名是否已验证 |
|       ↳ `reason` | string | 验证原因 |
|       ↳ `signature` | string | GPG 签名 |
|       ↳ `payload` | string | 已签名内容 |
|   ↳ `author` | object | GitHub 用户对象 |
|     ↳ `login` | string | GitHub 用户名 |
|     ↳ `id` | number | 用户 ID |
|     ↳ `node_id` | string | GraphQL 节点 ID |
|     ↳ `avatar_url` | string | 头像图片 URL |
|     ↳ `url` | string | API URL |
|     ↳ `html_url` | string | 个人主页 URL |
|     ↳ `type` | string | 用户或组织 |
|     ↳ `site_admin` | boolean | GitHub 员工标识 |
|   ↳ `committer` | object | GitHub 用户对象 |
|     ↳ `login` | string | GitHub 用户名 |
|     ↳ `id` | number | 用户 ID |
|     ↳ `node_id` | string | GraphQL 节点 ID |
|     ↳ `avatar_url` | string | 头像图片 URL |
|     ↳ `url` | string | API URL |
|     ↳ `html_url` | string | 个人主页 URL |
|     ↳ `type` | string | 用户或组织 |
|     ↳ `site_admin` | boolean | GitHub 员工标识 |
|   ↳ `sha` | string | 提交 SHA |
|   ↳ `html_url` | string | 网页 URL |
| `files` | array | 更改的文件（差异项） |
|   ↳ `sha` | string | Blob SHA |
|   ↳ `filename` | string | 文件路径 |
|   ↳ `status` | string | 更改状态（added、removed、modified、renamed、copied、changed、unchanged） |
|   ↳ `additions` | number | 添加的行数 |
|   ↳ `deletions` | number | 删除的行数 |
|   ↳ `changes` | number | 总更改数 |
|   ↳ `blob_url` | string | Blob URL |
|   ↳ `raw_url` | string | 原始文件 URL |
|   ↳ `contents_url` | string | 内容 API URL |
|   ↳ `patch` | string | 差异补丁 |
|   ↳ `previous_filename` | string | 之前的文件名（用于重命名） |

### `github_create_gist`

创建一个包含一个或多个文件的新 gist

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `description` | string | 否 | gist 的描述 |
| `files` | json | 是 | 以文件名为键、内容为值的 JSON 对象。例如：\{"file.txt": \{"content": "Hello"\}\} |
| `public` | boolean | 否 | gist 是否为公开（默认：false） |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `id` | string | gist ID |
| `node_id` | string | GraphQL 节点 ID |
| `url` | string | API URL |
| `html_url` | string | 网页 URL |
| `forks_url` | string | Forks API URL |
| `commits_url` | string | Commits API URL |
| `git_pull_url` | string | Git pull URL |
| `git_push_url` | string | Git push URL |
| `description` | string | gist 描述 |
| `public` | boolean | gist 是否为公开 |
| `truncated` | boolean | 文件是否被截断 |
| `comments` | number | 评论数 |
| `comments_url` | string | 评论 API URL |
| `created_at` | string | 创建时间戳 |
| `updated_at` | string | 最后更新时间戳 |
| `files` | object | gist 中的文件（以文件名为键的对象，每个包含文件名、类型、语言、raw_url、大小、truncated、content） |
| `owner` | object | gist 所有者 |
|   ↳ `login` | string | 用户名 |
|   ↳ `id` | number | 用户 ID |
|   ↳ `node_id` | string | GraphQL 节点 ID |
|   ↳ `avatar_url` | string | 头像图片 URL |
|   ↳ `url` | string | API URL |
|   ↳ `html_url` | string | 个人资料页 URL |
|   ↳ `type` | string | 用户或组织 |
|   ↳ `site_admin` | boolean | GitHub 员工标识 |

### `github_get_gist`

根据 ID 获取 gist，包括其文件内容

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `gist_id` | string | 是 | gist ID |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `files` | object | gist 中的文件（以文件名为键） |
|   ↳ `filename` | string | 文件名 |
|   ↳ `type` | string | MIME 类型 |
|   ↳ `language` | string | 编程语言 |
|   ↳ `raw_url` | string | 原始文件 URL |
|   ↳ `size` | number | 文件大小（字节） |
|   ↳ `truncated` | boolean | 内容是否被截断 |
|   ↳ `content` | string | 文件内容 |
| `owner` | object | gist 所有者 |
|   ↳ `login` | string | 用户名 |
|   ↳ `id` | number | 用户 ID |
|   ↳ `node_id` | string | GraphQL 节点 ID |
|   ↳ `avatar_url` | string | 头像图片 URL |
|   ↳ `url` | string | API URL |
|   ↳ `html_url` | string | 个人资料页 URL |
|   ↳ `type` | string | 用户或组织 |
|   ↳ `site_admin` | boolean | GitHub 员工标识 |
| `id` | string | gist ID |
| `node_id` | string | GraphQL 节点 ID |
| `url` | string | API URL |
| `html_url` | string | GitHub 网页 URL |
| `forks_url` | string | 派生 API URL |
| `commits_url` | string | 提交 API URL |
| `git_pull_url` | string | Git 克隆 URL |
| `git_push_url` | string | Git 推送 URL |
| `description` | string | gist 描述 |
| `public` | boolean | gist 是否公开 |
| `truncated` | boolean | 内容是否被截断 |
| `comments` | number | 评论数 |
| `comments_url` | string | 评论 API URL |
| `created_at` | string | 创建时间戳 |
| `updated_at` | string | 最后更新时间戳 |

### `github_list_gists`

列出某个用户或已认证用户的 gist

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `username` | string | 否 | GitHub 用户名（如为已认证用户的 gist 可省略） |
| `since` | string | 否 | 仅显示此时间（ISO 8601）后更新的 gist |
| `per_page` | number | 否 | 每页结果数（最大 100，默认：30） |
| `page` | number | 否 | 页码（默认：1） |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `items` | array | GitHub API 返回的 gist 对象数组 |
|   ↳ `files` | object | gist 中的文件（以文件名为键） |
|     ↳ `filename` | string | 文件名 |
|     ↳ `type` | string | MIME 类型 |
|     ↳ `language` | string | 编程语言 |
|     ↳ `raw_url` | string | 原始文件 URL |
|     ↳ `size` | number | 文件大小（字节） |
|     ↳ `truncated` | boolean | 内容是否被截断 |
|     ↳ `content` | string | 文件内容 |
|   ↳ `owner` | object | gist 所有者 |
|     ↳ `login` | string | 用户名 |
|     ↳ `id` | number | 用户 ID |
|     ↳ `node_id` | string | GraphQL 节点 ID |
|     ↳ `avatar_url` | string | 头像图片 URL |
|     ↳ `url` | string | API URL |
|     ↳ `html_url` | string | 个人资料页 URL |
|     ↳ `type` | string | 用户或组织 |
|     ↳ `site_admin` | boolean | GitHub 员工标识 |
|   ↳ `id` | string | gist ID |
|   ↳ `node_id` | string | GraphQL 节点 ID |
|   ↳ `url` | string | API URL |
|   ↳ `html_url` | string | GitHub 网页 URL |
|   ↳ `forks_url` | string | Forks API URL |
|   ↳ `commits_url` | string | Commits API URL |
|   ↳ `git_pull_url` | string | Git 克隆 URL |
|   ↳ `git_push_url` | string | Git 推送 URL |
|   ↳ `description` | string | gist 描述 |
|   ↳ `public` | boolean | gist 是否公开 |
|   ↳ `truncated` | boolean | 内容是否被截断 |
|   ↳ `comments` | number | 评论数 |
|   ↳ `comments_url` | string | 评论 API URL |
|   ↳ `created_at` | string | 创建时间戳 |
|   ↳ `updated_at` | string | 最后更新时间戳 |
| `count` | number | 返回的 gist 数量 |

### `github_update_gist`

更新 gist 描述或文件。要删除文件，请在 files 对象中将其值设为 null

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `gist_id` | string | 是 | 要更新的 gist ID |
| `description` | string | 否 | gist 的新描述 |
| `files` | json | 否 | 以文件名为键的 JSON 对象。设为 null 可删除，或提供内容以更新/添加 |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `id` | string | gist ID |
| `node_id` | string | GraphQL 节点 ID |
| `url` | string | API URL |
| `html_url` | string | 网页 URL |
| `forks_url` | string | Forks API URL |
| `commits_url` | string | Commits API URL |
| `git_pull_url` | string | Git pull URL |
| `git_push_url` | string | Git push URL |
| `description` | string | gist 描述 |
| `public` | boolean | gist 是否为公开 |
| `truncated` | boolean | 文件是否被截断 |
| `comments` | number | 评论数 |
| `comments_url` | string | 评论 API URL |
| `created_at` | string | 创建时间戳 |
| `updated_at` | string | 最后更新时间戳 |
| `files` | object | gist 中的文件（以文件名为键的对象，每个包含文件名、类型、语言、raw_url、大小、是否截断、内容） |
| `owner` | object | gist 所有者 |
|   ↳ `login` | string | 用户名 |
|   ↳ `id` | number | 用户 ID |
|   ↳ `node_id` | string | GraphQL 节点 ID |
|   ↳ `avatar_url` | string | 头像图片 URL |
|   ↳ `url` | string | API URL |
|   ↳ `html_url` | string | 个人资料页 URL |
|   ↳ `type` | string | 用户或组织 |
|   ↳ `site_admin` | boolean | GitHub 员工标识 |

### `github_delete_gist`

根据 ID 删除 Gist

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `gist_id` | string | 是 | 要删除的 Gist ID |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `deleted` | boolean | 删除是否成功 |
| `gist_id` | string | 已删除的 Gist ID |

### `github_fork_gist`

派生 Gist 以创建你自己的副本

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `gist_id` | string | 是 | 要派生的 Gist ID |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `id` | string | 新的 Gist ID |
| `html_url` | string | 网页 URL |
| `description` | string | 描述 |
| `public` | boolean | 是否公开 |
| `created_at` | string | 创建日期 |
| `owner` | object | 所有者信息 |
| `files` | object | 文件 |

### `github_star_gist`

为 Gist 加星标

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `gist_id` | string | 是 | 要加星标的 Gist ID |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `starred` | boolean | 是否加星成功 |
| `gist_id` | string | Gist ID |

### `github_unstar_gist`

取消为 gist 加星

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `gist_id` | string | 是 | 要取消加星的 gist ID |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `unstarred` | boolean | 是否取消加星成功 |
| `gist_id` | string | Gist ID |

### `github_fork_repo`

将仓库 Fork 到你的账户或组织

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 要 fork 的仓库所有者 |
| `repo` | string | 是 | 要 fork 的仓库名称 |
| `organization` | string | 否 | 要 fork 到的组织（省略则 fork 到你的账户） |
| `name` | string | 否 | fork 后仓库的自定义名称 |
| `default_branch_only` | boolean | 否 | 仅 fork 默认分支（默认值：false） |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `id` | number | 仓库 ID |
| `node_id` | string | GraphQL 节点 ID |
| `name` | string | 仓库名称 |
| `full_name` | string | 完整名称（所有者/仓库） |
| `private` | boolean | 仓库是否为私有 |
| `description` | string | 仓库描述 |
| `html_url` | string | GitHub 网页 URL |
| `url` | string | API URL |
| `clone_url` | string | HTTPS 克隆 URL |
| `ssh_url` | string | SSH 克隆 URL |
| `git_url` | string | Git 协议 URL |
| `default_branch` | string | 默认分支名称 |
| `fork` | boolean | 是否为 fork |
| `created_at` | string | 创建时间戳 |
| `updated_at` | string | 最后更新时间戳 |
| `pushed_at` | string | 最后推送时间戳 |
| `owner` | object | fork 所有者 |
|   ↳ `login` | string | GitHub 用户名 |
|   ↳ `id` | number | 用户 ID |
|   ↳ `node_id` | string | GraphQL 节点 ID |
|   ↳ `avatar_url` | string | 头像图片 URL |
|   ↳ `url` | string | API URL |
|   ↳ `html_url` | string | 个人主页 URL |
|   ↳ `type` | string | 用户或组织 |
|   ↳ `site_admin` | boolean | GitHub 员工标识 |
| `parent` | object | 父仓库（fork 来源） |
|   ↳ `login` | string | 用户名 |
|   ↳ `id` | number | 用户 ID |
| `source` | object | 源仓库（最终来源） |
|   ↳ `id` | number | 仓库 ID |
|   ↳ `full_name` | string | 完整名称 |
|   ↳ `html_url` | string | 网页 URL |

### `github_list_forks`

列出仓库的 fork

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `sort` | string | 否 | 排序方式：newest、oldest、stargazers、watchers（默认：newest） |
| `per_page` | number | 否 | 每页结果数（最大 100，默认 30） |
| `page` | number | 否 | 页码（默认 1） |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `items` | array | GitHub API 返回的 fork 仓库对象数组 |
|   ↳ `id` | number | 仓库 ID |
|   ↳ `node_id` | string | GraphQL 节点 ID |
|   ↳ `name` | string | 仓库名称 |
|   ↳ `full_name` | string | 完整名称（owner/repo） |
|   ↳ `private` | boolean | 仓库是否为私有 |
|   ↳ `description` | string | 仓库描述 |
|   ↳ `html_url` | string | GitHub 网页 URL |
|   ↳ `url` | string | API URL |
|   ↳ `fork` | boolean | 是否为 fork |
|   ↳ `created_at` | string | 创建时间戳 |
|   ↳ `updated_at` | string | 最后更新时间戳 |
|   ↳ `pushed_at` | string | 最后推送时间戳 |
|   ↳ `size` | number | 仓库大小（KB） |
|   ↳ `stargazers_count` | number | star 数量 |
|   ↳ `watchers_count` | number | 关注者数量 |
|   ↳ `forks_count` | number | fork 数量 |
|   ↳ `open_issues_count` | number | 未关闭 issue 数量 |
|   ↳ `language` | string | 主要编程语言 |
|   ↳ `default_branch` | string | 默认分支名称 |
|   ↳ `visibility` | string | 仓库可见性 |
|   ↳ `archived` | boolean | 仓库是否已归档 |
|   ↳ `disabled` | boolean | 仓库是否已禁用 |
|   ↳ `owner` | object | fork 所有者 |
|     ↳ `login` | string | GitHub 用户名 |
|     ↳ `id` | number | 用户 ID |
|     ↳ `node_id` | string | GraphQL 节点 ID |
|     ↳ `avatar_url` | string | 头像图片 URL |
|     ↳ `url` | string | API URL |
|     ↳ `html_url` | string | 个人主页 URL |
|     ↳ `type` | string | 用户或组织 |
|     ↳ `site_admin` | boolean | GitHub 员工标识 |
| `count` | number | 返回的 fork 数量 |

### `github_create_milestone`

在仓库中创建一个里程碑

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `title` | string | 是 | 里程碑标题 |
| `state` | string | 否 | 状态：open 或 closed（默认：open） |
| `description` | string | 否 | 里程碑描述 |
| `due_on` | string | 否 | 截止日期（ ISO 8601 格式，例如：2024-12-31T23:59:59Z） |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `creator` | object | 里程碑创建者 |
|   ↳ `login` | string | 用户名 |
|   ↳ `id` | number | 用户 ID |
|   ↳ `node_id` | string | GraphQL 节点 ID |
|   ↳ `avatar_url` | string | 头像图片 URL |
|   ↳ `url` | string | API URL |
|   ↳ `html_url` | string | 个人主页 URL |
|   ↳ `type` | string | 用户或组织 |
|   ↳ `site_admin` | boolean | GitHub 员工标识 |
| `id` | number | 里程碑 ID |
| `node_id` | string | GraphQL 节点 ID |
| `number` | number | 里程碑编号 |
| `title` | string | 里程碑标题 |
| `description` | string | 里程碑描述 |
| `state` | string | 状态（open 或 closed） |
| `url` | string | API URL |
| `html_url` | string | GitHub 网页 URL |
| `labels_url` | string | 标签 API URL |
| `due_on` | string | 截止日期（ ISO 8601 ） |
| `open_issues` | number | 未关闭问题数 |
| `closed_issues` | number | 已关闭问题数 |
| `created_at` | string | 创建时间戳 |
| `updated_at` | string | 最后更新时间戳 |
| `closed_at` | string | 关闭时间戳 |

### `github_get_milestone`

根据编号获取指定的里程碑

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `milestone_number` | number | 是 | 里程碑编号 |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `creator` | object | 里程碑创建者 |
|   ↳ `login` | string | 用户名 |
|   ↳ `id` | number | 用户 ID |
|   ↳ `node_id` | string | GraphQL 节点 ID |
|   ↳ `avatar_url` | string | 头像图片 URL |
|   ↳ `url` | string | API URL |
|   ↳ `html_url` | string | 个人主页 URL |
|   ↳ `type` | string | 用户或组织 |
|   ↳ `site_admin` | boolean | GitHub 员工标识 |
| `id` | number | 里程碑 ID |
| `node_id` | string | GraphQL 节点 ID |
| `number` | number | 里程碑编号 |
| `title` | string | 里程碑标题 |
| `description` | string | 里程碑描述 |
| `state` | string | 状态（open 或 closed） |
| `url` | string | API URL |
| `html_url` | string | GitHub 网页 URL |
| `labels_url` | string | 标签 API URL |
| `due_on` | string | 截止日期（ISO 8601） |
| `open_issues` | number | 未关闭问题数 |
| `closed_issues` | number | 已关闭问题数 |
| `created_at` | string | 创建时间戳 |
| `updated_at` | string | 最后更新时间戳 |
| `closed_at` | string | 关闭时间戳 |

### `github_list_milestones`

列出仓库中的里程碑

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `state` | string | 否 | 按状态筛选：open、closed、all（默认：open） |
| `sort` | string | 否 | 排序方式：due_on 或 completeness（默认：due_on） |
| `direction` | string | 否 | 排序方向：asc 或 desc（默认：asc） |
| `per_page` | number | 否 | 每页结果数（最大 100，默认：30） |
| `page` | number | 否 | 页码（默认：1） |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `items` | array | 来自 GitHub API 的里程碑对象数组 |
|   ↳ `creator` | object | 里程碑创建者 |
|     ↳ `login` | string | 用户名 |
|     ↳ `id` | number | 用户 ID |
|     ↳ `node_id` | string | GraphQL 节点 ID |
|     ↳ `avatar_url` | string | 头像图片 URL |
|     ↳ `url` | string | API URL |
|     ↳ `html_url` | string | 个人资料页 URL |
|     ↳ `type` | string | 用户或组织 |
|     ↳ `site_admin` | boolean | GitHub 工作人员标识 |
|   ↳ `id` | number | 里程碑 ID |
|   ↳ `node_id` | string | GraphQL 节点 ID |
|   ↳ `number` | number | 里程碑编号 |
|   ↳ `title` | string | 里程碑标题 |
|   ↳ `description` | string | 里程碑描述 |
|   ↳ `state` | string | 状态（open 或 closed） |
|   ↳ `url` | string | API URL |
|   ↳ `html_url` | string | GitHub 网页 URL |
|   ↳ `labels_url` | string | 标签 API URL |
|   ↳ `due_on` | string | 截止日期（ISO 8601） |
|   ↳ `open_issues` | number | 未关闭问题数 |
|   ↳ `closed_issues` | number | 已关闭问题数 |
|   ↳ `created_at` | string | 创建时间戳 |
|   ↳ `updated_at` | string | 最后更新时间戳 |
|   ↳ `closed_at` | string | 关闭时间戳 |
| `count` | number | 返回的里程碑数量 |

### `github_update_milestone`

更新仓库中的里程碑

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `milestone_number` | number | 是 | 要更新的里程碑编号 |
| `title` | string | 否 | 新的里程碑标题 |
| `state` | string | 否 | 新状态：open 或 closed |
| `description` | string | 否 | 新的描述 |
| `due_on` | string | 否 | 新的截止日期 \(ISO 8601 格式\) |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `id` | number | 里程碑 ID |
| `node_id` | string | GraphQL 节点 ID |
| `number` | number | 里程碑编号 |
| `title` | string | 里程碑标题 |
| `description` | string | 里程碑描述 |
| `state` | string | 状态（open 或 closed） |
| `url` | string | API URL |
| `html_url` | string | GitHub 网页 URL |
| `labels_url` | string | 标签 API URL |
| `due_on` | string | 截止日期（ISO 8601） |
| `open_issues` | number | 未关闭问题数 |
| `closed_issues` | number | 已关闭问题数 |
| `created_at` | string | 创建时间戳 |
| `updated_at` | string | 最后更新时间戳 |
| `closed_at` | string | 关闭时间戳 |
| `creator` | object | 里程碑创建者 |
|   ↳ `login` | string | 用户名 |
|   ↳ `id` | number | 用户 ID |
|   ↳ `node_id` | string | GraphQL 节点 ID |
|   ↳ `avatar_url` | string | 头像图片 URL |
|   ↳ `url` | string | API URL |
|   ↳ `html_url` | string | 个人主页 URL |
|   ↳ `type` | string | 用户或组织 |
|   ↳ `site_admin` | boolean | GitHub 员工标识 |

### `github_delete_milestone`

从仓库中删除一个里程碑

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `milestone_number` | number | 是 | 要删除的里程碑编号 |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `deleted` | boolean | 是否删除成功 |
| `milestone_number` | number | 被删除的里程碑编号 |

### `github_create_issue_reaction`

为议题添加一个表情反应

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `issue_number` | number | 是 | 问题编号 |
| `content` | string | 是 | 表情类型：+1（点赞）、-1（点踩）、laugh（笑）、confused（困惑）、heart（心）、hooray（欢呼）、rocket（火箭）、eyes（关注） |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `id` | number | 表情反应 ID |
| `node_id` | string | GraphQL 节点 ID |
| `content` | string | 表情类型（+1、-1、laugh、confused、heart、hooray、rocket、eyes） |
| `created_at` | string | 创建时间戳 |
| `user` | object | GitHub 用户对象 |
|   ↳ `login` | string | GitHub 用户名 |
|   ↳ `id` | number | 用户 ID |
|   ↳ `avatar_url` | string | 头像图片 URL |
|   ↳ `html_url` | string | 个人资料 URL |
|   ↳ `type` | string | 账户类型（User 或 Organization） |

### `github_delete_issue_reaction`

从议题中移除一个表态

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `issue_number` | number | 是 | 问题编号 |
| `reaction_id` | number | 是 | 要删除的表态 ID |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `deleted` | boolean | 是否删除成功 |
| `reaction_id` | number | 被删除的表态 ID |

### `github_create_comment_reaction`

为议题评论添加表态

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `comment_id` | number | 是 | 评论 ID |
| `content` | string | 是 | 表态类型：+1（点赞）、-1（点踩）、laugh（笑）、confused（困惑）、heart（心）、hooray（欢呼）、rocket（火箭）、eyes（关注） |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `id` | number | 表态 ID |
| `node_id` | string | GraphQL 节点 ID |
| `content` | string | 表态类型（+1、-1、laugh、confused、heart、hooray、rocket、eyes） |
| `created_at` | string | 创建时间戳 |
| `user` | object | GitHub 用户对象 |
|   ↳ `login` | string | GitHub 用户名 |
|   ↳ `id` | number | 用户 ID |
|   ↳ `avatar_url` | string | 头像图片 URL |
|   ↳ `html_url` | string | 个人资料 URL |
|   ↳ `type` | string | 账户类型（User 或 Organization） |

### `github_delete_comment_reaction`

从议题评论中移除表情反应

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `comment_id` | number | 是 | 评论 ID |
| `reaction_id` | number | 是 | 要删除的表情反应 ID |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `deleted` | boolean | 是否删除成功 |
| `reaction_id` | number | 被删除的表情反应 ID |

### `github_star_repo`

为仓库加星标

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `starred` | boolean | 加星是否成功 |
| `owner` | string | 仓库所有者 |
| `repo` | string | 仓库名称 |

### `github_unstar_repo`

取消为仓库加星标

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `unstarred` | boolean | 取消标星是否成功 |
| `owner` | string | 仓库所有者 |
| `repo` | string | 仓库名称 |

### `github_check_star`

检查你是否已为某仓库加星

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `starred` | boolean | 你是否已为该仓库加星 |
| `owner` | string | 仓库所有者 |
| `repo` | string | 仓库名称 |

### `github_list_stargazers`

列出为仓库加星的用户

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | 是 | 仓库所有者 |
| `repo` | string | 是 | 仓库名称 |
| `per_page` | number | 否 | 每页结果数（最大 100，默认 30） |
| `page` | number | 否 | 页码（默认 1） |
| `apiKey` | string | 是 | GitHub API 令牌 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `items` | array | 来自 GitHub API 的用户对象数组 |
|   ↳ `login` | string | GitHub 用户名 |
|   ↳ `id` | number | 用户 ID |
|   ↳ `node_id` | string | GraphQL 节点 ID |
|   ↳ `avatar_url` | string | 头像图片 URL |
|   ↳ `url` | string | API URL |
|   ↳ `html_url` | string | 个人主页 URL |
|   ↳ `type` | string | 用户或组织 |
|   ↳ `site_admin` | boolean | GitHub 员工标识 |
|   ↳ `gravatar_id` | string | Gravatar ID |
|   ↳ `followers_url` | string | 粉丝 API URL |
|   ↳ `following_url` | string | 关注 API URL |
|   ↳ `gists_url` | string | Gists API URL |
|   ↳ `starred_url` | string | Starred API URL |
|   ↳ `repos_url` | string | Repos API URL |
| `count` | number | 返回的加星用户数 |
