若github克隆失败,应切换https协议、配置git代理与超时、启用镜像源加速、使用shallow clone减小传输体积。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您尝试通过 GitHub 更新 Hermes Agent,但连接中断或克隆失败,则可能是由于网络不稳定、GitHub 域名解析异常或 SSH/HTTPS 协议协商失败所致。以下是解决此问题的步骤:
一、切换为 HTTPS 协议拉取仓库
默认 Git 配置可能使用 SSH 协议(git@github.com:...),在企业网络或防火墙环境下易被拦截或握手失败。强制改用 HTTPS 可绕过 SSH 密钥协商环节,提升连接成功率。
1、进入 Hermes Agent 本地工作目录,执行 cd ~/.local/share/hermes-agent(若为首次安装,该路径可能尚未创建,请先确认实际安装路径)。
2、运行 git remote set-url origin https://github.com/hermes-org/hermes-agent.git 修改远程地址。
3、执行 git fetch --all 测试 HTTPS 连通性。
二、配置 Git 全局代理与超时参数
Git 默认无代理支持且超时阈值较短,在高延迟或受限网络中极易触发“unexpected disconnect”。通过显式设置代理和延长读写超时,可显著降低中断概率。
1、若使用 HTTP 代理,运行 git config --global http.proxy http://127.0.0.1:7890(请按实际代理地址替换)。
2、若使用 HTTPS 代理,运行 git config --global https.proxy http://127.0.0.1:7890。
3、延长 Git 超时限制:执行 git config --global http.postBuffer 524288000 和 git config --global http.lowSpeedLimit 0。
4、禁用 SSL 验证(仅限可信内网环境):git config --global http.sslVerify false。
三、启用 GitHub 镜像源加速
GitHub 原始域名 raw.githubusercontent.com 在部分网络中解析缓慢或被重定向。使用国内镜像源可跳过 DNS 污染与路由绕行,直接获取静态资源。
1、编辑系统 hosts 文件:sudo nano /etc/hosts(Linux/macOS)或以管理员身份打开 C:\Windows\System32\drivers\etc\hosts(Windows WSL2)。
2、添加以下两行映射:
185.199.108.133 raw.githubusercontent.com
140.82.121.4 github.com
3、保存后执行 sudo systemctl restart systemd-resolved(Ubuntu)或 ipconfig /flushdns(WSL2)刷新 DNS 缓存。
四、使用 shallow clone 跳过历史提交
完整克隆包含全部 commit 历史,数据量大且易在网络波动时失败。采用浅层克隆仅拉取最新 HEAD 提交,大幅减少传输体积与失败风险。
1、删除当前损坏的本地仓库:rm -rf ~/.local/share/hermes-agent。
2、执行浅层克隆命令:git clone --depth 1 https://github.com/hermes-org/hermes-agent.git ~/.local/share/hermes-agent。
3、进入目录后,运行 git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*" 以便后续可正常 fetch 更新。











