Skip to content

网络代理

「设置 → 运行环境 → 网络代理」配置全局代理,让 App 的所有网络请求(AI 对话、MCP、模型列表、检查更新、镜像下载、网页搜索)以及容器内的命令(curlgitnpmpip 等)统一走代理。

代理设置

  • 启用代理:总开关,关掉后所有请求恢复直连。
  • 类型:点击从底部弹窗选 HTTP 或 SOCKS5。
    • HTTP:经 CONNECT 隧道转发,可代理全部 http/https 流量。本地 Clash 的 127.0.0.1:7890 就是这一类。
    • SOCKS5:TCP 级转发(Clash 通常是 7891 端口)。注意容器内的 npm 和 pip 对 SOCKS5 支持有限。
  • 服务器地址 / 端口:代理地址。
  • 认证(可选):代理需要用户名密码时填。本地无认证的代理(如 Clash)不用管。
  • 不走代理的地址:逗号分隔,命中的直连。支持主机名、通配符 *、子域 *.example.comhost:port 以及 CIDR 网段。默认值已经包含了 localhost 和常见内网段。

填完整之后下方会出现连通性测试卡片:

  • 测试地址:默认 https://www.google.com,可以改成任意目标。
  • 测试代理:经当前代理向该地址发一次请求,确认代理真的能用。测试不会展示出口 IP,也不向第三方服务外发你的本机 IP。

提供商级代理

单个提供商也能配专属代理。在「AI 提供商 → 编辑页 → 选项 → 网络代理」,界面和全局代理页基本一致(少了「不走代理的地址」)。

开启后,这个提供商的 AI 请求走专属代理,其它请求仍走全局代理;关闭则跟随全局。改动随提供商编辑页的保存一起生效。

匹配规则是按提供商 Base URL 的主机加路径前缀精确匹配,所以同一个主机上不同路径的提供商可以各配不同的代理,请求按最具体的路径前缀分派。只有当多个提供商的主机和路径完全相同(同一端点、不同 Key)时无法区分,这时最先配置的那个生效。

适合多个提供商共用同一个网关域名但路径不同、各自需要不同出口的情况。

容器内命令不受提供商级代理影响

容器里的命令始终走全局代理。

生效时机

所有修改即时生效,新连接立即走代理,不用重启 App。

但容器内已经启动的常驻进程不会继承新的环境变量,需要重启那个进程或整个容器。容器内的代理是通过环境变量实现的:HTTP 类型注入 HTTP_PROXY / HTTPS_PROXY / ALL_PROXY / NO_PROXY,SOCKS5 类型注入 ALL_PROXY=socks5h://...(走远程 DNS)。

注意

  • 代理配置存在 App 私有目录里,不影响系统级代理设置。
  • 代理不可用(地址填错、代理没启动)时网络请求会失败,关掉「启用代理」即可恢复直连。
  • 远程 SSH 模式下服务器上的命令不走本地代理,需要在服务器上自己配。
  • 不支持 HTTPS 代理(即到代理服务器本身走 TLS 的那种)。

基于 GPL-3.0 协议开源