教程 · 预计阅读 14 分钟

Clash 订阅覆写入门:
用 mixin 改节点备注并追加规则,更新订阅不丢改动

机场订阅会定期更新,客户端每次拉取都可能重写缓存里的 YAML。若你把节点备注、自定义策略组或分流规则直接写进那份文件,下一次刷新就可能被冲掉。正确做法是:远程订阅只负责节点,把「想长期保留的改动」放进覆写 / mixin / 独立合并文件,让内核在生成最终配置时再合并。本文面向 Clash Verge RevMihomo(Clash Meta) 用户,讲清工作流并给出可复制的 YAML 片段。

mixin · 覆写 · Clash Verge Rev · 订阅更新 · 规则追加 · YAML

1 为什么「直接改订阅文件」往往白改

Clash Verge Rev 等客户端里,机场订阅链接对应的是一份远程生成、本地缓存的配置片段:你点「更新订阅」时,客户端会重新下载并覆盖磁盘上的那份缓存。若你把自定义 rules、手改的节点 name 或额外 proxy-groups 写进同一份会被刷新的文件,下一次更新就会把它们冲掉——这不是 bug,而是订阅更新语义本来如此。

你要的是另一条路径:远程订阅只提供节点与基础结构,你的备注、追加规则、DNS 微调等放在独立层,由内核或客户端在启动时合并成最终运行配置。这样每次订阅更新只替换「机场那份」,你的覆写文件始终在原处。若订阅本身还不是 Clash 原生 YAML,可先看《订阅转换完全指南:把 SS/V2Ray/Trojan 机场链接转成 Clash YAML》理清格式与导入方式。

心智模型 把配置想成「底稿(订阅拉下来的缓存)+ 批注层(覆写 / mixin / prepend-rules)」;你只维护批注层,底稿随机场更新自动换。

2 覆写、mixin 与「最终生效的那一份 YAML」

覆写(Override)在图形客户端里通常指:在 UI 或单独文件里写一段 YAML,由客户端在合并订阅本地片段时叠上去——具体菜单位置因 Clash Verge Rev 版本而异,但思路一致:不要改缓存订阅本体,改「合并链路上的下一层」。

Mihomo(Clash Meta) 侧,根配置里常见的 mixin: 是一个深度合并块:把 mixin 下的字段按语义合并进主配置(例如补充 dnstun 开关等)。另有根级字段 prepend-rules / append-rules,用于在不手改整段 rules: 列表的前提下,在规则链前部或后部插入你的行——特别适合「只加几条 DOMAIN-SUFFIX」的规则追加需求,且与订阅里自带的 rules 解耦。

若你已经在用策略组做自动测速或故障转移,覆写里写的策略组名必须与规则引用一致;写法可参考《Clash URL-Test 与 Fallback:测速选节点与故障转移》,避免只改了节点却忘了同步组名。

3 Clash Verge Rev 里的推荐操作顺序

实践上可以固定四步: 在客户端里正常添加订阅 URL,确认能拉取节点; 打开与「覆写」「Merge」「脚本」或等价名称相关的设置(不同版本文案可能略有差异),新建或编辑仅属于你本地的 YAML 片段; 把「更新后仍要保留」的内容只写在这一层,例如自定义 prepend-rules、补充 dns、或 TUN 相关键; 保存后重载配置,再在连接日志里确认规则命中顺序是否符合预期。

从旧版 Clash for Windows 迁来时,很多人习惯 Mixin / Parsers;在 Verge 生态里往往对应覆写与脚本化合并,详见《Clash Verge Rev Windows 安装教程》中的迁移说明。首次迁移建议小步验证:先只加一条测试规则,确认更新订阅后仍在,再逐步加复杂度。

4 prepend-rules 与 append-rules:追加规则的首选写法

分流规则顺序敏感:靠前优先匹配。若你想让个人域名走固定策略组,通常应把对应行放在「过宽的 MATCH 或国外总规则」之前——这时用 prepend-rules 很合适。相对地,若你只想在订阅自带规则末尾再补兜底,可使用 append-rules。二者都写在根配置(或与客户端合并后的等价根结构)中,而不是去改机场下发的整段 rules:

下面是一段示意(请把 PROXY_HOME 换成你配置里真实存在的策略组名;与流媒体、广告拦截等远程规则集配合时,可继续参考《ACL4SSR 规则订阅配置详解》中的顺序经验)。

YAML (prepend-rules example)
prepend-rules:
  - DOMAIN-SUFFIX,example.com,PROXY_HOME
  - DOMAIN-KEYWORD,company-internal,DIRECT

append-rules:
  - DOMAIN-SUFFIX,telemetry.internal,DIRECT

具体字段名与是否支持多条合并,以当前 Mihomo 版本文档为准;若某版本对数组合并行为有调整,应以实际生成的运行配置(客户端「查看当前配置」类功能)为准做核对。

5 mixin:合并 DNS、TUN 等横切片段

当你要改的不是单条规则,而是整段 DNSTUN 或日志级别等「横切」能力时,放在 mixin: 里往往更清晰:主配置保持订阅生成的主体,mixin 负责你本机固定环境。与 TUN 相关的权限、服务模式与 YAML 片段,可与《Clash Verge Rev TUN 模式完全指南》对照,避免只复制半段键名导致未生效。

YAML (mixin excerpt)
mixin:
  dns:
    enable: true
    enhanced-mode: fake-ip
  log-level: info

mixinprepend-rules 可以同时使用:前者补段落结构,后者补规则行。注意深度合并时同名字段可能被覆盖或按内核规则合并,变更后务必做一次配置校验与日志观察。

6 改节点备注、固定默认策略组

「改节点显示名」本质上是改 proxies 里每个节点的 name 字段;若名字来自订阅拉取,一改订阅又会被还原。可行思路包括:在客户端提供的重命名 / 前缀 / 覆写映射里做(若版本支持),或自建 proxy-providers 并在本地处理链里改名,再让策略组引用稳定别名。核心原则是:策略组、规则里引用的名字应与你控制的那一层一致,而不是赌机场永远不改节点名。

「默认选哪个节点 / 哪个组」常与 profile 下的选项(例如是否记忆用户选择)以及策略组类型有关;若你希望某组在重启后仍回到指定成员,需查阅当前内核与客户端对 store-selected 一类键的支持情况,并避免与订阅侧同名冲突。

7 每次订阅更新后建议快速检查

  1. 配置能否加载:有无 YAML 语法错误、策略组是否引用了已不存在的节点名。
  2. 规则顺序:个人追加的规则是否仍排在预期位置(尤其在使用 prepend-rules 时)。
  3. 覆写文件是否还在:确认未被误保存进订阅缓存目录。
  4. 日志抽样:抽几条目标站点连接,看命中策略组是否符合预期。

8 常见坑

  • 把覆写写进订阅缓存路径:更新一次就没了;应使用客户端指定的覆写或独立文件。
  • 节点改名后策略组断裂:引用旧 name 会导致启动失败或静默跳过成员。
  • 重复规则冲突:前后两条指向不同策略组时,以靠前为准,不要以为「后写的会覆盖前面的」。
  • 混淆 mixin 与 subscription:mixin 是合并层,不是远程 URL 本身;订阅仍只负责拉节点。
大改前请先备份 保留一份能启动的「最小配置」再叠加覆写;出问题时可快速回退,避免在合并链上难以二分定位。

9 总结

订阅更新会刷新机场侧内容;要在不改原始订阅语义的前提下完成「改节点备注、固定默认出口、规则追加」等操作,应把改动放在覆写mixinprepend-rules / append-rules 等你本地掌控的层Clash Verge Rev 提供图形化入口管理这些片段;Mihomo 则在 YAML 层给出 mixin 与根级规则插入字段,二者配合即可形成稳定的订阅覆写工作流。

相比每次更新后手工合并 diff,把「长期不变的个人偏好」与「会变的机场节点」分层维护,能显著减少挫败感;需要精细策略组时,可继续结合站内 url-test 与 Rule Provider 类文章扩展。获取或升级客户端时,请优先使用本站下载页各平台安装包,与开源仓库信息区分,便于版本与安全策略统一。

若你刚开始接触这类合并机制,建议先用一条 prepend 规则做实验:更新订阅前后各截一张「当前配置」对比,亲眼确认批注层未被覆盖,再逐步加上 DNS 与 TUN 片段。养成习惯后,YAML 读起来会像「底稿 + 个人补丁」,而不是一团每次刷新都可能变样的单文件。

→ 立即免费下载 Clash,开启流畅上网新体验

标签: mixin 覆写 Clash Verge Rev 订阅更新 规则追加 YAML Mihomo
Clash 客户端 Logo

Clash Verge Rev

新一代 Clash 客户端 · 免费开源

支持 Mihomo 内核与订阅管理,通过覆写与合并链把自定义规则与节点备注从订阅缓存里拆出来,更新机场链接时仍可保留本地改动。Windows、macOS、Linux 全平台可用。

TUN 全流量接管 Mihomo 高效能核心 精准规则分流 策略组可视化 多订阅管理

相关阅读