当前位置: 首页 > news >正文

AI 编程工具内网离线部署方案

为什么需要这个?

在国内的金融、军工、政府、运营商等场景中,内网开发是常态。机器物理隔离,没有 GitHub 访问,没有 npm registry,甚至没有互联网连接。

但 AI 编程工具——Claude Code、Codex CLI、Codex Desktop——默认都依赖联网安装:npm install、GitHub Releases 下载、微软商店在线分发。这让内网用户望而却步。

有没有一套方案,能先在一台联网机上下载好所有材料,拷进内网,一条命令装好

有。我把三个工具的内网部署脚本打包成了一个仓库。

仓库地址:github.com/Nemocccc/cc_codex-offline-installation


整体思路

所有三个工具遵循同一套四步走流程,零学习成本:

  1. 联网机下载— 在一台能访问 GitHub / npm / Node.js 官网的机器上运行pack-online.bat,自动下载所有依赖
  2. 拷贝到内网— USB 或内部共享,把整个目录拷进去
  3. 内网安装— 右键setup.bat→ 以管理员身份运行,一键装好
  4. 配置内网 API— 设置环境变量指向内网 LLM 网关,即刻使用

一、Claude Code CLI

离线部署全流程

第 1 步 — 联网机下载
cd cc-offline scripts\pack-online.bat

这个脚本会从 GitHub、nodejs.org 等源头下载以下材料到本地目录:

下载项本地位置大小
nvm-windowsnvm\16 MB
Node.js 26.4.0 + npmnode\115 MB
claude.exe 原生二进制claude-code-offline\225 MB
总计~355 MB

下载完成后,整个cc-offline\目录就是可移植的离线包。

第 2 步 — 拷贝到内网

cc-offline\目录完整复制到内网机器的任意位置,比如D:\tools\cc-offline\

第 3 步 — 内网安装
# 右键 → 以管理员身份运行 setup.bat

setup.bat 会帮你做这些事:

  • 安装 nvm-windows 到%USERPROFILE%\.nvm\
  • 用 nvm 安装 Node.js 26.4.0 + npm 到%USERPROFILE%\.nvm\nodejs\
  • 将 claude.exe 放到%USERPROFILE%\claude-code\bin\claude.exe
  • 注册命令行入口到%USERPROFILE%\.nvm\claude.cmd
  • 修改 PATH 环境变量,追加 nvm 目录
  • 设置ANTHROPIC_BASE_URL环境变量

安装完成后关掉当前终端,重新打开一个新终端。

第 4 步 — 配置内网 API

有两种方式:

方式 A:settings.json 预配置

将 repo 根目录下的settings.json复制到内网机器的%USERPROFILE%\.claude\下:

{ "hasCompletedOnboarding": true, ... }

这个方式适合统一管理团队配置,比如预设 model picker、禁用 telemetry 等。

方式 B:cc-switch 代理

用 cc-switch 配置代理指向内网 LLM 网关,设置环境变量:

set ANTHROPIC_BASE_URL=https://your-internal-gateway/api

⚠️重要提醒:方式 A 中的hasCompletedOnboarding: true和方式 B 的"跳过首次登录"是互斥的,两者不能同时设置。

验证安装
claude

二、Codex CLI

离线部署全流程

第 1 步 — 联网机下载
cd codex-offline scripts\pack-online.bat

相比 Claude Code,Codex CLI 的离线包更大,因为包含了 Rust 编译的原生二进制(约 308 MB)。

第 2 步 — 拷贝到内网

将整个codex-offline\目录复制到内网机器。

第 3 步 — 内网安装
# 右键 → 以管理员身份运行 setup.bat

安装内容:

组件安装到
nvm-windows%USERPROFILE%\.nvm\
Node.js + npm%USERPROFILE%\.nvm\nodejs\
codex.js + native binary%USERPROFILE%\codex\
命令行入口%USERPROFILE%\.nvm\codex.cmd
环境变量PATH +OPENAI_BASE_URL
验证安装
codex

三、Codex Desktop

离线部署全流程

第 1 步 — 联网机下载
cd codex-desktop-offline scripts\pack-online.bat
下载项本地位置大小
微软商店安装器 stubpkg\CodexDesktopInstaller.exe1.3 MB

注意这里只下载了 stub 安装器(1.3 MB)。如果你的内网机器能够访问微软 CDN(比如有白名单代理),那直接用这个安装器即可。如果是完全断网的环境,需要额外一步。

第 2 步 — 拷贝到内网
第 3 步 — 获取纯离线 MSIX(完全断网环境)

如果内网完全断网(连微软 CDN 也访问不了),需要提前从一台已安装 Codex Desktop 的机器上提取完整安装包。

在这台有网机器上(已经装好 Codex Desktop),以管理员身份运行:

scripts\extract-msix.bat

这个脚本会自动:

  1. 扫描C:\Program Files\WindowsApps\目录
  2. 找到 OpenAI.CodexDesktop 的安装文件夹
  3. 完整复制到pkg\AppxPackage\目录

pkg\AppxPackage\拷回内网机器即可。

第 4 步 — 内网安装
# 右键 → 以管理员身份运行 setup.bat

setup.bat 会按以下优先级尝试安装:

优先级安装方式条件
Add-AppxPackage -Register已有pkg\AppxPackage\目录
Add-AppxPackage -Path已有pkg\*.msix文件
Add-AppxProvisionedPackage已有pkg\AppxPackage\目录
DISM 命令安装已有pkg\AppxPackage\目录
运行安装器 stub需要能访问微软 CDN

也就是说,你只要准备了上述任意一种材料,setup.bat 都能自动识别并使用最佳方式安装。


仓库目录结构全貌

pack/ ├── cc-offline/ Claude Code CLI 离线包 │ ├── settings.ini 版本号与 API 配置 │ ├── settings.json Claude Code 预配置(放入 ~/.claude/) │ ├── setup.bat 内网安装脚本(管理员运行) │ └── scripts/ │ ├── pack-online.bat 联网机下载脚本 │ └── verify.bat 安装后验证脚本 │ ├── codex-offline/ Codex CLI 离线包 │ ├── settings.ini │ ├── settings.json │ ├── setup.bat │ └── scripts/ │ ├── pack-online.bat │ └── verify.bat │ └── codex-desktop-offline/ Codex Desktop 离线包 ├── settings.ini ├── setup.bat └── scripts/ ├── pack-online.bat ├── extract-msix.bat 从已装机提取离线 MSIX 包 └── verify.bat

常见问题

Q:setup.bat 提示需要管理员权限?
A:右键setup.bat→ 选择"以管理员身份运行"。安装 Node.js 和写系统 PATH 都需要管理员权限。

Q:pack-online.bat 下载失败?
A:检查联网机的网络连接。需要能访问 GitHub Releases、nodejs.org、npmjs.org。如果公司网络有代理,需要先配置好代理环境变量。

Q:安装后命令行找不到 claude / codex?
A:关掉当前终端,打开一个新终端。因为 setup.bat 修改的是系统 PATH 环境变量,已经打开的终端不会感知到变化。重启 Windows 也可以解决。

http://www.jsqmd.com/news/1125969/

相关文章:

  • 如何用JavaQuestPlayer三步搞定QSP游戏开发:终极Java游戏引擎指南
  • Ventoy主题制作终极指南:从零打造个性化启动界面
  • 邢台矫正哪家好?
  • 抖店采购失败是什么原因1688下单失败怎么排查
  • 点估计与估计量理论 — 统计推断与估计理论
  • Translation-Agent安全实践:10个技巧保护API密钥与数据隐私
  • CentOS 7 系统管理实战全攻略:从基础到企业级运维
  • 数据库设计 Step by Step (6) —— 提取业务规则
  • 300元真无线耳机技术真相:为什么它成了性价比分水岭
  • Win11Debloat终极指南:如何用3分钟让Windows系统性能提升50%
  • Cadence 17.2 焊盘设计进阶:5步创建自定义Flash Symbol与负片连接
  • 5分钟搞定动作捕捉:FreeMoCap免费开源系统完整使用指南
  • Halcon 22.05 图像标注实战:paint_region() 生成3类分割掩码图
  • 渗透测试中的权限维持技术:从入门到进阶
  • S7-200 SMART V2.3 运动轴组态:3步完成步进电机点动/定位控制(附程序块)
  • 打印店预约系统-ssm
  • Codex App深度解析:从AI编程助手到并行开发工作流管理
  • 70天冲刺!9月PMP末班车倒计时:这些隐藏规则不知道,可能连考场都进不去
  • 本地AI绘画新利器:Codex与Cowart插件实现无限画布与精准编辑
  • 如何快速部署portal-application-license-monitor:5步完成FlexNet许可证监控配置
  • 平阳室内宴会厅布置攻略
  • Memora:微软给 AI Agent 装上了“不会忘事的大脑”——长期记忆效率提升 98%
  • 夏日清新新色登场!OPPOReno16半夏青开售
  • Claude Mythos Preview 发布后严重漏洞激增:安全还是营销?
  • Keras 2.15 实战:MegaFace 40人数据集CNN人脸识别,验证集准确率达92%
  • 运营负责人视角抖店工具要不要买先看团队每天浪费在哪些重复动作上
  • BMAD Loop:把开发循环的控制权,交还给确定性代码
  • 程序员应知——善于借鉴
  • Kafka Streams 实战:从状态管理到 exactly-once 生产落地
  • Django模板AJAX局部更新实战:零侵入增强交互体验