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

AI API Token 转售实操宝典:带你从零开始入行

AI API Token 转售实操宝典:带你从零开始入行

每天免费领 1亿 Token,白嫖DeepSeek、GLM、MiniMax、Kimi等大模型! 打算靠卖 AI API Token 赚一笔?这篇干货带你搞懂怎么跑通商业模式,选对技术方案,顺便教你避开那些容易摔跤的大坑。 前言 随着 ChatGPT 和 DeepSeek 这种大模型火遍全网,一个闷声发大财的机会也浮出了水面,那就是——做 AI API 的二道贩子。 你肯定见过不少“API 中转站”,他们的价格比官方便宜一大截,但用起来效果却一模一样。这背后到底是怎么赚钱的?普通人能不能入场?技术要求高吗? 每天免费领 1亿 Token,白嫖DeepSeek、GLM、MiniMax、Kimi等大模型! 今天我就把这行里的门道拆开了讲,带你从“看个热闹”到真正“跑通闭环”。 一、啥叫 AI

A / B测试太慢?AI帮你实时优化实验策略

A / B测试太慢?AI帮你实时优化实验策略

👋 大家好,欢迎来到我的技术博客! 📚 在这里,我会分享学习笔记、实战经验与技术思考,力求用简单的方式讲清楚复杂的问题。 🎯 本文将围绕AI这个话题展开,希望能为你带来一些启发或实用的参考。 🌱 无论你是刚入门的新手,还是正在进阶的开发者,希望你都能有所收获! 文章目录 * A/B测试太慢?AI帮你实时优化实验策略 🚀 * 为什么传统A/B测试成了效率黑洞? * AI驱动的实时优化:从“被动等待”到“主动决策” * 贝叶斯优化:AI决策的数学引擎 * 代理模型:预测点击率 * 采集函数:决定下一步策略 * 代码实战:用Python实现AI优化A/B测试 * 代码执行结果示例 * 实时决策流程:AI如何动态调整实验? * 实际业务场景:电商大促的AI优化案例 * 贝叶斯优化 vs 其他AI方法 * 如何在你的系统中落地AI优化? * 步骤1:构建基础数据层 * 步骤2:集成AI优化引擎 * 步骤3:设置停止条件 * 为什么AI优化能避免“实验陷阱”?

Flutter 组件 deepseek 的适配 鸿蒙Harmony 实战 - 驾驭国产最强大模型 API、实现鸿蒙端 AI 原生对话与流式渲染的高效集成方案

Flutter 组件 deepseek 的适配 鸿蒙Harmony 实战 - 驾驭国产最强大模型 API、实现鸿蒙端 AI 原生对话与流式渲染的高效集成方案

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 deepseek 的适配 鸿蒙Harmony 实战 - 驾驭国产最强大模型 API、实现鸿蒙端 AI 原生对话与流式渲染的高效集成方案 前言 在 AI 浪潮席卷全球的今天,大模型(LLM)已成为移动应用创新的核心引擎。而在众多的国产模型中,DeepSeek 凭借其卓越的算法效率和极致的性价比,正成为开发者们的“真香”选择。 将 DeepSeek 这种顶尖的认知能力,植入到全面拥抱智能化、万物互联的鸿蒙(OpenHarmony)系统中,将碰撞出怎样的火花? deepseek 库为 Flutter 提供了极简的 API 封装,它完美支持了 SSE(流式事件流)响应,能让你的鸿蒙 App

5分钟搞定!ComfyUI Photoshop插件终极安装指南:让AI绘画直接在PS中完成

5分钟搞定!ComfyUI Photoshop插件终极安装指南:让AI绘画直接在PS中完成 【免费下载链接】Comfy-Photoshop-SDDownload this extension via the ComfyUI manager to establish a connection between ComfyUI and the Auto-Photoshop-SD plugin in Photoshop. https://github.com/AbdullahAlfaraj/Auto-Photoshop-StableDiffusion-Plugin 项目地址: https://gitcode.com/gh_mirrors/co/Comfy-Photoshop-SD 还在为AI绘画的繁琐流程而烦恼吗?每次都要在Photoshop和AI软件之间来回切换,不仅效率低下,还容易打断创作灵感。ComfyUI Photoshop插件完美解决了这一痛点,让你在熟悉的Photoshop环境中直接使用强大的AI功能,实现无缝创作体验。 🎯 为什么你需要ComfyUI Photoshop