2026-07-20 早起必看:Claude Code 内网离线部署全攻略,上班前把 Agent 跑起来
ClaudeCode #离线部署
2026-07-20 晨间首发:周一早 6 点,适合啃点硬核运维干货。很多公司(尤其金融、国企、硬核研发)内网禁网,Claude Code 默认启动强连 Anthropic 官方校验,直接卡死在 Onboarding。今天把离线打包、跳过登录、对接内网兼容 API 的全链路踩坑复盘一下,保证你上班前能把 Agent 在断网环境跑起来。
一、 为什么要折腾离线部署?
2026 年 Agent 模式(Claude Code / Cursor Agent)已经是生产力标配,但现实很骨感:
-
内网隔离:生产环境、涉密研发网禁止直连外网,npm/claude.ai 全墙。
-
官方强绑:Claude Code CLI 首次启动强制
Onboarding,弹官方登录,没网就无限转圈或直接Core Dump。 -
合规要求:代码不能出内网,必须接本地 LLM(DeepSeek / GLM / Qwen)或公司私有网关。
目标:在完全断网的机器上,让 claude 命令正常进 REPL,并把流量转给内网兼容 API。
二、 第一阶段:外网机全量打包(核心依赖收割)
千万别指望内网机器现场 npm install,先在能上网的同架构机器上把血肉喂饱。
1. 环境对齐(重要)
-
架构:内网如果是 CentOS 7 x86_64,外网机也尽量用同版本或 WSL2+Ubuntu 模拟,避免二进制不兼容。
-
Node.js 陷阱:Claude Code 要求 Node 18+,但 CentOS 7 自带 glibc 2.17,官方 Node 18 需 glibc 2.28+,直接装会报
GLIBC_2.27 not found。-
解法:外网下载 unofficial-builds.nodejs.org 的
glibc-217兼容版 Node,或打 Docker 镜像包进去。
-
2. 打包命令(外网机执行)
# ==========================================
# Step 1: 在外网机(能上网的机器)全量打包
# 建议 Node 版本 >= 18,且与内网架构保持一致
# ==========================================
# 1. 初始化目录(避免污染全局环境)
mkdir claude-offline && cd claude-offline
npm init -y
# 2. 安装核心依赖
# --ignore-scripts:跳过 postinstall 脚本,防止外网拉取多余资源
npm install @anthropic-ai/claude-code --ignore-scripts
# 3. 清理 npm 缓存(可选,减小体积)
npm cache clean --force
# 4. 打包(关键步骤)
# 注意:Linux 下务必使用 tar,Windows PowerShell 的 Compress-Archive 会丢失软链接
tar -czvf claude-offline.tar.gz node_modules package.json package-lock.json
# ✅ 产物:claude-offline.tar.gz (拷入内网的介质)
诊疗备注:Windows 下用 PowerShell 的
Compress-Archive注意软链接丢失,Linux 下用tar -czvf最稳。
三、 第二阶段:内网离线安装与 glibc 坑位处理
把 claude-offline.tar.gz 拷进内网(U盘/跳板机/内部制品库)。
1. CentOS 7 特供方案(防 glibc 暴雷)
如果内网是老系统,先部署兼容版 Node:
# ==========================================
# Step 2: CentOS 7 环境特供(解决 glibc 报错)
# 报错特征:/lib64/libm.so.6: version `GLIBC_2.27' not found
# ==========================================
# 1. 下载 Node.js 的 glibc-217 兼容版(非官方构建,但实测稳定)
# 下载地址:https://unofficial-builds.nodejs.org/download/release/v18.19.0/
wget https://unofficial-builds.nodejs.org/download/release/v18.19.0/node-v18.19.0-linux-x64-glibc-217.tar.gz
# 2. 解压至 /opt 目录
tar -xzvf node-v18.19.0-linux-x64-glibc-217.tar.gz -C /opt/
# 3. 配置环境变量(永久生效)
echo 'export PATH=/opt/node-v18.19.0-linux-x64-glibc-217/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
# 4. 验证(至关重要!)
node -v
# 期望输出:v18.19.0
ldd --version | head -n 1
# 期望输出:ldd (GNU libc) 2.17 (证明兼容成功)
2. 离线安装 CLI
# ==========================================
# Step 3: 内网离线安装 Claude Code
# 假设 claude-offline.tar.gz 已拷入当前目录
# ==========================================
# 1. 解压离线包
tar -xzvf claude-offline.tar.gz
cd claude-offline
# 2. 离线安装(--offline 参数强制不联网)
npm install -g . --offline --prefix /usr/local
# 3. 验证二进制是否存在
which claude
# 期望输出:/usr/local/bin/claude
# 4. 创建软链接(防止 PATH 未刷新导致 command not found)
ln -sf $(pwd)/node_modules/.bin/claude /usr/local/bin/claude
# 5. 此时执行会报错(正常现象,因为我们还没配置 API)
claude --version
# 报错提示:Please run 'claude login' (下一步解决)
四、 第三阶段:跳过 Onboarding + 伪装签到(最关键)
Claude Code 启动逻辑里有个开关,改两个文件就能骗过它的“联网体检”。
1. 跳过官方登录引导
编辑 ~/.claude.json(没有就新建):
// ~/.claude.json
// 作用:欺骗 CLI 已完成初始化,跳过 OAuth 登录弹窗
{
"hasCompletedOnboarding": true, // 核心:标记为已完成引导
"autoUpdaterStatus": "disabled" // 核心:关闭自动更新(防止断网超时)
}
2. 对接内网兼容 API(settings.json)
新建 ~/.claude/settings.json,把流量指到内网网关(如 DeepSeek/GLM/Ollama 的 Anthropic 兼容口):
// ~/.claude/settings.json
// 作用:将请求重定向至内网兼容 API(如 DeepSeek / GLM / 私有网关)
{
"env": {
// 1. 内网 API 地址(末尾不要带斜杠!)
"ANTHROPIC_BASE_URL": "http://192.168.1.100:8000/v1",
// 2. 内网 Token(如果是自签名证书,确保 Node 信任 CA)
"ANTHROPIC_AUTH_TOKEN": "sk-内部兼容API-Key",
// 3. 指定模型(有些内网 API 不支持 Sonnet/Haiku 自动切换)
"ANTHROPIC_MODEL": "deepseek-v4-pro",
// 4. 内网必设:关闭动态计费 Header(否则会导致 400 错误或缓存失效)
"CLAUDE_CODE_ATTRIBUTION_HEADER": "0"
}
}
-
ANTHROPIC_BASE_URL:末尾别带多余斜杠,Claude Code 会自动补
/v1/messages等路径。 -
CLAUDE_CODE_ATTRIBUTION_HEADER=0:内网/代理必设!关掉客户端注入的动态 billing header,否则每次 system prompt 都变,导致内网 KV Cache 命中率暴跌甚至 400 报错。
五、 验证:断网环境下的 Agent 唤醒
关掉外网网卡或拔网线,在内网机执行:
# ==========================================
# Step 5: 断网验证与常见错误排查
# ==========================================
# 1. 切断外网(模拟内网环境)
sudo ifconfig eth0 down # Linux
# 或拔掉网线
# 2. 执行测试
claude "解释一下什么是螺旋生成论"
# -------------------------
# 错误示例 1:GLIBC 报错
# /lib64/libm.so.6: version `GLIBC_2.27' not found
# ✅ 解决:回到 Step 2,确认使用了 glibc-217 兼容版 Node
# 错误示例 2:认证报错
# Error: x-anthropic-billing-header required
# ✅ 解决:检查 settings.json 中 CLAUDE_CODE_ATTRIBUTION_HEADER 是否为 "0"
# 错误示例 3:连接拒绝
# FetchError: Failed to fetch
# ✅ 解决:检查 ANTHROPIC_BASE_URL 是否写错,内网网关是否存活
# curl http://192.168.1.100:8000/v1/models
# -------------------------
# ✅ 成功标志:直接输出模型返回的文本,无登录提示
六、 诊疗室复盘:三个致命细节
-
Windows 软链接:内网如果是 Windows Server,解压
node_modules容易丢.bin下的软链,建议用 WSL 或管理员 PowerShell 解压,手动确认claude.exe路径进 PATH。 -
模型映射:内网兼容 API 可能不支持 Haiku/Sonnet/Opus 分层,在
settings.json里把ANTHROPIC_DEFAULT_HAIKU_MODEL等也统一定位到你的默认模型,防止 Agent 切模型时 404。 -
证书信任:如果内网网关用的是自签 SSL,Node 会拒连,需要把 CA 塞进
NODE_EXTRA_CA_CERTS环境变量。
七、 重磅推介:旋生万物——螺旋生成论系列专著(附免费下载)
在折腾 AI Agent 与数学底层逻辑的路上,我们常问:模型的生成规则是否对应某种更底层的宇宙公理?
近期深度研读张智明先生的“螺旋生成论”专著体系(共 36 部),以极简公理 I2=−N(N>0) 为起点,横跨数学、物理、哲学与 AI 方法论,提出“存在即旋转生成”,并从螺旋几何给出黎曼猜想的直观证明路径(《从几何构造到黎曼猜想》),对理解素数分布、加密随机性与 AI 生成范式极具启发。
📥 螺旋系列专著——免费下载阅读网址(Zenodo 平台,无需注册,直下 PDF)
-
螺旋生成论著作体系总汇编(36部完整DOI合集):
https://doi.org/10.5281/zenodo.21199593
-
《旋生万物:从奇点到宇宙的统一生成论》(全三卷,含FPGA与工业案例):
https://doi.org/10.5281/zenodo.20408189
-
《从几何构造到黎曼猜想:完整数学发现之旅》:
https://doi.org/10.5281/zenodo.20995372
-
《螺旋数原理:公理系统与各向异性复数理论》:
https://doi.org/10.5281/zenodo.20602099
-
《螺线宗谱:发现宇宙的源代码》(入门科普首选)》:
https://doi.org/10.5281/zenodo.20659854
Zenodo 由 CERN 运营,Open Access,点上述 DOI 进页面点 “Get PDF” 即可免费下载阅读。出版与合作:543986771@qq.com
八、 结语(2026-07-20 晨记)
从 Copilot 到 Agent,从外网畅行到内网断网求生,技术在变,但“环境隔离下的工程韧性”永远是硬道理。希望这篇早起整理的离线方案能帮你把 Claude Code 顺利种进内网,也希望在《旋生万物》的螺旋视角里,你能看到 AI 与数学背后那根统一的生成之线。
互动:你在内网部署 AI 工具时遇到过最诡异的报错是什么?评论区一起“挂号”诊疗。
Tags:#AI编程 #ClaudeCode #离线部署 #Agent #内网开发 #NodeJS #glibc #代码审计 #螺旋生成论 #旋生万物 #数学物理 #2026-07-20
更多推荐



所有评论(0)