Claude Code + GitHub Enterprise Server 怎么配置:GHES 接入、管理员设置与开发者工作流

GitHub Enterprise Server(GHES)支持让组织在自托管 GitHub 实例上使用 Claude Code,无需每个仓库单独配置。管理员在 claude.ai 的 admin-settings 中完成一次 GitHub App 安装(支持一键 redirect 或手动设置),开发者即可通过 claude --remote 使用 Web 会话、代码审查、Teleport 和插件市场。GHES 插件市场需要使用完整 git URL 而非 owner/repo 简写。GitHub MCP server 不支持 GHES,可用 gh CLI 替代。

Claude Code 连接自托管的 GitHub Enterprise Server 实例,用于 Web 会话、代码审查和插件市场。 GitHub Enterprise Server 支持仅适用于 Team 和 Enterprise 计划。

GitHub Enterprise Server(GHES)支持让组织使用 Claude Code 与自托管 GitHub 实例(而非 github.com)上的仓库协作。管理员连接 GHES 实例后,开发者无需任何仓库级配置即可运行 Web 会话、获取自动化代码审查,以及从内部插件市场安装插件。

对于 github.com 上的仓库,请参阅 Claude Code on the webCode Review。要在自己的 CI 基础设施中运行 Claude,请参阅 GitHub Actions

功能支持情况

下表列出了哪些 Claude Code 功能支持 GHES,以及与 github.com 行为的差异。

功能 GHES 支持 备注
Claude Code on the web ✅ 支持 管理员连接 GHES 实例一次;开发者照常使用 claude --remoteclaude.ai/code
Code Review ✅ 支持 github.com 相同的自动 PR 审查
Teleport 会话 ✅ 支持 --teleport 在 Web 和终端之间移动会话
插件市场 ✅ 支持 使用完整 git URL 替代 owner/repo 简写
贡献统计 ✅ 支持 通过 webhook 发送到分析仪表板
GitHub Actions ✅ 支持 需要手动配置工作流;/install-github-app 仅适用于 github.com
GitHub MCP server ❌ 不支持 GitHub MCP server 不适用于 GHES 实例

管理员配置

管理员连接 GHES 实例一次,之后组织内的开发者即可使用 GHES 仓库,无需任何额外配置。你需要 Claude 组织的管理员权限以及在 GHES 实例上创建 GitHub App 的权限。

向导式配置会生成一个 GitHub App manifest,并通过一次点击重定向到 GHES 实例创建 App。如果环境阻止了重定向流程,可以使用手动配置

  1. 访问 claude.ai/admin-settings/claude-code,找到 GitHub Enterprise Server 部分。
  2. 点击 Connect。输入连接的显示名称和 GHES 主机名,例如 github.example.com。如果 GHES 实例使用自签名或私有证书颁发机构,在可选字段中粘贴 CA 证书。
  3. 点击 Continue to GitHub Enterprise。浏览器重定向到 GHES 实例,并显示预填充的 App manifest。检查配置后点击 Create GitHub App。GHES 将你重定向回 Claude,App 凭据自动保存。
  4. 在 GHES 实例的 GitHub App 页面中,将 App 安装到你想让 Claude 访问的仓库或组织。可以从子集开始,后续再添加更多。
  5. 回到 claude.ai/admin-settings/claude-code,为你的 GHES 仓库启用 Code Review贡献统计,配置方法与 github.com 相同。

GitHub App 权限

manifest 为 GitHub App 配置了以下权限和 webhook 事件,涵盖 Web 会话、Code Review 和贡献统计所需的能力:

权限 访问级别 用途
Contents 读写 克隆仓库和推送分支
Pull requests 读写 创建 PR 和发布审查评论
Issues 读写 响应 issue 提及
Checks 读写 发布 Code Review check runs
Actions 读取 CI 状态用于自动修复
Repository hooks 读写 接收 webhook 用于贡献统计
Metadata GitHub 对所有 App 的必要权限

App 订阅了以下事件:pull_requestissue_commentpull_request_review_commentpull_request_reviewcheck_run

手动配置

如果向导重定向流程被网络配置阻止,点击 Add manually 替代 Connect。在 GHES 实例上创建一个 GitHub App,配置上述权限和事件,然后在表单中填写 App 凭据:hostname、OAuth client ID 和 secret、GitHub App ID、client ID、client secret、webhook secret 和 private key。

网络要求

GHES 实例必须与 Anthropic 基础设施可达,以便 Claude 克隆仓库和发布审查评论。如果 GHES 实例位于防火墙后面,请将 Anthropic API IP 地址加入允许列表。

开发者工作流

管理员连接 GHES 实例后,开发者无需任何客户端配置。Claude Code 从工作目录的 git remote 自动检测 GHES 主机名。

像平时一样从 GHES 实例克隆仓库:

git clone git@github.example.com:platform/api-service.git
cd api-service

然后启动 Web 会话。Claude 从 git remote 检测 GHES 主机,并通过组织配置的实例路由会话:

claude --remote "Add retry logic to the payment webhook handler"

会话在 Anthropic 基础设施上运行,从 GHES 克隆仓库,并将变更推回分支。使用 /tasks 或在 claude.ai/code 监控进度。完整的远程会话工作流(包括 diff 审阅、自动修复和 Routines)请参考 Claude Code on the web

Teleport 会话到本地终端

使用 claude --teleport 将 Web 会话拉取到本地终端。Teleport 会验证你是否位于同一 GHES 仓库的检出目录中,然后获取分支并加载会话历史。详见 Teleport 要求

GHES 插件市场

在 GHES 实例上托管插件市场,向组织分发内部工具。市场结构与 github.com 托管的市场完全相同,区别仅在于引用方式。

添加 GHES 市场

owner/repo 简写始终解析为 github.com。对于 GHES 托管的市场,使用完整 git URL:

/plugin marketplace add git@github.example.com:platform/claude-plugins.git

HTTPS URL 同样适用:

/plugin marketplace add https://github.example.com/platform/claude-plugins.git

完整构建市场的指南请参考创建和分发插件市场

在托管设置中允许 GHES 市场

如果组织使用托管设置限制开发者可添加的市场,使用 hostPattern 来源类型允许来自 GHES 实例的所有市场,无需逐个枚举仓库:

{
  "strictKnownMarketplaces": [
    {
      "source": "hostPattern",
      "hostPattern": "^github\\.example\\.com$"
    }
  ]
}

你也可以预注册市场,使开发者无需手动设置即可看到。以下示例使内部工具市场在整个组织中可用:

{
  "extraKnownMarketplaces": {
    "internal-tools": {
      "source": {
        "source": "git",
        "url": "git@github.example.com:platform/claude-plugins.git"
      }
    }
  }
}

完整模式请参见 strictKnownMarketplacesextraKnownMarketplaces 设置参考。

限制

部分功能在 GHES 上与 github.com 行为不同。功能支持表总结了支持情况;本节介绍替代方案。

  • /install-github-app 命令:改为在 claude.ai 上使用管理员配置流程。如果你还需要 GHES 上的 GitHub Actions 工作流,手动适配示例工作流
  • GitHub MCP server:改为使用配置了 GHES 主机的 gh CLI。运行 gh auth login --hostname github.example.com 进行身份验证,然后 Claude 可以在会话中使用 gh 命令。

故障排查

Web 会话克隆仓库失败

如果 claude --remote 出现克隆错误,请验证管理员是否已完成 GHES 实例的设置,以及 GitHub App 是否已安装在你正在使用的仓库上。与管理员确认 Claude 设置中注册的实例主机名与 git remote 中的主机名一致。

插件市场添加失败(策略错误)

如果 /plugin marketplace add 因 GHES URL 被阻止,说明你的组织限制了市场来源。请管理员在托管设置中添加 GHES 主机名的 hostPattern 条目。

GHES 实例不可达

如果审查或 Web 会话超时,可能是 GHES 实例从 Anthropic 基础设施不可达。确认防火墙允许来自 Anthropic API IP 地址的入站连接。

常见问题

已经在用 github.com + Claude Code,切换 GHES 后开发者需要做什么?

开发者无需任何操作。管理员完成 GHES 实例配置后,Claude Code 会自动从 git remote 检测 GHES 主机并正确路由。克隆 GHES 上的仓库后直接运行 claude --remote 即可。无需修改任何本地配置。

GHES 实例的 GitHub MCP server 不可用,如何替代?

GitHub MCP server 不支持 GHES 实例。替代方案是使用配置了 GHES 主机的 gh CLI。运行 gh auth login --hostname your.ghes.host 完成认证,之后 Claude 可以在会话中运行 gh 命令来执行创建 PR、查看 issue 等操作。大多数 GitHub 操作都可通过 gh 命令完成。

管理员配置是一次性的吗?后续需要重新配置吗?

管理员只需配置一次。配置完成后,组织内所有开发者均可使用 GHES 仓库,无需重复配置。只有在需要修改 GitHub App 权限、更换 App 凭据或添加新的 GHES 实例时才需要重新配置。