用 Claude Code 或者调 OpenAI API 的时候,最省事的办法是把代理开成全局。但这样国内网站、公司内网、包管理器下载都会跟着绕一圈,速度变慢,有时还会出错。其实真正需要走代理的只是 AI 服务那几十个域名。

所以我整理了一份只覆盖 OpenAI 和 Claude 的分流规则:这些域名走代理,其余流量全部直连。

OpenAI / Claude 分流规则,覆盖 Clash(mihomo)、Shadowrocket、Surge、Loon。只让 AI 流量走代理,不用开全局;网站上有 Shadowrocket 一键安装和可搜索的规则清单。

ClashShadowrocketSurgeClaudeOpenAI
Shell ★ 2 更新于 2026-10-22

覆盖了哪些

服务包含内容
OpenAIChatGPT 网页与桌面端、api.openai.com、platform 控制台、Sora、登录与 Arkose 人机验证、高级语音(LiveKit)
AnthropicClaude 网页端、api.anthropic.com(Claude Code / SDK)、console 控制台、Artifacts / MCP Apps 沙箱、文件上传、clau.de 短链、claude.dev、Anthropic 自有 IP 段(AS399358)

整理时容易漏掉的是这几类:登录用的人机验证、语音用的 LiveKit、Artifacts 的沙箱域名、文件上传域名。漏了其中一个,就会出现「能打开但登不上」「能聊天但传不了文件」这种问题。规则文件里每一条都注明了用途,网站上也可以直接搜索。

怎么用

打开项目网站,选择你用的客户端,复制对应的配置就行。

  • Shadowrocket:在 iPhone / iPad 上打开网站,点「一键安装」,会自动导入一份独立配置。配置里不带节点,PROXY 用的是你在 App 里选中的那个节点。如果已经有自己的配置,也可以只加两行 RULE-SET。
  • Surge / Loon / Stash:在 FINAL 之前加两行 RULE-SET。
  • Clash / mihomo:在自己的配置里加一段 rule-providers 和一条 RULE-SET,可以让两家共用一个节点,也可以分开走不同节点。注意 RULE-SET 要放在 GEOIP,CN 和 MATCH 之前。

规则只放在 rules/*.list 这一份源文件里,Clash 和 Shadowrocket 的文件都由脚本生成。CI 会检查生成的文件和源文件是否一致,所以各个客户端拿到的规则始终相同。

网页能打开,SDK 却超时?

这是开发者最常遇到的问题:桌面端的「系统代理」模式一般只对浏览器生效,终端里的 curl、Node、Python 默认不会读系统代理设置,所以分流规则根本管不到它们。

解决办法有两个:

  1. 开启 TUN / 增强模式:所有进程的流量都会经过代理客户端,规则就能正常生效。

  2. 在终端设置环境变量:

    export HTTPS_PROXY=http://127.0.0.1:7890
    export HTTP_PROXY=http://127.0.0.1:7890
    export NO_PROXY=localhost,127.0.0.1
    

    这种方式会让终端里的所有请求都走代理,不再按域名分流。

另外两个建议:

  • 不要用 PROCESS-NAME,node 匹配 Claude Code。 这条规则会把机器上所有 Node 进程都送进代理,包括本地开发服务器和 npm 安装。按域名匹配更准确。
  • 节点尽量选住宅 IP,并且不要开负载均衡。 两家对机房 IP 都比较严格,同一会话中途更换出口 IP 也会导致登录状态失效。

如果你是在远程服务器上通过 Claude 桌面版使用 Claude Code,可以参考另一篇:给远端 Claude 单独设置代理。

最后

这个仓库只包含域名清单和配置说明,不提供任何节点。目前只维护 OpenAI 和 Anthropic 两家,以后可能会补充其他服务。如果发现漏了哪个域名,欢迎到 GitHub 提 issue 或 PR。