公司不让连外网,但你又想用Claude Code?别急着放弃。这篇讲我怎么在断网环境下跑起来的,以及过程中踩过的坑。


为什么需要离线安装

很多公司的开发环境是内网隔离的。代码不能上传云端,网络不能访问外网。

但你又想用Claude Code辅助编程。

听起来矛盾对吧?但现实就是这样:你需要AI帮你写代码,但你的代码不能上传到任何地方。


我的环境

  • 系统:Windows 11
  • 网络:完全离线(不能访问任何外网)
  • 目标:在断网环境下使用Claude Code

坑1:依赖包不全,装完就报错

我一开始以为:下载Claude Code的安装包就行了。

结果呢?安装完之后运行报错——“找不到模块”。

我当时一脸懵:我明明装了啊,怎么还报错?

后来发现:只下载了主包,没下载依赖。 Claude Code依赖很多npm包,光下载主包不够。

于是在有网的环境重新把所有依赖都打包了:

mkdir claude-offline && cd claude-offline
npm pack @anthropic-ai/claude-code
npm pack @anthropic-ai/sdk
npm pack @anthropic-ai/bedrock-sdk

然后拷贝到U盘,才搞定。


坑2:Node.js版本不对,白装了

装好之后又报错:“Unsupported Node.js version”。

我当时心态崩了:装了半天,版本不对?

查了一下,Claude Code需要Node.js 20+,我装的是18。

教训: 装之前先查版本要求,别装完了才发现不对。


坑3:API代理配置,试了三种才成功

内网不能直接访问Claude API,需要配代理。

但我一开始不知道怎么配。试了好几种方式:

方式1:环境变量

export ANTHROPIC_BASE_URL=http://your-proxy-server:8080
export ANTHROPIC_API_KEY=your-api-key

方式2:.env文件

ANTHROPIC_BASE_URL=http://your-proxy-server:8080
ANTHROPIC_API_KEY=your-api-key

方式3:配置文件

{
  "api_base_url": "http://your-proxy-server:8080",
  "api_key": "your-api-key"
}

我试了三种,最后发现方式2最稳定。方式1有时候环境变量会被覆盖,方式3配置文件格式经常出错。


坑4:代理服务器不稳定,用着用着就断了

配好之后,Claude Code能连上了。但用着用着就断了。

后来查了一下,是代理服务器的连接池满了,或者超时时间太短。在代理服务器上调整了一下连接池大小和超时时间,才稳定下来。


最终方案

Step 1:在有网的环境准备

# 1. 下载Node.js 20+(.msi安装包)
# 2. 下载Claude Code和所有依赖
npm pack @anthropic-ai/claude-code
npm pack @anthropic-ai/sdk
npm pack @anthropic-ai/bedrock-sdk
# 3. 拷贝到U盘

Step 2:在内网环境安装

# 1. 安装Node.js(运行.msi)
# 2. 安装Claude Code
npm install -g ./anthropic-ai-claude-code-*.tgz
# 3. 安装依赖
npm install -g ./anthropic-ai-sdk-*.tgz

Step 3:配置代理

# 在.env文件中配置
ANTHROPIC_BASE_URL=http://your-proxy-server:8080
ANTHROPIC_API_KEY=your-api-key

Step 4:验证

claude --version
claude "hello"

和在线版的区别

维度 在线版 离线版
网络要求 需要访问外网 完全离线
代码上传 会上传到Anthropic 不上传,本地处理
响应速度 取决于网络 取决于代理服务器
功能 完整 完整(通过代理)

核心区别: 代码不会上传到Anthropic服务器。通过代理转发,代码只在你的内网流转。


局限性

  • 需要有代理服务器
  • 代理服务器需要有人维护
  • 不能用Claude的最新功能(需要等离线包更新)

作者:糖纸999

Logo

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

更多推荐