WSL环境的codex如何设置默认走127.0.0.1:7890访问OAI

天圣 2026-07-12 22:31 1

毕竟国内没法直接访问OAI,总还是得奇奇怪怪的手法

而最近Codex在windows环境bug莫名的多,WSL环境相对好很多,但WSL不知道该怎么默认走127.0.0.1:7890访问OAI,要改环境变量就一次性把WSL下的东西全给改了,有些怕影响到其他东西

不知道有没有比较简单的办法,要能持久化的

最新回复 (7)
  • peekaboo 07-12 22:36
    1

    可以让codex帮你写一个代理脚本,然后创建几个自定义命令,比如:proxy-on,proxy-off,用于控制代理开关,不过我是全程让wsl走我宿主机的开放的代理端口

  • Yearn 07-12 22:42
    2

    一般来说你只要在 .wslconfig 里面把网络模式改成 mirror 就可以走本机的代理了,但是我自己试的时候发现这样会报错,于是换了一个稍微绕一点点的办法。




    这里显示 wsl 的地址是 172.18.85.151,win 的地址是 172.18.80.1,那么我们只要在代理软件里设置一个 172.18.80.1:xxxx 的入口,之后在 wsl 里就设置 http_proxy=172.18.80.1:xxxx 就行了。


    win 的代理软件我用的是 gui for singbox,其他的例如 clash verge 配置应该也差不太多,就是多加一个入站的监听地址就行了,如图



    最后在 wsl 的 .bashrc 里面加上这段命令(具体 port 需要改一下):


    # 代理管理工具
    proxy() {
    # 动态获取 Windows 宿主机 IP
    local host_ip=$(ip route | grep default | awk '{print $3}')
    local proxy_port=20122 # 这里要换成你自己设置的端口,clash verge 应该是 7890
    local proxy_url="http://${host_ip}:${proxy_port}"
    local socks_url="socks5://${host_ip}:${proxy_port}"

    # 如果没有传参或传的是 "status" 之外的值,默认开启代理
    local action="${1:-on}"

    case "$action" in
    "on")
    export http_proxy="$proxy_url"
    export https_proxy="$proxy_url"
    export ALL_PROXY="$socks_url"
    export HTTP_PROXY="$proxy_url"
    export HTTPS_PROXY="$proxy_url"
    echo -e "\033[32mProxy ON: ${host_ip}:${proxy_port}\033[0m"
    ;;
    "status")
    if [ -n "$http_proxy" ]; then
    echo -e "\033[36mCurrent Proxy: $http_proxy\033[0m"
    else
    echo -e "\033[90mNo Proxy set.\033[0m"
    fi
    ;;
    *)
    echo "Usage: proxy [status]"
    ;;
    esac
    }

    unproxy() {
    unset http_proxy https_proxy ALL_PROXY HTTP_PROXY HTTPS_PROXY
    echo -e "\033[31mProxy OFF\033[0m"
    }

    之后你需要走代理的时候输 proxy,不需要走代理的时候输 unproxy 就 OK 了。

  • 冬马99 07-12 22:56
    3

    我做的是ShellCrash,他走自己的规则

  • ZenDust 07-12 23:03
    4

    win10和win11两个系统是操作不一样的。

    具体参考这位佬友的配置:


    下面是使用V2rayN下操作的,混合端口10808; clash换端口即可
    win11可以wslconfig里面启用mirror模式和autoproxy
    但是autoproxy只能把http https代理带到wsl2中
    .wslconfig配置可参考:
    [wsl2]
    # 限制内存使用(可选)
    # memory=8GB
    autoProxy=true
    # 开启镜像网络模式
    networking…
  • Morli 07-12 23:28
    5

    win10 11的wsl走代理楼上发了

    还有在.codex里找env这个文件 就三个字母,然后进去加上proxy环境变量能让codex默认走代理。这个建议加上,很多时候codex内部的东西吃不到代理

  • enget 07-12 23:31
    6

    还有在.codex里找env这个文件 就三个字母



    ~/.codex/.env是这个文件。

  • 天圣 楼主 07-13 00:07
    7

    感谢大佬指点,有env文件就好办多了,直接往里面怼就好

* 帖子来源Linux.do
返回