在自有基础设施上运行 Claude Code¶
原文发布于 2026 年 8 月 6 日
自托管环境(Self-hosted Environments)已进入公开测试,企业可以将 Claude Code Session 运行在自己控制的基础设施上,靠近内网服务、工具链和安全管控,而非 Anthropic 托管的环境。
你可以从 Web、移动端、桌面端或 Routine 发起一个 Session,它会在你的内网中运行,能直接访问内部服务、数据库和镜像仓库,无需将它们暴露到公网。
"自托管环境让我们能将 Claude Code 集成到现有开发工作流中,同时保持安全和运维管控。这意味着 Claude 可以生成 PR、帮助修复 CI 问题、响应开发者工作流事件,而计算资源能按需扩缩。Claude 理解我们的代码库,非常适合我们工程团队的构建方式。"
— George Jacob,高级工程经理
对于大多数企业,我们强烈推荐使用 Anthropic 托管方案——无需维护基础设施,运维成本最低。自托管环境面向的是那些因网络隔离、工具链或合规要求,必须将 Agent 执行保留在自有基础设施上的团队。如果你选择这条路,需要安排工程团队负责搭建和持续维护。
为什么要自托管¶
在预览阶段,企业采用自托管主要出于三个原因:网络访问、环境定制和合规需求。
- 内网访问:Session 运行在企业内网,可直接连接内部服务、数据库和私有镜像仓库,无需暴露到公网
- 环境定制:可以预装编译器、SDK 和内部 CLI 工具,让每个 Session 启动即可构建
- 合规性:源代码和构建产物始终留在你控制的基础设施上
数据边界¶
代码仓库、构建产物、密钥和 Session 产生的文件全部留在你自己的基础设施上;对话内容(含 Claude 读取的代码片段)会发送给 Anthropic 用于推理。
具体而言:
- 留在你的基础设施上的:代码 checkout、构建产物、密钥、Session 创建或修改的所有文件
- 发送给 Anthropic 的:对话本身(包括 prompt、响应、tool results 中可能包含的代码),用于模型推理;Session 记录会存储在 Anthropic 侧,以便从任意终端恢复 Session
工作原理¶
你部署一组 Runner(长驻进程),它们接收 Session 请求并为每个 Session 启动一个 Claude Code 进程。Runner 有两种模式可选。
| 对比维度 | Fixed Runner | On-demand Runner |
|---|---|---|
| 生命周期 | 持续运行,数量固定 | 按需启动,空闲时自动停止 |
| 容量管理 | Session 均匀分配到固定数量的 Runner 上 | Orchestrator 监控队列,有 Session 排队时启动 Runner,完成后释放 |
| 适用场景 | 负载稳定、对启动延迟敏感 | 负载波动大、追求成本效率 |
| 运维复杂度 | 较低,无需 Orchestrator | 较高,需要部署和维护 Orchestrator |
关键设计:
- 一个 Runner 可以服务多个 Session,但每个 Session 有独立的代码 checkout,开发者之间互相隔离
- 所有支持的入口(Web、移动端、桌面端、Routine)的 Session 路由到同一个环境——配置一次,处处可用
Self-hosted 与 Remote Control 的区别¶
Self-hosted 和 Remote Control 都能让你从手机或浏览器操作 Session,但本质不同:前者是共享基础设施上的托管服务,后者是开发者本机 Session 的远程续接。
| 对比维度 | Self-hosted Environments | Remote Control |
|---|---|---|
| 运行位置 | 平台团队运维的共享基础设施 | 开发者本人的机器 |
| Session 生命周期 | 独立于任何个人机器,持续可用 | 机器停止运行 Session 即结束 |
| 使用者 | 组织内任何用户 | 仅运行 claude 命令的用户本人 |
| 适用场景 | 团队级部署,统一环境 | 个人开发者远程操作自己的 Session |
如何开始¶
Self-hosted Environments 面向 Claude Team 和 Enterprise 计划的组织开放公测,默认关闭,使用 ZDR 的组织暂不可用。
建议由平台团队、开发者体验团队或开发者效率团队来负责:
- 构建和维护 Runner 镜像
- 升级 Runner
- 如果使用 On-demand 模式,还需运维 Orchestrator