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 web 和 Code Review。要在自己的 CI 基础设施中运行 Claude,请参阅 GitHub Actions。
功能支持情况
下表列出了哪些 Claude Code 功能支持 GHES,以及与 github.com 行为的差异。
| 功能 | GHES 支持 | 备注 |
|---|---|---|
| Claude Code on the web | ✅ 支持 | 管理员连接 GHES 实例一次;开发者照常使用 claude --remote 或 claude.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。如果环境阻止了重定向流程,可以使用手动配置。
- 访问 claude.ai/admin-settings/claude-code,找到 GitHub Enterprise Server 部分。
- 点击 Connect。输入连接的显示名称和 GHES 主机名,例如
github.example.com。如果 GHES 实例使用自签名或私有证书颁发机构,在可选字段中粘贴 CA 证书。 - 点击 Continue to GitHub Enterprise。浏览器重定向到 GHES 实例,并显示预填充的 App manifest。检查配置后点击 Create GitHub App。GHES 将你重定向回 Claude,App 凭据自动保存。
- 在 GHES 实例的 GitHub App 页面中,将 App 安装到你想让 Claude 访问的仓库或组织。可以从子集开始,后续再添加更多。
- 回到 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_request、issue_comment、pull_request_review_comment、pull_request_review、check_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"
}
}
}
}
完整模式请参见 strictKnownMarketplaces 和 extraKnownMarketplaces 设置参考。
限制
部分功能在 GHES 上与 github.com 行为不同。功能支持表总结了支持情况;本节介绍替代方案。
/install-github-app命令:改为在 claude.ai 上使用管理员配置流程。如果你还需要 GHES 上的 GitHub Actions 工作流,手动适配示例工作流。- GitHub MCP server:改为使用配置了 GHES 主机的
ghCLI。运行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 实例时才需要重新配置。