| name | mirror-optimizer |
| description | 当用户明确要求"优化镜像源"、"配置国内镜像"、"加速部署"、"切换镜像源"或项目涉及 Docker/Python/Node.js/Go/Java/Ruby/Rust 等需要包管理器的场景时使用。自动检测项目使用的包管理器,生成适配的国内镜像源配置,确保在国内网络环境下快速部署。⚠️ 不适用:用户只是想了解镜像源概念(应直接说明)、项目已完成部署且无需优化(应直接告知无需操作)、用户明确要求使用官方源(应尊重用户选择)。 |
| metadata | {"short-description":"智能镜像源优化代理","keywords":["mirror","registry","镜像源","加速部署","国内镜像","mirror-optimizer"],"category":"devops","author":"Bensz Conan","platform":"Claude Code | OpenAI Codex | ChatGPT","iron-law":"NO DEPLOYMENT WITHOUT MIRROR CONFIGURATION FIRST\n(任何部署任务前必须先确认镜像源配置)\n"} |
Mirror Optimizer - 镜像源优化代理
BenszAPI 任务工作区
本 Skill 的新任务中间文件统一写入 ./.bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/{skill名}/input|output|log/。同一任务复用一个任务根目录;多 Skill 协作才创建 shared/。正式交付物不写入该目录,历史隐藏目录只允许显式兼容读取、迁移或清理。
与 bensz-collect-bugs 的协作约定
- 因本 skill 设计缺陷导致的 bug,先用
bensz-collect-bugs 规范记录到 ~/.bensz-skills/bugs/,不要直接修改用户本地已安装的 skill 源码;若有 workaround,先记 bug,再继续完成任务。
- 只有用户明确要求“report bensz skills bugs”等公开上报时,才用本地
gh 上传新增 bug 到 huangwb8/bensz-bugs;不要 pull / clone 整个仓库。
铁律
NO DEPLOYMENT WITHOUT MIRROR CONFIGURATION FIRST
任何涉及依赖下载的部署任务,必须先确认并优化镜像源配置,否则在国内环境下部署将极慢或失败。
核心理念
智能适配,透明可逆。根据项目技术栈自动识别需要配置的镜像源类型,生成标准化的配置文件,同时保持官方源兼容性,支持一键切换。
何时使用
- 项目包含
Dockerfile、docker-compose.yml 或 .dockerignore
- 项目包含
requirements.txt、pyproject.toml、Pipfile、setup.py、setup.cfg 或 poetry.lock
- 项目包含
package.json、yarn.lock、pnpm-lock.yaml 或 package-lock.json
- 项目包含
go.mod、go.sum、Gopkg.lock 或 Gopkg.toml
- 项目包含
pom.xml、build.gradle、build.gradle.kts 或 settings.gradle
- 项目包含
Gemfile、gems.rb 或 Cargo.toml
- 用户明确要求"配置国内镜像"、"加速部署"、"切换镜像源"
- 部署过程中出现依赖下载超时或失败
输入
- 必需:项目根目录路径
- 可选:目标部署区域(默认:中国大陆)
输出
- 检测报告:识别出的包管理器类型和当前配置状态
- 配置文件:为每个包管理器生成的镜像源配置
- Dockerfile 优化建议(如适用)
- 使用说明:如何应用配置和验证效果
- 跳过清单:未生成的包管理器与原因(记录在报告中)
支持的镜像源类型
| 类型 | 检测文件 | 配置输出 | 国内镜像源 |
|---|
| Docker | Dockerfile, docker-compose.yml, .dockerignore | Dockerfile.mirror | 阿里云、腾讯云 |
| Python/pip | requirements.txt, pyproject.toml | pip.conf | 清华、阿里云、中科大 |
| Node.js/npm | package.json, package-lock.json | .npmrc | 淘宝、腾讯云 |
| Node.js/yarn | yarn.lock | .yarnrc.yml | 淘宝、腾讯云 |
| Go Modules | go.mod, go.sum | go.env | 阿里云、腾讯云 |
| Java/Maven | pom.xml | settings.xml | 阿里云、腾讯云 |
| Java/Gradle | build.gradle*, settings.gradle* | init.gradle | 阿里云、腾讯云 |
| Ruby/Bundler | Gemfile, gems.rb | config | 淘宝、腾讯云 |
| Rust/Cargo | Cargo.toml | config.toml | 清华、中科大 |
工作流
-
项目扫描
- 使用硬编码脚本扫描项目根目录
- 识别所有包管理器标记文件
- 检查现有镜像源配置
-
智能分析
- 根据检测文件确定需要配置的镜像源类型
- 分析现有 Dockerfile 是否包含镜像源优化
- 评估当前配置的潜在问题
-
配置生成
- 为每个识别的包管理器生成标准化配置
- 创建
Dockerfile.mirror 优化版本(如适用)
- 生成
.bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/mirror-optimizer/output/ 目录存放所有配置文件
-
文档输出
- 生成
MIRROR_OPTIMIZATION_REPORT.md 报告
- 包含配置说明、使用方法、验证命令
- 提供切换回官方源的指南
-
验证检查
- 提供验证命令测试镜像源连通性
- 确认配置文件格式正确
- 建议测试下载速度
配置文件结构
输出目录以 config.yaml:mirror_optimization.output_dir 为准,以下以默认 .bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/mirror-optimizer/output/ 为例。
.bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/mirror-optimizer/output/
├── docker/
│ ├── Dockerfile.mirror # 优化的 Dockerfile
├── python/
│ └── pip.conf # pip 配置
├── nodejs/
│ ├── .npmrc # npm 配置
│ └── .yarnrc.yml # yarn 配置
├── golang/
│ └── go.env # Go Modules 配置
├── java/
│ ├── maven/
│ │ └── settings.xml # Maven 配置
│ └── gradle/
│ └── init.gradle # Gradle 配置
└── MIRROR_OPTIMIZATION_REPORT.md
质量门槛
国内镜像源推荐
| 类型 | 推荐源 | URL |
|---|
| Docker | 阿里云 | https://registry.cn-hangzhou.aliyuncs.com |
| Docker | 腾讯云 | https://mirror.ccs.tencentyun.com |
| Python | 清华 | https://pypi.tuna.tsinghua.edu.cn/simple |
| Python | 阿里云 | https://mirrors.aliyun.com/pypi/simple/ |
| Node.js | 淘宝 | https://registry.npmmirror.com |
| Go | 阿里云 | https://mirrors.aliyun.com/goproxy/ |
| Go | 腾讯云 | https://mirrors.tencent.com/go/ |
| Java/Maven | 阿里云 | https://maven.aliyun.com/repository/public |
| Ruby | 淘宝 | https://gems.ruby-china.com |
| Rust | 清华 | https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git |
安全注意事项
- 只使用知名云服务商的镜像源
- 验证镜像源的 HTTPS 证书
- 定期检查镜像源可用性
- 生产环境建议配置镜像源备份
相关参考