copilot在wsl中无法工作

copilot在wsl中无法工作

copilot 在 wsl 中无法工作——vscode remote develop 代理设置

通过本文,你可以了解:

  1. 如何解决 copilot 在 wsl 中无法使用的问题
  2. wsl和宿主机之间的网络通信
  3. vscode 的 remote develop 代理设置

问题表现

如果你有以下问题之一:

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
你可能见过这个方案:github - Copilot is not working is WSL remote connection? - Stack Overflow

这个方案确实可以成功,但是带来的副作用是 copilot 无法修改 WSL 中的文件,agent模式将称为摆设,因为你设置 copilot 完全工作在宿主机上(即设置的 "GitHub.copilot": [ "ui" ]

WSL和宿主机网络互访

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

#!/bin/shhostip=$(ip route show |grep -i default |awk'{ print $3}')wslip=$(hostname -I |awk'{print $1}')port=7890PROXY_HTTP="http://${hostip}:${port}"PROXY_SOCKS5="socks5://${hostip}:${port}"set_proxy(){exporthttp_proxy="${PROXY_HTTP}"exportHTTP_PROXY="${PROXY_HTTP}"exporthttps_proxy="${PROXY_HTTP}"exportHTTPS_proxy="${PROXY_HTTP}"exportALL_PROXY="${PROXY_SOCKS5}"exportall_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];thenecho"Proxy setup succeeded!"elseecho"Proxy setup failed!"fi}if["$1"="set"]then set_proxy elif["$1"="unset"]then unset_proxy elif["$1"="test"]then test_setting elseecho"Unsupported arguments."fi

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

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

参考

WSL2与Windows间的网络互访 - 简书

WSL2 访问 Clash 网络代理 | 极客开发

Read more

【Matlab】最新版2025a发布,深色模式、Copilot编程助手上线!

【Matlab】最新版2025a发布,深色模式、Copilot编程助手上线!

文章目录 * 一、软件安装 * 1.1 系统配置要求 * 1.2 安装 * 二、新版功能探索 * 2.1 界面图标和深色主题 * 2.2 MATLAB Copilot AI助手 * 2.3 绘图区升级 * 2.4 simulink * 2.5 更多 🟠现在可能无法登录或者注册mathworks(写这句话的时间:2025-05-20): 最近当你登录或者注册账号的时候会显示:no healthy upstream,很多人都遇到了这个问题,我在reddit上看到了mathworks官方的回答:确实有这个问题,正在恢复,不知道要几天咯,大家先用旧版本吧。 — 已经近10天了,原因是:遭受勒索软件攻击 延迟一个月,终于发布了🤭。 一、软件安装 1.1

源码交付!全域感知、一网统飞:无人机智能AI巡检平台,一键起飞、航线规划、三维点云建模、YOLO视频AI算法

文末联系小编,获取项目源码 无人机智能AI巡检平台是在距地面300米以下低空空域,融合无人机技术、AI 算法、5G通信、GIS地理信息系统和IoT物联网技术的一体化解决方案,通过 "空天地一体化" 协同作业,实现对低空目标的无人化、自动化、智能化巡检管理平台,为市政交通、河道治理、森林安防、输电巡查、管道巡检等场景提供高效、安全、精准的巡检服务。 随着我国万亿级低空经济市场的飞速发展和逐步成熟,在国家-省-市三级低空飞行综合监管服务平台体系中,县域低空飞行服务平台作为“末梢神经”和“落地执行单元”,具有不可替代的实践价值,其核心定位是:本地低空基础资源和上级低空监管平台的承上启下。 * 一网统飞深度融合:平台将全面接入国家低空管理系统,实现空域资源智能分配与协同管理,打破区域限制,构建全国一体化低空巡检网络。 * AI 大模型赋能:融合 DeepSeek 等大语言模型,实现自然语言交互、智能报告生成与预测性维护,提升决策智能化水平。 * 轻量化与模块化:智能机场小型化、车载化,支持快速部署与移动作业,适配应急场景需求。

FPGA基础知识(十五):Xilinx Clocking Wizard IP核完全指南--从基础到高级应用

FPGA基础知识(十五):Xilinx Clocking Wizard IP核完全指南--从基础到高级应用

《FPGA基础知识》系列导航                本专栏专为FPGA新手打造的Xilinx平台入门指南。旨在手把手带你走通从代码、仿真、约束到生成比特流并烧录的全过程。        本篇是该系列的第十五篇内容        上一篇:FPGA基础知识(十四):FIFO工作原理与基础概念-ZEEKLOG博客        下一篇:FPGA基础知识(十六):Xilinx Block Memory IP核完全指南(1)--核心定位与基础配置-ZEEKLOG博客       在FPGA设计中,时钟管理是整个系统稳定运行的基石。Xilinx的Clocking Wizard IP核作为时钟管理的核心工具,能够极大地简化复杂的时钟设计。本文将带你从基础使用到高级应用,全面掌握这个强大的工具。 一、Clocking Wizard是什么?        Clocking Wizard是Xilinx Vivado设计套件中的一个IP核,用于自动化和简化FPGA中的时钟管理。它提供了一个图形化界面来配置MMCM(混合模式时钟管理器)和PLL(锁相环),让开发者无需深入理解底层复杂的

终极指南:快速掌握小米智能家居C API完整解决方案

终极指南:快速掌握小米智能家居C# API完整解决方案 【免费下载链接】mi-homeС# API for Xiaomi Mi Home devices 项目地址: https://gitcode.com/gh_mirrors/mi/mi-home 想要彻底摆脱小米官方APP的限制,实现智能家居设备的自由控制吗?mi-home项目为你提供了完美的C#编程接口,让你能够轻松构建专属的智能家居控制中心。本文将带你从零开始,全面了解这个强大的开源工具,解锁智能家居的无限可能性! 项目核心价值:为什么选择mi-home? mi-home是一个专为小米米家设备设计的C# API项目,它解决了官方接口封闭性的痛点,为开发者和高级用户提供了前所未有的设备控制自由度。通过这个项目,你可以: * 🏠 完全掌控家中所有小米智能设备 * 🔧 自定义智能场景和联动规则 * 📱 开发专属的手机控制应用 * 💻 集成到现有的智能家居系统中 设备支持范围:覆盖主流小米智能产品 该项目全面支持小米生态链中的各类智能设备,主要分为三大协议类型: Miio协议设备控制 位于MiHom