Bootstrap China 网络环境一站式配置和诊断所有开发工具在中国的配置和诊断。先诊断,然后应用修复。所有设置脚本都包含在此技能的 scripts/ 目录下作为资源——它们不会加载到上下文中,但通过 bash 调用。
步骤
所有脚本路径都是相对于此技能目录的:SKILL_DIR="<绝对路径到 skills/bootstrap-china-network>" 使用此 SKILL.md 所在的目录。
如果用户想要诊断环境,检查配置,或者了解为什么某些事情很慢:bash "$SKILL_DIR/scripts/diagnose.sh" 这将:
收集系统信息并检测代理冲突
扫描安装的开发工具及其镜像配置
测试连接到官方源和中国镜像(带有计时)
输出结构化的建议(HIGH/MEDIUM/LOW 优先级)
在诊断之后,查看建议并提供应用修复未配置工具的选项。
# 检测安装的工具
for tool in pip uv npm yarn pnpm docker cargo go conda flutter brew; do
which $tool 2>/dev/null && echo "✓ $tool" || true
done
# 检查代理冲突
[[ -n "$HTTP_PROXY$HTTPS_PROXY$http_proxy$https_proxy" ]] && echo "⚠️ 代理检测"
如果 HTTP_PROXY 或 HTTPS_PROXY 设置,警告用户:
代理环境变量已设置。在中国,使用 VPN/代理与镜像一起可能会引起冲突。考虑:unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY
对于每个检测到的工具,运行相应的脚本。询问用户偏好或使用合理的默认值:
工具 脚本(相对于 SKILL_DIR) 默认镜像
pip/uv/poetry scripts/python/setup.sh tuna
npm/yarn/pnpm scripts/node/setup.sh npmmirror
APT(Ubuntu/Debian) sudo scripts/apt/setup.sh tuna
Docker CE + Hub sudo scripts/docker/setup.sh tuna
Homebrew scripts/homebrew/setup.sh tuna
Conda/Anaconda scripts/conda/setup.sh tuna
Cargo/Rust scripts/rust/setup.sh ustc
Go 模块 scripts/go/setup.sh goproxy
Flutter/Dart scripts/flutter/setup.sh tuna
GitHub Releases/Clone scripts/github/setup.sh tuna(支持 --proxy-clone 全局加速 clone)
所有脚本都支持以下标志:
-m / --mirror — 选择镜像源
-f / --force — 强制覆盖
-d / --dry-run — 预览更改而不应用
-y / --yes — 跳过确认提示
运行检测到的工具的脚本。每个脚本都是幂等的——可以安全地多次运行。
示例:bash "$SKILL_DIR/scripts/python/setup.sh" --mirror tuna
bash "$SKILL_DIR/scripts/node/setup.sh" --mirror npmmirror
sudo bash "$SKILL_DIR/scripts/apt/setup.sh" --mirror tuna
应用后,运行每个配置工具的快速验证:
pip config get global.index-url 2>/dev/null
npm config get registry 2>/dev/null
go env GOPROXY 2>/dev/null
cat ~/.cargo/config.toml 2>/dev/null | grep index
报告:什么被配置(工具 -> 镜像 URL)
任何警告(代理冲突,权限问题,工具未找到)
如何还原:bash "$SKILL_DIR/scripts/restore_config.sh" --tool --latest
Dry Run
如果用户想要预览更改,添加 --dry-run 到每个脚本:
bash "$SKILL_DIR/scripts/python/setup.sh" --dry-run
bash "$SKILL_DIR/scripts/node/setup.sh" --dry-run
备份和还原
备份存储在 ~/.china-mirror-backup/ 中。
# 备份所有工具配置
bash "$SKILL_DIR/scripts/backup_config.sh" --all
# 备份特定工具
bash "$SKILL_DIR/scripts/backup_config.sh" --tool pip
# 还原最新备份的工具
bash "$SKILL_DIR/scripts/restore_config.sh" --tool pip --latest
# 列出所有备份
bash "$SKILL_DIR/scripts/restore_config.sh" --list