---
URL: "/zh-CN/blog/2026-09/github-gh.html"
LLMS_URL: "/zh-CN/blog/2026-09/github-gh.md"
lastUpdated: true
commentabled: true
recommended: true
title: "终端里的GitHub总控台"
description: "AI时代的开发者神器"
date:

pageClass: "blog-page-class"
cover: "/covers/git.svg"
---

## gh 到底是什么？简单说：它是你终端里的 GitHub“总控台” ##

我刚开始了解 `gh` 的时候以为它只是 git 的一个小跟班——用来替代 `git push` 或者省两下鼠标点击。但后来发现，完全不是。

2026 年的 `gh`，早就不再是“命令行的 GitHub”那么简单了。它其实是 AI 时代开发者桌面上的一个轻量级操作系统——专门用来调度 GitHub 上的一切：仓库、PR、Issue、Actions，甚至你给 AI 装的各种技能包。

听上去有点抽象？没关系，我们从你每天都会遇到的三个“黑洞”说起。

### 你肯定被这三个黑洞折磨过 ###

| 黑洞 | 表现 | AI解法 |
| :--- | :--- | :--- |
| 工具切换 | 编辑器→浏览器→终端→GitHub 网页，来回跳，一天下来脑子都切碎了 | 终端 + gh 全部搞定 |
| 重复劳动 | 写 PR 描述、排 CI 错误、手动 Review，同样的活干一百遍 | AI 自动生成 + gh 自动化 |
| 知识碎片 | 每个工具的技能/规则/配置各管各的，Claude 装一遍、Cursor 再装一遍 | `gh skill` 统一管理 |

这三个黑洞，gh 一个工具就能填平。

## gh 的三大不可替代能力 ##

1. gh 是 GitHub 官方 CLI，功能覆盖最全、团队长期维护，并且天然与 GitHub 的各种新特性（如 Agent Skills）同步更新。

别的 AI 工具（比如 Copilot CLI）最多给你建议一条命令，让你自己复制粘贴去执行。gh 不一样——它是直接上手干。

```bash
# 创建 PR，不用开浏览器
gh pr create --title "feat: 用户认证" --body "AI 生成"

# 看我名下有哪些未处理的 Issue
gh issue list --assignee @me --state open

# CI 失败了？直接看日志，不用点页面
gh run view 1234 --log-failed

# 合并 PR 顺便删分支
gh pr merge 42 --delete-branch
```

一句话总结：凡是你在 GitHub 网页上能点鼠标做的事，gh 都能用一行命令完成。

2. gh skill 的优势在于更安全的供应链管理和与 GitHub 原生能力的深度集成。

现在 AI 编程工具多得要命：Claude Code、Cursor、Copilot……每个都有自己的技能目录，手动装一遍能累死。

`gh skill` 就是来解决这个问题的——一条命令，全工具生效。

```bash
gh skill search "code review"           # 搜索技能
gh skill install vercel-labs/agent-skills  # 安装
gh skill list                           # 看看装了哪些
gh skill lock                           # 锁住版本，防止偷偷更新
```

而且它不止是装一下那么简单。每个技能从哪里来、什么版本、谁改过——全都有记录可查。

顺带提一句：`findskills` 和上面两个工具是什么关系？

简单说，`npx skills` 和 `gh skill` 是底层的“包管理器”（类似于 npm），`findskills` 是 AI 的“搜索代理”（AI 自己不知道怎么搜索的时候就靠它）。

`findskills` 本质上是一个 Skill 本身，它的作用是教会 AI “如何帮用户搜索和安装其他技能”。它依赖 `npx skills` CLI 来执行具体的搜索和安装动作。

三者配合起来是这样的：你问 AI “有没有 React 性能优化的技能” → AI 调用 findskills → findskills 调用 `npx skills find`（或 `gh skill search`）→ 返回结果 → AI 推荐给你。

而 `gh skill` 的出现，让这个流程又多了一个选择：你可以不用 `npx skills`，而是直接 `gh skill install`。两者的技能是通用的，你选哪个取决于你的偏好。

3. gh 的命令设计天然支持结构化输出（`--json` + `--jq`），让它特别适合作为自动化管道中的一环，能轻松串联查询、筛选、操作、批量处理等多个步骤。

这是 gh 最被低估的能力：它天生适合放在管道（pipe）里，和 AI 以及其他命令组合。

给你看几个真实例子：

### 场景一：PR 自动审查 ###

```bash
gh pr diff 42 | claude "审查安全漏洞" | gh pr comment 42 --body -
```

一行命令：取出 PR 的代码差异 → 扔给 Claude 审查 → 把审查结果自动评论到 PR 里。

### 场景二：CI 失败自动排查 ###

```bash
gh run view 1234 --log-failed | claude "分析原因并给出修复命令"
```

### 场景三：会议记录一键转 Issue ###

```bash
cat meeting.txt | claude "提取行动项" | gh issue create --body -
```

你看，gh 在这里扮演的是“胶水”角色——它把 AI 的能力和 GitHub 上的实际操作无缝粘在一起。

## 重点来了：gh skill 到底解决了什么痛点？ ##

你可能已经听说过 Skills——它不是 Prompt 也不是插件，而是一份 给 AI 看的“入职手册”。一个 Skill 就是一个文件夹，里面装着：

- `SKILL.md`：告诉 AI 怎么做某件事（比如“如何做 React 代码审查”）
- `scripts/`：可执行的脚本
- `references/`：参考资料

但问题是：Skills 这个生态刚起来的时候，大家都是手动下载、手动复制到各个工具的目录里。装一个两个还好，装十个八个就乱了——哪个版本？从哪里来的？更新了什么？一概不知。

`gh skill` 把这套流程*产品化*了：

| 问题 | 手动管理 | gh skill 管理 |
| :--- | :--- | :--- |
| 技能从哪来的？ | 不知道 | 来源可追溯 |
| 装的哪个版本？ | 不知道 | `gh skill history` |
| 更新了什么？ | 不知道 | 签名验证 + 变更审计 |
| 多工具同步？ | 各装各的，累死 | 一装全通 |
| CI/CD 里能用吗？ | 基本不能 | `gh skill run` 直接跑 |

甚至在 CI 流水线里，你都可以自动装技能、自动跑审查：

```yml
# .github/workflows/skills-review.yml
- name: Install skills
  run: |
    gh skill install @team/code-review
    gh skill install @team/security-scan
- name: Run code review
  run: gh skill run @team/code-review --path ./src
```

## 安装与配置 ##

### gh 安装（Windows） ###

```bash
# 方式 1：winget（推荐）
winget install GitHub.cli

# 方式 2：手动下载 MSI
# 访问 https://github.com/cli/cli/releases
# 下载 gh_X.XX.X_windows_amd64.msi（注意选 amd64，不是 arm64！）
# 双击安装，重启终端
```

### gh 认证 ###

```bash
# 方式 1：浏览器登录（推荐）
gh auth login
# 选择 GitHub.com → HTTPS → Login with a web browser

# 方式 2：Token 登录（无浏览器时）
# 先生成 Token：GitHub → Settings → Developer settings → Personal access tokens
echo "ghp_你的token" | gh auth login --with-token

# 验证
gh auth status
验证安装成功
gh --version        # 确认版本 >= 2.14
gh auth status      # 确认已登录
gh skill list       # 确认 skill 命令可用
```

## 总结 ##

`gh` 不是什么炫酷的新技术，它就是一个让你少切几十次浏览器、少点几百次鼠标、少复制粘贴一堆命令的工具。

但它真正的价值，是在 AI 时代把它变成了一个“枢纽”：

- 左边连着你的终端和 AI
- 右边连着 GitHub 上的仓库、PR、Issue、Actions
- 中间用 `|` 管道一接，自动化就出来了
