覆寫用來避免訂閱更新後自訂修改消失

官方文件現在使用 Clash Party 名稱,部分舊版文件、檔名或搜尋字仍會出現 Mihomo Party。本文的兩種名稱是同一用戶端前後的品牌表達,不表示需要安裝兩個程式。使用時仍應由當前官方儲存庫與文件確認版本。

官方覆寫指南將它定義為對訂閱設定進行自訂修改,並讓修改在訂閱更新後仍有效。覆寫檔只寫要改的鍵,用戶端載入時將其與原設定合併。這比每次都直接修改下載的主 YAML 容易追蹤,也更容易撤回。

覆寫不是訂閱轉換。它不會產生節點,也不會修復過期 URL。請先確認原訂閱可下載與解析,才以覆寫調整規則、DNS 或代理群組。

先選全域或指定訂閱,再匯入與綁定

Clash Party 的覆寫可以全域啟用,也可只套用在某份訂閱。初次使用時建議先綁定到測試訂閱:只有這份設定受影響,其他已知可用的訂閱可作為對照。確認同一修改真的適用於所有設定之後,才考慮全域啟用。

  1. 在左側導覽開啟「覆寫」,由本機匯入一份可自行審查的 YAML,或使用可信的直接連結。
  2. 點擊新匯入的覆寫,只保留本次需要的欄位,儲存後記下名稱。
  3. 進入「訂閱管理」,開啟目標訂閱右上三點選單,選擇「編輯資訊」。
  4. 在對話框最後的「覆寫」選中這份 YAML,儲存後重新載入該訂閱。
  5. 打開最終有效設定或日誌,驗證修改的鍵已進入核心,而不只是編輯器顯示「已儲存」。

由 URL 匯入覆寫時,對方日後可能變更內容。涉及 DNS、腳本、遠端規則集與外部控制器的修改,應先儲存本機副本並逐行審查。不要將含私密 Token 的訂閱主檔誤當成覆寫來公開分享。

理解單值、物件與陣列的合併規則

官方 YAML 文件說明覆寫採用深度合併,但優先順序低於應用程式的常用設定覆寫。簡單值會直接取代,嵌套物件會遞迴合併;在鍵名後加 ! 可強制取代整個物件。陣列預設會取代,使用鍵名前或後的 + 才是置前或追加。

# 將自訂規則放在原規則之前
+rules:
  - DOMAIN,example.internal,DIRECT

# 將規則追加到原規則之後
rules+:
  - DOMAIN-SUFFIX,example.net,Proxy

example.internal、example.net 與 Proxy 都是佔位符。必須將策略名換成當前訂閱真實存在的代理群組;否則 YAML 語法可能正確,核心卻會因目標策略不存在而拒絕載入。

規則會按順序比對。置前一條寬鬆規則可能搶先處理原訂閱本應精確命中的流量;追加在 MATCH 之後的規則則可能永遠不會到達。

先用一個可觀察的修改測試,再更新訂閱

第一次不要同時覆寫 DNS、TUN、代理群組與幾十條規則。選一個可觀察、可撤回的欄位,例如只針對自己可控測試網域的置前規則。儲存後重載訂閱,在連線或日誌確認該網域命中預期策略,其他流量保持不變。

  1. 記錄覆寫前的訂閱名稱、綁定狀態與測試請求實際使用的策略。
  2. 啟用只有一項修改的 YAML,重新載入後重複相同請求。
  3. 確認命中按預期變化後,手動更新訂閱,不編輯下載後的主設定。
  4. 更新完成後再做同樣的測試,確認覆寫仍被綁定並參與合併。
  5. 最後停用覆寫後重載,確認原行為可還原,證明回退通道可用。

「編輯器儲存成功」、「訂閱更新成功」與「核心載入最終設定」是三個不同檢查點。覆寫的價值就是更新後持續套用,沒有完成「更新後再驗證」,就還不能說它可靠。

解析失敗或規則異常時先解除綁定

覆寫後無法載入設定,最快的還原方式是在「訂閱管理 → 編輯資訊」先取消該覆寫,再重新載入原訂閱。不要一開始就刪除訂閱、覆寫與應用資料。解綁就足以判斷錯誤是否來自合併結果,也保留了可審查的 YAML。

YAML 覆寫異常定位
現象優先檢查還原動作
儲存時語法錯誤縮排、冒號、陣列符號與引號還原到最小單鍵覆寫
核心表示策略不存在規則末端名稱是否與訂閱代理群組完全相同換成已存在的策略名
原規則整段消失是否以 rules: 取代整個陣列按需求改用 +rules: 或 rules+:
修改沒有生效是否綁定當前訂閱、是否被更高優先順序設定取代核對綁定與最終有效設定

將覆寫當成可進行版本管理的小型補丁:檔名寫清用途,註解記錄它假設存在的策略群組,每次只加一類修改。訂閱來源若改名代理群組或更動規則結構,就能快速看出哪一個假設過期。

官方來源與版本邊界

版本號、檔案名稱與介面文字可能隨專案更新而變動,操作前請以連結中的專案文件為準。