中国镜像智能切换
为用户找到“在其当前网络和具体资源上可用”的方案,而不是宣称某个地址普遍最快。先判断瓶颈,再选择可信候选、实测、最小范围切换、验证真实生效,并提供可执行的回滚方式。
不可省略的原则
- 镜像和加速服务会变化。涉及当前可用性、域名、命令或服务状态时,检索上游官方文档、镜像运营方文档和状态页;标明核验日期。不要凭记忆编造或沿用失效域名。
- 信任顺序通常为:官方上游的节流/缓存/代理方案 → 用户组织管理的代理或制品库 → 高校/云厂商公开镜像 → 社区反向代理。速度不是唯一标准。
- 私有 Git 仓库、Hugging Face gated/private 仓库、上传、推送和任何携带凭据的操作,只能使用官方端点或用户明确认可的受信代理。绝不把 token、Cookie、SSH 私钥或凭据化 URL 发给公共镜像。
- 镜像默认只用于读取。不要把
push、上传、登录、API 写操作或凭据助手悄悄改到第三方端点。 - 默认给出临时或项目级方案。写入用户级配置、shell profile、系统源、Docker daemon、DNS/hosts 或需要管理员权限/服务重启的变更,必须先展示目标、现值、备份与回滚,并获得明确同意。
- 不关闭 TLS 校验,不用 HTTP 代替可用的 HTTPS,不通过改 hosts 固定动态 CDN IP,不把无限重试当成修复。
- 保留规范资源身份:GitHub 的 owner/repo、远端与 commit;模型的 repo type、revision、文件集合、license 与校验信息。替代平台上的同名内容不是自动等价。
工作流
-
界定任务。 确认资源类型、公开/私有、只读/写入、操作系统与 shell、工具及版本、目标作用域(本命令/本项目/用户/系统)、是否存在组织代理。能从环境安全读取的事实不要反复询问。
-
诊断原路径。 区分 DNS、TCP/TLS、HTTP、认证/限流、Git LFS、Hugging Face Xet/LFS、客户端版本、磁盘/缓存等问题。读取现有配置时要脱敏。需要系统化诊断时读 references/security-diagnostics.md。
-
缩小传输。 在换源前先使用 shallow/partial clone、按文件/格式下载、固定 revision、复用缓存等官方能力。它们通常比更换不可信端点更稳。
-
发现候选。 至少包含官方基线;优先找运营主体、HTTPS、帮助页、更新/同步说明、状态信息和回滚文档明确的候选。公开加速器只能处理公开读请求。
-
从实际环境测量。 对同一公开小文件或同一对象范围做 3 次以上测试,比较成功率、最终域名、TLS、状态码、TTFB、吞吐、Range、ETag/Last-Modified 与内容摘要。可运行:
python scripts/probe_mirrors.py \ --candidate upstream=https://example.org/path/to/public-file \ --candidate mirror-a=https://mirror.example/path/to/public-file \ --rounds 3 --require-same-digest脚本只依赖 Python 3.10+ 标准库。不要把签名 URL、私有 URL 或认证头交给它。结果只代表本次网络、该对象和该时刻。
-
先给变更计划。 列出候选依据、选择理由、确切命令、影响范围、验证与回滚。若用户只要建议,到此停止;不要擅自修改。
-
执行最小变更。 用户已明确要求“帮我切换”时,可执行临时或项目级可逆变更;全局/系统级仍需单独确认。一次只改一个层级,保留原值,不覆盖无关配置。
-
端到端验证。 不只看退出码:确认客户端实际命中的端点、目标 revision/commit、文件数量与大小、摘要/签名、缓存路径,以及下一次命令仍按预期工作。失败时恢复原值并解释失败层级。
-
交付。 给出当前生效配置、实测时间与局限、验证结果、单条或最短回滚命令;任何未验证项都明确标注。
按场景加载
- GitHub clone/fetch、Raw、Release、Archive、Submodule、LFS、SSH 443:读 references/github.md。
- Hugging Face 模型/数据集、
hfCLI、huggingface_hub、Transformers、Xet、ModelScope 等价性:读 references/hugging-face.md。 - pip/uv、npm/pnpm/yarn、Go、Rust、Conda、Maven/Gradle、Homebrew、Docker、Linux 软件源:读 references/ecosystems.md。
- 候选发现、测速、安全分级、完整性、新鲜度、诊断与变更保护:读 references/security-diagnostics.md。
只加载当前任务需要的参考文件。一个请求跨多个生态时,分别处理配置作用域和回滚,不把它们混成一条全局“加速脚本”。
推荐的回答结构
对需要决策或变更的请求,按以下信息交付,简单问题可压缩:
- 诊断结论与证据;
- 候选对比表(信任级别、成功率/延迟、认证能力、新鲜度、限制);
- 推荐方案与最小作用域命令;
- 验证结果;
- 回滚命令和仍存在的风险。
不要只罗列镜像域名,也不要把“网页能打开”误判成 Git、LFS、Xet、Range 或包索引协议完整可用。
微信扫一扫