https://github.com/deeptrial/claude-code-offline
An intelligent deployment solution for Claude Code with automatic mirror detection and multi-language support.
https://github.com/deeptrial/claude-code-offline
claude-code offline setup-script
Last synced: 28 days ago
JSON representation
An intelligent deployment solution for Claude Code with automatic mirror detection and multi-language support.
- Host: GitHub
- URL: https://github.com/deeptrial/claude-code-offline
- Owner: DeepTrial
- Created: 2026-03-29T09:06:51.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-04-26T15:05:09.000Z (about 2 months ago)
- Last Synced: 2026-04-26T15:24:01.473Z (about 2 months ago)
- Topics: claude-code, offline, setup-script
- Language: Shell
- Homepage:
- Size: 117 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Claude Code 离线部署方案
> **简体中文** | [English](docs/i18n/README.en.md) | [繁體中文](docs/i18n/README.zh-TW.md) | [Русский](docs/i18n/README.ru.md) | [日本語](docs/i18n/README.ja.md) | [한국어](docs/i18n/README.ko.md)
[](.github/workflows/download-claude-packages.yml)
[](setup-claude-code.sh)
[](LICENSE)
一个智能的 Claude Code 离线部署方案,支持自动镜像源检测、地区限制绕过和多语言支持。
## 特性
- ✅ **GitHub Actions 自动下载**: 自动从 npm 下载最新 Claude Code 并打包
- ✅ **多路径自动检测**: 自动查找离线包,无需硬编码路径
- ✅ **通用 Node.js 安装**: 支持 nvm、apt 或直接下载二进制文件安装 Node.js
- ✅ **灵活的部署方式**: 支持离线包、在线下载或直接 npm 安装
- ✅ **智能配置管理**: 自动清理旧配置,保持 .bashrc 整洁
- ✅ **内置清理工具**: 包含 TMP 目录清理脚本
- ✅ **🆕 镜像源自动检测**: 自动测试并选择最快的下载源(Node.js、npm、GitHub)
- ✅ **🆕 地区限制绕过**: 自动配置跳过首次启动的地区验证
- ✅ **🆕 卸载功能**: 完整的卸载功能,支持备份
- ✅ **🆕 离线 Skills 支持**: 内置 14 个离线可用的 Claude Code 插件(文档处理、设计、测试等)
---
## 🚀 快速开始(3 种方式)
### 方式 1:一行命令安装(推荐,需要网络)
```bash
bash <(curl -fsSL https://raw.githubusercontent.com/DeepTrial/claude-code-offline/main/setup-claude-code.sh) --auto-download
```
### 方式 2:使用离线包安装(无需网络)
1. 从 [Releases](https://github.com/DeepTrial/claude-code-offline/releases) 下载 `claude-offline-packages.tar.gz`
2. 解压并运行:
```bash
tar -xzf claude-offline-packages.tar.gz
cd claude-offline-packages
bash setup-claude-code.sh
```
### 方式 3:本地已有离线包
```bash
bash setup-claude-code.sh --offline-path /path/to/claude-offline-packages
```
---
## ⚠️ 安装后必做(关键步骤)
安装完成后,**必须配置 API 密钥**才能使用:
### 1. 编辑配置文件
```bash
nano ~/.claude/settings.json
```
### 2. 修改以下配置
```json
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.anthropic.com",
"ANTHROPIC_API_KEY": "sk-your-api-key-here",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-3-opus-20240229",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-3-sonnet-20240229",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-3-haiku-20240307"
}
}
```
### 3. 重新加载配置
```bash
source ~/.bashrc
claude --version
```
> 💡 **提示**:如果你所在地区无法直接访问 Anthropic API,需要配置代理地址到 `ANTHROPIC_BASE_URL`
---
## 详细使用指南
### 目录
- [自动版本更新](#自动版本更新)
- [平台支持](#平台支持)
- [镜像源自动检测](#镜像源自动检测)
- [地区限制绕过](#地区限制绕过)
- [高级用法](#高级用法)
- [卸载方法](#卸载方法)
- [故障排除](#故障排除)
## 自动版本更新
本仓库包含自动版本检查和更新机制:
### GitHub Actions 自动构建
工作流自动执行:
1. **每日检查**:每天 UTC 00:00 检查 npm registry 新版本
2. **版本对比**:对比 npm 版本与现有 GitHub Release
3. **智能构建**:仅检测到新版本时才构建
4. **自动发布**:自动创建 GitHub Release
### 本地版本检查器
使用 `check-update.sh` 脚本检查和下载更新:
```bash
# 交互式检查更新
bash check-update.sh
# 仅检查版本
bash check-update.sh --check-only
# 有更新则下载并安装
bash check-update.sh --install
```
## 平台支持
### 默认构建平台
GitHub Actions 自动构建的离线包默认为 **linux-x64** 平台。包中包含:
- Claude Code CLI 原生二进制 (linux-x64)
- 所有离线可用的 skills 和 plugins
### 支持的平台列表
| 平台 | npm 包名 | 说明 |
|------|---------|------|
| **linux-x64** | `@anthropic-ai/claude-code-linux-x64` | 默认构建 (glibc) |
| **linux-arm64** | `@anthropic-ai/claude-code-linux-arm64` | ARM Linux (glibc) |
| **linux-x64-musl** | `@anthropic-ai/claude-code-linux-x64-musl` | Alpine/BusyBox |
| **linux-arm64-musl** | `@anthropic-ai/claude-code-linux-arm64-musl` | Alpine ARM |
| **darwin-x64** | `@anthropic-ai/claude-code-darwin-x64` | macOS Intel |
| **darwin-arm64** | `@anthropic-ai/claude-code-darwin-arm64` | macOS Apple Silicon |
| **win32-x64** | `@anthropic-ai/claude-code-win32-x64` | Windows x64 |
| **win32-arm64** | `@anthropic-ai/claude-code-win32-arm64` | Windows ARM |
### 修改项目以支持其他平台
如需为其他平台构建离线包,修改 `.github/workflows/download-claude-packages.yml`:
#### 修改下载的原生二进制包
找到以下部分,将 `linux-x64` 替换为目标平台:
```yaml
# 原代码(linux-x64)
npm pack "@anthropic-ai/claude-code-linux-x64@${CLAUDE_VERSION}" --pack-destination .
NATIVE_TGZ=$(ls -t anthropic-ai-claude-code-linux-x64-*.tgz 2>/dev/null | head -1)
if [ -n "$NATIVE_TGZ" ]; then
mv "$NATIVE_TGZ" "claude-code-linux-x64-${CLAUDE_VERSION}.tgz"
```
替换为对应平台,例如 **macOS Apple Silicon**:
```yaml
npm pack "@anthropic-ai/claude-code-darwin-arm64@${CLAUDE_VERSION}" --pack-destination .
NATIVE_TGZ=$(ls -t anthropic-ai-claude-code-darwin-arm64-*.tgz 2>/dev/null | head -1)
if [ -n "$NATIVE_TGZ" ]; then
mv "$NATIVE_TGZ" "claude-code-darwin-arm64-${CLAUDE_VERSION}.tgz"
```
#### 同时修改解压步骤
找到解压原生二进制包的部分:
```yaml
# 原代码(linux-x64)
NATIVE_TGZ=$(ls -t claude-code-linux-x64-*.tgz 2>/dev/null | head -1)
if [ -n "$NATIVE_TGZ" ]; then
echo "Extracting: $NATIVE_TGZ to node_modules/@anthropic-ai/claude-code-linux-x64"
mkdir -p node_modules/@anthropic-ai/claude-code-linux-x64
tar -xzf "$NATIVE_TGZ" -C node_modules/@anthropic-ai/claude-code-linux-x64 --strip-components=1
fi
```
替换为:
```yaml
NATIVE_TGZ=$(ls -t claude-code-darwin-arm64-*.tgz 2>/dev/null | head -1)
if [ -n "$NATIVE_TGZ" ]; then
echo "Extracting: $NATIVE_TGZ to node_modules/@anthropic-ai/claude-code-darwin-arm64"
mkdir -p node_modules/@anthropic-ai/claude-code-darwin-arm64
tar -xzf "$NATIVE_TGZ" -C node_modules/@anthropic-ai/claude-code-darwin-arm64 --strip-components=1
fi
```
#### 修改 package.json 平台标记
```yaml
# 找到并修改 platform 字段
"platform": "darwin-arm64" # 原为 "linux-x64"
```
### Fork 后自动构建
1. Fork 本仓库
2. 按上述方法修改 workflow 文件
3. 在你 fork 的仓库中启用 GitHub Actions
4. 等待自动构建或手动触发 workflow
构建完成后,离线包会发布到你 fork 的仓库 Releases 中。
```bash
# 示例:下载 macOS ARM64 版本用于离线部署
npm pack @anthropic-ai/claude-code@latest
npm pack @anthropic-ai/claude-code-darwin-arm64@latest
# 将 .tgz 文件传输到目标机器后解压
mkdir -p node_modules/@anthropic-ai/claude-code
tar -xzf anthropic-ai-claude-code-*.tgz -C node_modules/@anthropic-ai/claude-code --strip-components=1
mkdir -p node_modules/@anthropic-ai/claude-code-darwin-arm64
tar -xzf anthropic-ai-claude-code-darwin-arm64-*.tgz -C node_modules/@anthropic-ai/claude-code-darwin-arm64 --strip-components=1
# 运行 postinstall
cd node_modules/@anthropic-ai/claude-code
node install.cjs
```
## 镜像源自动检测
脚本内置智能镜像源检测系统,自动测试并选择最快的下载源:
### 支持的镜像源
| 类型 | 默认源 | 国内镜像源 |
|------|--------|-----------|
| **Node.js 二进制** | `nodejs.org/dist/` | 淘宝(npmmirror)、腾讯云 |
| **npm registry** | `registry.npmjs.org/` | `registry.npmmirror.com` |
| **nvm 安装脚本** | `raw.githubusercontent.com` | jsDelivr CDN、gitmirror |
| **GitHub API** | `api.github.com` | gitmirror、ghproxy、ghps.cc |
### 自定义镜像源
```bash
# 自定义 Node.js 镜像
export NODE_MIRROR=https://your-mirror.com/node/
# 自定义 npm registry
export NPM_MIRROR=https://your-registry.com
# 然后运行脚本
bash setup-claude-code.sh --auto-download
```
## 地区限制绕过
脚本已内置配置来自动绕过 Claude Code 的首次启动地区限制:
### 自动配置项
| 配置 | 作用 |
|------|------|
| `hasCompletedOnboarding: true` | 标记引导流程已完成 |
| `skipOnboarding: true` | 跳过首次启动引导 |
| `hasAcceptedTerms: true` | 标记已接受服务条款 |
| `telemetry.enabled: false` | 禁用遥测 |
| `DISABLE_AUTOUPDATER=1` | 禁用自动更新 |
| `CLAUDE_CODE_SKIP_FIRST_RUN=1` | 跳过首次运行检查 |
| `regionCheck.bypassed: true` | 标记地区检查已绕过 |
### 如果仍遇到地区问题
确保正确配置 API 端点(使用代理):
```json
{
"env": {
"ANTHROPIC_BASE_URL": "https://your-proxy-api-endpoint.com",
"ANTHROPIC_API_KEY": "your-api-key"
}
}
```
## 高级用法
### 脚本参数
| 参数 | 说明 |
|------|------|
| `--offline-path PATH` | 指定离线包路径 |
| `--auto-download` | 自动从 GitHub Release 下载 |
| `--force-download` | 强制重新下载,即使本地已有包 |
| `--skip-mirror-test` | 跳过镜像速度测试 |
| `--uninstall` | 卸载 Claude Code 及所有配置 |
| `--help, -h` | 显示帮助信息 |
### 环境变量
| 变量 | 说明 | 示例 |
|------|------|------|
| `NODE_MIRROR` | 自定义 Node.js 镜像源 | `https://npmmirror.com/mirrors/node/` |
| `NPM_MIRROR` | 自定义 npm registry | `https://registry.npmmirror.com` |
| `GITHUB_MIRROR` | 自定义 GitHub API 镜像 | `https://hub.gitmirror.com/https://api.github.com` |
### GitHub Actions 触发方式
1. **手动触发**:
```
GitHub 页面 → Actions → Download Claude Code Offline Packages → Run workflow
```
2. **定时触发**:
- 每天 UTC 00:00 自动检查新版本
- 每周一 UTC 00:00 完整重建
## 卸载方法
```bash
# 卸载 Claude Code
bash setup-claude-code.sh --uninstall
```
卸载内容包括:
- ✅ 删除 `~/.claude/` 配置目录
- ✅ 删除 `~/.claude.json` 配置文件
- ✅ 从 `.bashrc` 中移除所有相关配置
- ✅ 可选:删除 Node.js 和 nvm(如果由本脚本安装)
- ✅ 卸载前自动备份配置
## 故障排除
### Node.js 安装失败
```bash
# 手动安装 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.nvm/nvm.sh
nvm install 20
nvm use 20
# 重新运行脚本
bash setup-claude-code.sh
```
### Claude 命令找不到
```bash
# 重新加载 shell 配置
source ~/.bashrc
# 或手动添加 PATH
export PATH="/path/to/claude-offline-packages/node_modules/.bin:$PATH"
```
### API 连接失败
如果配置后仍无法使用,检查:
1. API 密钥是否正确
2. 网络是否可以访问配置的 `ANTHROPIC_BASE_URL`
3. 是否需要配置代理
## 许可证
与原 Claude Code 许可证一致。
## 贡献
欢迎提交 Issue 和 Pull Request 来改进这个项目。
---
**注意**: Claude Code 和 Claude 标志是 Anthropic 的商标。本项目与 Anthropic 无关。