问题根源 100%锁定

你的 Gemini 流量依然走美国,核心原因是:订阅自带的规则集(rule-providers)默认开启了前置(prepend),它的规则优先级比我们写的规则更高

日志里已经写得很清楚:gemini.google.com 先被订阅规则集里的 DomainKeyword(google) 匹配到,直接走了 Youtube 组的美国 04 节点,我们写的 Gemini 专属规则根本没机会执行——因为订阅的规则被强制放到了所有规则的最顶部,我们的规则被挤到了后面。


终级解决方案(强制锁死优先级,100%让 Gemini 走香港)

这个方案直接从底层强制改写规则顺序,让 Gemini 的规则永远排在全量规则的第 1 位,彻底无视订阅的规则集,绝对不会再被其他规则抢走流量。

操作步骤

  1. 彻底关闭「全局扩展覆写」:清空所有内容,关闭右上角的启用开关,全程不启用。
  2. 打开「全局扩展脚本」:清空所有旧内容,先打开右上角的启用开关
  3. 把脚本里的 HK_NODE = "香港 08",替换成你手动验证过、能正常打开 Gemini 网页版的香港节点完整名称(一字不差,包括空格、数字)。
  4. 粘贴脚本,点击右下角「保存」,看到保存成功提示后,进入「订阅」页面刷新订阅,再进入「设置」页面重启 Clash 内核。
function main(config) {
    // ===================== 这里替换成你能用的香港节点名 一字不差 =====================
    const HK_NODE = "香港 08";
    // ===============================================================================
 
    // 1. 最高优先级规则:必须放在全量规则的最顶部,命中即停
    const topRules = [
        // 阻断UDP 443 QUIC逃逸,强制Gemini走TCP,避免连接中断
        "AND,((NETWORK,UDP),(DST-PORT,443)),REJECT",
        // Gemini网页版专属规则,强制走香港节点,精准匹配,优先级拉满
        `DOMAIN-SUFFIX,gemini.google.com,${HK_NODE}`,
        `DOMAIN-SUFFIX,gemini.gstatic.com,${HK_NODE}`,
        `DOMAIN-SUFFIX,fonts.gstatic.com,${HK_NODE}`,
        `DOMAIN-SUFFIX,www.gstatic.com,${HK_NODE}`,
    ];
 
    // 【核心操作】把我们的规则强制插到所有规则的最最前面,无视订阅规则集
    config.rules = [...topRules, ...config.rules];
 
    // 【关键】禁用所有订阅规则集的前置权限,彻底杜绝规则集抢优先级
    if (config["rule-providers"]) {
        for (const provider in config["rule-providers"]) {
            // 强制关闭规则集的前置,让它的规则永远排在我们的规则后面
            config["rule-providers"][provider]["prepend"] = false;
            // 可选:如果还是抢优先级,直接注释掉上面一行,取消下面一行的注释,禁用整个规则集
            // delete config["rule-providers"][provider];
        }
    }
 
    return config;
}

生效后必做操作

  1. 彻底关闭所有浏览器窗口,清除浏览器全部缓存、Cookie、历史记录,重启浏览器,全程用无痕模式测试(避免旧的连接缓存影响结果)。
  2. 打开 Clash Verge「日志」页面,点击「清除」清空旧日志。
  3. 无痕模式访问 gemini.google.com,回到日志页面搜索 gemini,确认:
    • 流量命中了我们写的 DOMAIN-SUFFIX,gemini.google.com 规则;
    • 最终走的节点是你设置的香港节点,而不是美国节点。
  4. 同时验证 VS Code 里的 Antigravity,全程走美国节点,正常登录、正常运行,完全不受影响。

终极兜底方案(如果上面的脚本还是被规则集覆盖)

如果还是不行,直接用最暴力的方案:直接改写 Youtube 组的默认节点,因为日志里 Gemini 流量最终走到了 Youtube 组,我们直接把 Youtube 组改成香港节点,同时保留 Antigravity 的美国流量兜底。

function main(config) {
    // ===================== 替换成你自己的节点名 一字不差 =====================
    const HK_NODE = "香港 08";   // 能打开Gemini的香港节点
    const US_NODE = "美国 01";   // Antigravity能用的美国节点
    // =======================================================================
 
    // 1. 强制把Youtube组的默认节点改成香港,解决Gemini流量走Youtube组的问题
    for (const group of config["proxy-groups"]) {
        if (group.name === "Youtube") {
            group.proxies = [HK_NODE, ...group.proxies];
        }
    }
 
    // 2. Antigravity流量强制锁死美国节点,优先级最高
    const topRules = [
        "AND,((NETWORK,UDP),(DST-PORT,443)),REJECT",
        // Antigravity全量进程/域名 强制美国节点
        `PROCESS-NAME,Code,${US_NODE}`,
        `PROCESS-NAME,Code Helper,${US_NODE}`,
        `PROCESS-NAME,node,${US_NODE}`,
        `DOMAIN-SUFFIX,antigravity.google,${US_NODE}`,
        `DOMAIN-SUFFIX,generativelanguage.googleapis.com,${US_NODE}`,
        `DOMAIN-KEYWORD,googleapis,${US_NODE}`,
        // Gemini网页版兜底规则
        `DOMAIN-SUFFIX,gemini.google.com,${HK_NODE}`,
        `DOMAIN-SUFFIX,gemini.gstatic.com,${HK_NODE}`,
    ];
 
    config.rules = [...topRules, ...config.rules];
 
    // 禁用规则集前置
    if (config["rule-providers"]) {
        for (const provider in config["rule-providers"]) {
            config["rule-providers"][provider]["prepend"] = false;
        }
    }
 
    return config;
}