refactor: 移除代理检测逻辑(WSL2 镜像模式自动继承 Windows 代理)

WSL2 mirror mode + autoProxy=true 下,WSL2 自动继承 Windows 代理状态
无需脚本干预,是否使用代理由 Windows 侧决定

移除内容:
- -ProxyPort 参数
- Get-V2RayNProxyPort / Set-WindowsProxy / Clear-WindowsProxy 函数
- Step 0 代理检测配置块
- ~/.mcp-proxy.env 生成及所有 source 调用
- git proxy save/restore 逻辑
- npm proxy 配置
- 最终摘要代理信息行

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
2026-05-28 12:09:08 +08:00
parent 464639ef1a
commit 0b71a33bd2
2 changed files with 18 additions and 204 deletions

View File

@@ -2,7 +2,7 @@
WSL2 + Claude Code CLI + Unity MCP + Rust Token Killer **全栈一键部署方案**,适用于 Windows 11 开发环境。
支持 **v2rayN 代理自动检测**、**WSL2 代理透传**、**防火墙自动放行**
支持 **WSL2 镜像网络模式**`autoProxy=true`WSL2 自动继承 Windows 代理状态,无需脚本干预
## 组件清单
@@ -47,14 +47,8 @@ cd path\to\claude-dev-stack
cp .env.example .env
notepad .env
# 3. 运行部署脚本(灵眸模式自动跳过代理检测)
# 3. 运行部署脚本
pwsh .\deploy.ps1
# 手动指定代理端口(使用官方 Anthropic API 时需要)
pwsh .\deploy.ps1 -ProxyPort 10809
# 不使用代理(直连)
pwsh .\deploy.ps1 -ProxyPort -1
```
首次安装 WSL2 特性后可能需要**重启系统**,重启后重新执行脚本。
@@ -71,45 +65,25 @@ pwsh .\deploy.ps1 -SkipWSL
# 在 WSL2 Ubuntu 终端中执行
cp .env.example .env
nano .env
# 如需代理(端口由 deploy.ps1 写入 ~/.mcp-proxy.env或手动指定
PROXY_PORT=10809 bash wsl-setup.sh
bash wsl-setup.sh
```
---
## 代理说明v2rayN
## 代理说明
### 自动检测顺序
### WSL2 镜像模式自动继承 Windows 代理
1. Windows 系统代理注册表v2rayN「设为系统代理」时写入
2. v2rayN 配置文件(`%APPDATA%\v2rayN\guiNConfig.json`
3. 探测常用端口:`10809, 10808, 7890, 1080, 8080`
脚本自动配置 `~/.wslconfig` 启用 WSL2 镜像网络模式:
### WSL2 代理透传原理
```
WSL2 Ubuntu
→ [Windows 主机 vEthernet(WSL) IP]:10809
→ v2rayN
→ 互联网
```ini
[wsl2]
networkingMode=mirrored
autoProxy=true
```
**必须**在 v2rayN 中开启:
> 参数设置 → **「允许来自局域网的连接」** ✅
脚本自动完成:
- 写入 WSL2 `~/.mcp-proxy.env`(每次 shell 启动自动生效)
- 配置 WSL2 `git` + `npm` 代理
- `apt-get` 安装阶段同样走代理
### 代理覆盖范围
| 操作 | 是否走代理 |
|------|-----------|
| Windows `git clone` / `npm install` | ✅ |
| WSL2 `apt-get` / `git clone` / `npm install` / `cargo install` | ✅ |
| MCP Server ↔ AI 客户端stdio | ❌ 本地通信,无需代理 |
| MCP Server ↔ Unity Pluginlocalhost | ❌ 本地通信,无需代理 |
`autoProxy=true`WSL2 自动继承 Windows 系统代理状态。
**是否使用代理由 Windows 侧决定**(例如通过 v2rayN「设为系统代理」无需脚本干预。
---
@@ -133,7 +107,6 @@ WSL2 Ubuntu
> | `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | `1` | 关闭遥测/自动更新检查 |
>
> - Token 写入 `settings.json` 的 `env` 块(不写入 `~/.bashrc`,避免与 `ANTHROPIC_API_KEY` 冲突)
> - 部署脚本自动跳过代理检测(国内直连无需代理)
> - 旧 `ANTHROPIC_API_KEY` / `ANTHROPIC_BASE_URL` 变量从 `~/.bashrc` 自动清除
### 备选Anthropic 官方 API
@@ -367,19 +340,17 @@ wsl -d Ubuntu -- bash -c "cd ~/.mcp-servers/unity-mcp-server && git pull && npm
**问题npm install 安装超时(国内网络)**
```bash
# 方案一:通过 v2rayN 代理(推荐)
pwsh .\deploy.ps1 -ProxyPort 10809
# 方案一:在 Windows 侧开启系统代理v2rayN「设为系统代理」WSL2 自动继承
# 方案二WSL2 内配置镜像
npm config set registry https://registry.npmmirror.com
```
**问题WSL2 无法连接 v2rayN 代理**
**问题WSL2 无法访问外网**
```
解决:
1. v2rayN → 参数设置 → 勾选「允许来自局域网的连接」
2. 确认防火墙未拦截 v2rayN 监听端口
3. WSL2 内测试curl -I https://github.com --proxy http://$(ip route | grep default | awk '{print $3}'):10809
1. 确认 Windows 侧代理已开启系统代理(v2rayN → 参数设置 → 勾选「允许来自局域网的连接」
2. 确认 ~/.wslconfig 包含 networkingMode=mirrored 和 autoProxy=true
3. 重启 WSL2wsl --shutdown再重新启动
```
**问题Unity 版本兼容性**