【agent开发】VS Code连接WSL失败解决
问题
之前给WSL配置外部代理,将WSL的网络模式改为Mirrored,然后VS Code的WSL远程就连接不上了。
控制台显示如下报错:
WSL版本如下:
WSL 版本: 2.5.7.0
内核版本: 6.6.87.1-1
WSLg 版本: 1.0.66
MSRDC 版本: 1.2.6074
Direct3D 版本: 1.611.1-81528511
DXCore 版本: 10.0.26100.1-240331-1435.ge-release
Windows: 10.0.26100.4061
VS Code版本如下:
版本: 1.100.2
提交: 848b80aeb52026648a8ff9f7c45a9b0a80641e2e
日期: 2025-05-14T21:47:40.416Z
浏览器: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.100.2 Chrome/132.0.6834.210 Electron/34.5.1 Safari/537.36
WSL扩展版本如下:
安装
标识符
ms-vscode-remote.remote-wsl
版本
0.99.0
上次更新时间
2025-06-06, 22:04:41
大小
2.49 MB
去网上搜了一圈,尝试过下面的方法:
- 删除WSL中的.vscode-server目录,让VS Code重新连接。
- 降低双方的WSL插件版本。
都没什么效果。
解决
最后的解决办法是切回NAT模式。切换完就立马恢复正常了。
另外,切换回NAT模式后,之前uvicorn起服务器在本地无法访问的问题https://blog.csdn.net/qq_37387199/article/details/148384412也解决了:
当然,这样的话之前下载的LLM也可以使用了:
下面是对应的测试代码:
import requests
import json
import time# 服务地址
api_base = "http://127.0.0.1:8000/v1"
api_key = "none" # vLLM不需要API密钥,填任意值# 请求头
headers = {"Content-Type": "application/json",# "Authorization": f"Bearer {api_key}"
}# 请求参数
payload = {"model": "qwen3","messages": [{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": "请问Python有哪些常用的深度学习框架?"}],"temperature": 0.7,"max_tokens": 1024
}# 发送请求
start_time = time.time()
response = requests.post(f"{api_base}/chat/completions",headers=headers,data=json.dumps(payload)
)
end_time = time.time()# 处理响应
if response.status_code == 200:result = response.json()print(f"生成时间: {end_time - start_time:.2f}秒")print(f"模型: {result['model']}")print(f"回复: {result['choices'][0]['message']['content'].strip()}")
else:print(f"请求失败: {response.status_code}")print(response.text)
我在网上找到一些文章讨论这个问题,但是好像和我这个关系不是很大:
https://github.com/microsoft/WSL/issues/11002
https://zhuanlan.zhihu.com/p/668181689