订阅规则通常已经覆盖了大半分流场景,日常上网够用。但公司内网、OA、Git、包仓库这类域名,往往需要 直连(DIRECT)——走代理反而慢、甚至连不上。
这时很多人会先想到 mixin。实际试下来:用 mixin 塞 rules / 策略组基本无效——它更适合注入 dns 这类顶层公共属性。要给公司域名加直连,正确入口是 parsers:对着订阅做预处理,把规则插到 rules 最前面;订阅每次更新都会再跑一遍,自定义规则不会被冲掉。
为什么 mixin 搞不定,要用 parsers#
| parsers | mixin | |
|---|---|---|
| 实际能干什么 | prepend-rules、策略组、节点等,预处理订阅配置 | 主要覆盖/注入 dns 等公共字段 |
| 公司域名直连 | 有效:规则能插到前面并命中 | 无效:按 rules 思路去配,往往不生效 |
| 与订阅更新 | 刷新时自动预处理,规则能留住 | 不负责「给某份订阅前置分流规则」 |
一句话:mixin 管 DNS 这类全局偏好;分流规则、公司直连,走 parsers。
怎么配#
- 打开 Clash for Windows → Profiles
- 在目标订阅上 右键 → 选 Parsers(也可在 Settings 里找到全局 Parsers 编辑入口)
- 按下面写法填入后保存,再 Update 一次该订阅

Demo:公司域名走独立策略组#
先建一个「公司网络」策略组(默认 DIRECT),再用 prepend-rules 把公司域名指过去。reg: ".*" 表示对所有订阅都生效:
parsers:
- reg: ".*"
yaml:
prepend-proxy-groups:
- name: 🏢 公司网络
type: select
proxies:
- DIRECT
prepend-rules:
- DOMAIN-SUFFIX,xxx.com,🏢 公司网络把 xxx.com 换成真实公司域名即可;需要多个域名时,继续往 prepend-rules 里加行。
配置生效后,打开 Logs,访问公司域名时能看到走的是 🏢 公司网络[DIRECT]:

日志里 RULE → DomainSuffix(...) + PROXY → 🏢 公司网络[DIRECT],就说明 parsers 预处理已经生效。
这样做的好处:规则命中后进独立策略组,平时直连;哪天公司网也要临时代理,在面板里把「🏢 公司网络」改节点就行,不用再改 parsers。
prepend-rules / prepend-proxy-groups 都会插到原配置最前面,保证优先于订阅里已有的宽规则。
若只想处理某一条订阅,把 reg 换成精确匹配即可:
parsers:
- url: https://example.com/your-subscription.yaml
yaml:
# ...同上常用 yaml 操作(顺带记一下)#
| 键 | 作用 |
|---|---|
prepend-rules / append-rules | 规则插到前 / 后 |
prepend-proxies / append-proxies | 节点插到前 / 后 |
prepend-proxy-groups / append-proxy-groups | 策略组插到前 / 后 |
mix-object 等 | 向外层对象合并 |
更复杂的逻辑可以用 code 写 JavaScript 预处理;公司域名直连这种场景,YAML 的 prepend-rules 一般就够。
个人总结#
订阅负责「通用分流」,parsers 负责「我这台机器特有的例外」——尤其是公司域名直连。mixin 别往 rules 上硬套,它更偏 DNS 等属性;也别手改本地配置文件(下次更新订阅就没了)。用 prepend-proxy-groups + prepend-rules 顶上去,省事也稳。
