在企业内网或完全无外网的环境下部署Claude Code,其核心思路可以高度概括为:在有网的环境中完成“准备”,再将整个“运行时”搬运到内网。这通常有两种主流路径:一是基于Node.js/npm的依赖打包方案,二是利用社区提供的原生二进制或便携版方案。


🚀 方案一:基于 npm 的离线依赖打包 (通用性最强)

这种方法的核心是 node_modules 文件夹本身就包含了所有运行所需文件。它的优势在于能完整保留官方npm包的所有依赖关系,适配性最广。

第一步:在有网机器上准备环境

1. 环境要求

  • 有网机器:需安装 Node.js (v18+) 和 npm,操作系统应与目标内网机器保持一致(如均为Windows x64),因为 npm install 会自动下载适配当前平台的二进制文件。

2. 新建项目并安装 Claude Code
找一个空目录,通过命令行执行以下操作,即可将 Claude Code 及其所有依赖下载到本地:

bash

# 1. 初始化一个空项目
mkdir claude-offline
cd claude-offline
npm init -y

# 2. 安装 Claude Code
npm install @anthropic-ai/claude-code

执行后,node_modules 文件夹便包含了 Claude Code 主程序及其依赖的所有包。

3. (可选) 生成依赖清单用于审计
如果需要清晰的依赖列表,可以使用此命令导出为JSON文件,方便查阅或编写下载脚本:

bash

npm ls --all --json > deps-full.json

4. 打包整个 node_modules 文件夹
将整个文件夹压缩成一个文件,方便传输:

  • Windows (PowerShell)Compress-Archive -Path .\node_modules -DestinationPath .\node_modules.zip

  • Linux/macOSzip -r node_modules.zip node_modules

第二步:在内网机器上部署

1. 解压并放置文件
将 node_modules.zip 拷贝到内网机器并解压,例如解压到 D:\claude-offline\node_modules

2. 配置环境变量 (至关重要)
系统需要知道 claude 命令在哪里。将 Claude Code 的可执行文件所在路径添加到系统的 PATH 环境变量中。

  • Windows: 可执行文件通常位于 node_modules\@anthropic-ai\claude-code-win32-x64,将此路径添加到系统Path变量。

  • Linux/macOS: 可执行文件通常是一个软链接,位于 node_modules/.bin/claude,可以将其链接到系统已有路径,如 sudo ln -s $(pwd)/node_modules/.bin/claude /usr/local/bin/claude

配置完成后,在新打开的终端中执行 claude --version 验证是否成功。

第三步:配置本地模型服务

由于无法连接Anthropic官方API,需要让Claude Code指向一个本地或内网部署的、兼容OpenAI API格式的模型服务,例如 Ollama、LM Studio、GPUStack 等。

在用户目录下创建配置文件 ~/.claude/settings.json (Windows路径为 C:\Users\你的用户名\.claude\settings.json),内容如下:

json

{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "任意占位符",
    "ANTHROPIC_BASE_URL": "http://你的内网模型服务地址:端口/v1",
    "ANTHROPIC_MODEL": "你部署的模型名称",
    "CLAUDE_CODE_ATTRIBUTION_HEADER": "0"
  }
}
  • ANTHROPIC_BASE_URL最关键,必须指向本地模型服务的API端点。

  • ANTHROPIC_MODEL:模型名称必须与服务商提供的完全一致,可通过 curl http://地址:端口/v1/models 查询。

  • CLAUDE_CODE_ATTRIBUTION_HEADER:务必设为 "0",否则本地模型推理速度会严重下降。

为了跳过首次启动时的联网检查,还需要创建 ~/.claude.json 文件 (Windows路径 C:\Users\你的用户名\.claude.json) 并填入:

json

{ "hasCompletedOnboarding": true }

完成以上步骤后,即可在内网终端中运行 claude 命令,开始使用本地模型进行AI编程辅助。


🎯 方案二:直接使用编译好的二进制文件 (更简洁)

社区提供了多种“开箱即用”的Claude Code版本,它们将运行环境与代码打包在一起,省去了Node.js环境配置的麻烦。

  • 原生二进制版 (ClaudeCage): 基于Bun运行时和Bubblewrap沙箱技术,被打包成一个单文件可执行程序,无任何外部依赖,性能优越,并自带文件系统访问隔离,提升安全性。

  • 便携版 (ClaudeCodePortable): 专为Windows设计,将Node.js、Git等依赖全部打包,解压即用,甚至支持集成到右键菜单,非常方便。

  • 专用下载工具 (cc-download): 一个脚本工具,支持带代理下载Claude Code的官方原生二进制包(适用于Windows/Linux/macOS),并提供离线安装包选项,下载后可直接上传至内网服务器运行。

⚠️ 注意事项

  • 平台一致性:方案一尤其要注意,有网机器和最终部署机器的操作系统(及架构,如x64/arm64)必须一致,否则拷贝过去的二进制文件无法运行。

  • 命令行环境:在Windows上操作时,建议使用 PowerShell 而非CMD,因为CMD不支持 *.tgz 之类的通配符展开。

  • 模型服务性能:本地模型的推理能力受硬件(尤其是GPU显存)限制。7B参数的模型是体验与性能的较好平衡点,但推理深度和上下文长度与云端大模型仍有差距。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐