跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / BashAI

WSL 中 Copilot 无法工作的代理配置与网络互访方案

解决 VS Code Remote 连接 WSL 时 GitHub Copilot 因代理设置失效的问题。原因为 WSL 继承宿主机本地代理(127.0.0.1)导致无法访问。解决方案包括关闭 VS Code 本地代理配置,或获取宿主机 IP 并配置代理脚本,使 WSL 能通过宿主机 IP 访问代理端口。

DotNetGuy发布于 2026/4/6更新于 2026/10/19116 浏览
WSL 中 Copilot 无法工作的代理配置与网络互访方案

WSL 中 Copilot 无法工作的代理配置与网络互访方案

问题表现

如果你有以下问题之一:

image-20251023112557124

  1. 对话没有输出

image-20251023112627748

  1. 显示 fetch failed

image-20251023112927595

  1. 模型名称不显示

image-20251023113136431

问题分析

查看 copilot chat 的 output 显示:

image-20251023115601077

image-20251023113051902

如果显示 proxies 相关问题,可以确定是 WSL 中运行的 vscode 调用了宿主机的 proxy 设置的问题。

image-20251023113614436

这个选项似乎是默认开启的,会在 vscode 远程连接 wsl 开发中继承宿主机的 proxy 本地设置。问题就出在这里,如果你使用的是宿主机本机运行的代理程序,那么 proxy 的 ip 就会设置为 127.0.0.1,但是在 wsl 中想要访问宿主机的代理端口,ip 并不是 127.0.0.1(这会访问到 wsl 自己),而是需要通过如下方式查询宿主机 ip,然后访问到宿主机上的代理端口:

hostip=$(ip route show |grep -i default |awk'{ print $3}')
echo $hostip

我的输出:

172.25.48.1 

因此 wsl 中要通过 172.25.48.1 ip 来访问宿主机上的端口。

WSL 2 / VS Code RemoteWindows Host (宿主机)Listens on Port XListens on Port XReturns 172.25.48.1Default Proxy: 127.0.0.1X Connection Refused (Self)✅ Correct Proxy: 172.25.48.1:Port XTraffic ForwardedWSL ApplicationLoopback: 127.0.0.1Query: ip route show | awk '{ print $3}'Proxy AppHost IP: 172.25.48.1Loopback: 127.0.0.1

问题解决

  1. 如果可以通过网络直连,直接关闭 http: Use Local Proxy Configuration.
  2. 如果依然需要设置代理,完成 1 后,修改如下设置:

image-20251023122228413

你可能见过这个方案:Stack Overflow 上关于 Copilot 在 WSL remote connection 不可用的讨论。该方案虽然有效,但副作用是 copilot 无法修改 WSL 中的文件,agent 模式将形同虚设,因为你设置 copilot 完全工作在宿主机上(即设置的 "GitHub.copilot": [ "ui" ])。

WSL 和宿主机网络互访

上面已经说明了如何在 WSL 命令行中访问宿主机程序,那么我们可以将之应用到代理设置上,以下脚本解决了一个问题——在 wsl 命令行中如何利用宿主机代理软件?

#!/bin/sh
hostip=$(ip route show |grep -i default |awk'{ print $3}')
wslip=$(hostname -I |awk'{print $1}')
port=7890
PROXY_HTTP="http://${hostip}:${port}"
PROXY_SOCKS5="socks5://${hostip}:${port}"
set_proxy(){
export http_proxy="${PROXY_HTTP}"
export HTTP_PROXY="${PROXY_HTTP}"
export https_proxy="${PROXY_HTTP}"
export HTTPS_proxy="${PROXY_HTTP}"
export ALL_PROXY="${PROXY_SOCKS5}"
export all_proxy=${PROXY_SOCKS5}
git config --global http.https://github.com.proxy ${PROXY_HTTP}
git config --global https.https://github.com.proxy ${PROXY_HTTP}
echo "Proxy has been opened."
}
unset_proxy(){
unset http_proxy
unset HTTP_PROXY
unset https_proxy
unset HTTPS_PROXY
unset ALL_PROXY
unset all_proxy
git config --global --unset http.https://github.com.proxy
git config --global --unset https.https://github.com.proxy
echo "Proxy has been closed."
}
test_setting(){
echo "Host IP:"${hostip}
echo "WSL IP:"${wslip}
echo "Try to connect to Google..."
resp=$(curl -I -s --connect-timeout 5 -m 5 -w "%{http_code}" -o /dev/null www.google.com)
if [ "${resp}" = "200" ]; then
echo "Proxy setup succeeded!"
else
echo "Proxy setup failed!"
fi
}
if [ "$1" = "set" ]; then
set_proxy
elif [ "$1" = "unset" ]; then
unset_proxy
elif [ "$1" = "test" ]; then
test_setting
else
echo "Unsupported arguments."
fi

这个脚本自动获取宿主机的 ip,并利用宿主机上的本地代理软件来代理 wsl 中的网络请求,可以通过参数控制行为:

source proxy.sh set
# 开启代理,设置代理变量
source proxy.sh test
# 用 google.com 测试代理是否成功
source proxy.sh unset
# 关闭代理,清除代理变量设置

目录

  1. WSL 中 Copilot 无法工作的代理配置与网络互访方案
  2. 问题表现
  3. 问题分析
  4. 问题解决
  5. WSL 和宿主机网络互访
  6. 开启代理,设置代理变量
  7. 用 google.com 测试代理是否成功
  8. 关闭代理,清除代理变量设置

更多推荐文章

查看全部
  • WSL Ubuntu 及 CentOS 9 安装 OpenClaw 并对接飞书教程
  • 飞书 OpenClaw 机器人 HTTP 401 认证失败排查指南
  • 文心一言 4.5 开源版本地化部署实测与性能分析
  • Vue nextTick 原理及现代前端异步更新机制解析
  • Ollama 下载模型太慢?试试国内 HuggingFace 镜像与 LLama-Factory 组合
  • C++ KMP 算法详解:高效字符串查找实现
  • PyQt5 超详细入门教程:基础与常用控件
  • 毕业论文如何降低 AI 检测率:实战经验与技巧指南
  • 人工智能:自然语言处理高级应用与前沿发展
  • 从树到森林:决策树、随机森林与可解释性
  • DeerFlow 2.0 生产级 AI Agent 框架的 Docker 部署与并行编排
  • C++ 单词翻转:手动实现与标准库对比
  • DeerFlow 2.0 开源解析:基于 LangGraph 的超级智能体编排框架
  • 无人机传感器校准的4个C语言常见错误与解决方案
  • 两种实用方法删除 Excel 重复行:Python + VBA
  • Android Studio 零基础入门指南:环境搭建与核心组件详解
  • 三个原生 JS 小工具:成绩评级、完数查找和数组合并去重
  • Spring IoC 与依赖注入 (DI) 核心解析
  • Python 开发环境安全:为何不应在下载目录直接运行脚本
  • 基于 Next.js 构建支持 TokenP 钱包登录的 DApp 前端

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online