开源llama.cpp Releases·原文 2026年10月17日

llama.cpp b11699:HTTP客户端开始遵循代理环境变量,并默认绕过本地回环地址

该版本让common_http_client() 读取HTTP_PROXY/HTTPS_PROXY/NO_PROXY,修复 -hf等下载在代理环境下静默失败的问题;同时强制localhost、127.0.0.0/8、::1 等回环目标直连,避免健康检查卡在“Loading model...”。

llama.cpp发布b11699,合入PR #21752,让common_http_client() 遵循标准HTTP代理环境变量,并强制回环地址直连。

代理环境变量如何被读取

该PR的问题背景是common_http_client() 此前忽略标准代理环境变量,使通过 -hf等参数发起的下载在HTTP代理环境中静默失败,来源列举的场景包括企业网络和隔离基础设施。

新逻辑按URL协议选择变量:对于https:// URL检查HTTPS_PROXY/https_proxy,对于http:// URL检查HTTP_PROXY/http_proxy,顺序如所述。若代理URL已设置且可解析,则按情况传给httplib的set_proxy() 与set_proxy_basic_auth()。格式错误的代理URL会被忽略,并在后续改动中改为发出警告,以免影响既有调用方。

该PR还加入NO_PROXY支持,并注明对下载和远程 --server-base端点的代理处理没有改变。

回环地址直连修复启动挂起

提交信息描述了llama cli与代理冲突的具体表现:cli通过common_http_client访问自己启动在 127.0.0.1 的服务;当HTTP_PROXY已设置而没有NO_PROXY时,健康轮询会发往企业代理,代理拒绝回环目标,等待循环无法退出,界面停留在“Loading model...”不返回。

因此这些目标现在始终直连,且在查询NO_PROXY之前先处理:localhost、*.localhost、127.0.0.0/8、::1 和 0.0.0.0。提交说明称这一做法与Go的net/http类似。

代理使用说明已按评审意见从顶层README移到server文档的Usage部分,顶层README保持精简。b11699同时提供多平台预编译包,包括macOS、Linux、Android、Windows及多种后端变体。

信息来源

llama.cpp Releases原始来源