Profile 與 config.yaml:設定檔項目和執行設定的差異

Profile 通常是指用戶端儲存的一筆設定檔項目。來源可以是訂閱 URL,也可以是匯入的本機 YAML 檔案。除了設定內容,用戶端也可能儲存項目名稱、來源網址、更新時間、更新間隔和本機處理規則。Profile 是用戶端的管理概念,不是必須寫入 YAML 的頂層欄位。

config.yaml 則是常見的設定檔名稱。核心實際讀取的是設定內容,以及啟動時指定的檔案路徑;並非每份設定檔都必須使用這個名稱。同一個用戶端可以儲存多份 Profile,但單一核心執行個體通常只會載入一份最終設定;選取另一份 Profile 後,用戶端會產生或載入新的執行設定。

項目儲存內容修改後的影響
遠端 Profile訂閱網址、下載的 YAML、更新設定下次更新時可能會覆寫下載內容
本機 Profile從本機匯入或建立的設定內容通常需要手動維護節點和規則
執行設定原始設定與用戶端覆寫設定合併後的結果直接編輯可能在重新載入後失效
用戶端偏好設定系統代理、介面設定、部分 TUN 開關等可能會套用到不同的 Profile

因此,「編輯了檔案但連接埠沒有變」不一定是儲存失敗。用戶端可能以自己的設定覆寫 mixed-port,也可能正在使用另一個 Profile。排查時,先確認目前選取的項目,再查看用戶端提供的最終設定或啟動記錄。

本機檔案與訂閱設定:依維護來源分類

遠端 Profile:保留訂閱更新功能

訂閱網址傳回的內容必須符合所用核心支援的格式。支援 Clash YAML 的訂閱通常包含節點、策略群組和規則;只有節點清單的訂閱則不能直接取代完整設定。URL 是取得設定的入口,不代表回應內容一定是可直接載入的 YAML。

遠端 Profile 適合持續接收節點異動。直接在下載副本中新增規則,只會影響目前的本機內容;下次更新訂閱時,可能會整份覆寫檔案。部分用戶端會另外儲存編輯結果,但實際行為應透過一次更新測試確認,不能只看檔名判斷。

本機 Profile:固定副本與獨立測試

將遠端設定匯出為本機檔案,再以新項目匯入,就能建立獨立副本。這適合用來排查規則、測試 DNS,或保留故障發生前的狀態。缺點是主要訂閱的節點改名、網址調整或驗證資訊變更時,本機副本通常不會自動同步這些變更。

實際管理時,建議同時保留「日常使用的遠端項目」和「本機排查副本」。前者負責接收更新,後者只在確認問題或測試變更時啟用,避免同一份設定同時採用兩種維護方式。

多份設定檔的命名與切換:每次只變更一個項目

名稱包含來源、用途與日期

檔名用來辨識來源,不建議放入訂閱金鑰。以下命名方式有助區分遠端項目與固定副本;日期代表建立備份的日期,不是訂閱到期日。

  • remote-main:主要訂閱,日常使用並允許定期更新。
  • remote-backup:備用訂閱,使用前先手動確認是否有效。
  • local-main-2026-09-30.yaml:主要設定在該日期的本機副本。
  • local-dns-test-2026-09-30.yaml:僅用於比較 DNS 參數的測試設定。

切換前後的六項檢查

不同用戶端的功能入口可能稱為「設定」、「Profiles」或「訂閱」。以下依操作對象說明,不會將某個用戶端的選單名稱套用到所有版本。

  1. 記錄目前狀態。記下啟用中的 Profile、規則模式、選取的節點、系統代理和 TUN 開關。需要重現問題時,這些資訊比檔名更重要。
  2. 備份目前可用的設定。透過項目的匯出或複製功能儲存一份 YAML,並記錄使用的核心名稱與版本。
  3. 先匯入,再啟用。將新檔案加入設定清單,先執行用戶端提供的設定檢查;若顯示有未知欄位,請確認核心相容性。
  4. 選取目標 Profile。等待載入完成,並查看記錄中的解析錯誤、策略群組引用錯誤或連接埠繫結失敗訊息。
  5. 檢查實際策略。確認仍是預期的規則模式,策略群組沒有切回非預期的預設節點,且系統代理連接埠與執行設定一致。
  6. 建立新的連線進行測試。重新開啟目標網頁,並搭配連線清單檢查規則和出口;只觀察既有下載工作不足以判斷切換結果。

設定切換後如何處理既有連線,取決於用戶端和核心。舊連線可能繼續使用原本的出口,也可能因重新載入而中斷。若要確認新規則,請建立新的連線;若有重要傳輸工作,請先等工作完成再切換設定。

訂閱自動更新:分開看用戶端與資源的更新計時

完整 Profile 的訂閱更新通常由用戶端管理。更新入口一般位於該項目的編輯面板或全域訂閱設定。先手動更新一次,確認能下載並解析,再啟用自動更新,有助區分網路問題與計時設定問題。

設定間隔時,先確認時間單位

如果介面單位是分鐘,360 代表 6 小時,1440 代表 24 小時;如果單位是小時,則分別填入 6 或 24。這些只是間隔換算範例,並非所有用戶端共用的預設值。請勿直接照抄其他用戶端截圖中的數值。

  • 先確認訂閱服務提供者是否有規定更新頻率,避免在短時間內重複發出請求。
  • 電腦進入睡眠、應用程式關閉,或行動作業系統限制背景活動時,排程可能延後;「每 6 小時」不保證每次都準時執行。
  • 更新成功後,確認目前的 Profile 是否會自動重新載入。部分用戶端只會更新快取,還需要重新選取或執行重新載入。
  • 如果更新失敗,記下時間和錯誤類型,再檢查網路、訂閱有效期限、伺服器回應和傳回內容。

別把 provider 的 interval 和訂閱更新混為一談

在支援相關欄位的 Clash 或 Clash Meta(mihomo)核心中,HTTP 類型的 proxy-providers、rule-providers 可以設定 interval,單位通常是秒。例如 interval: 86400 代表對應資源每 24 小時更新一次。這只會控制該資源,不會自動更新整份 Profile 的訂閱 URL。

同樣地,profile.store-selected 用來儲存策略群組的選取狀態,不是訂閱排程器;在支援此選項的核心中,profile.store-fake-ip 涉及 Fake-IP 對應資料的儲存,也不是多份設定檔的清單。用戶端的 Profile 清單與 YAML 中的 profile 欄位屬於不同層級。

保留本機規則:覆寫層、資源拆分與完整副本

如果想在訂閱自動更新的同時長期保留自訂規則,優先使用用戶端明確提供的覆寫、合併或指令碼處理功能。這些功能的目的都是在訂閱內容更新後套用本機變更;功能名稱、執行順序和語法由用戶端決定,不能把任意覆寫檔當成通用 Clash 設定匯入。

規則插入位置會影響是否命中

rules 會依序比對。自訂規則若放在 MATCH 後面,通常不會被處理;而取代整份規則清單,也可能讓訂閱原有的分流邏輯遺失。操作前應確認工具採用的是「插入前方」、「附加」還是「整份取代」,再檢查最終執行設定確認結果。

以下是一份獨立的最小本機示範設定,用來觀察 Profile 切換、連接埠和規則順序。它只提供直連和拒絕策略,不包含遠端代理節點,也不能取代訂閱設定。

mixed-port: 7890
allow-lan: false
mode: rule
log-level: info

proxy-groups:
  - name: LocalChoice
    type: select
    proxies:
      - DIRECT
      - REJECT

rules:
  - DOMAIN-SUFFIX,example.com,DIRECT
  - MATCH,LocalChoice

啟用後,前往 example.com 及其子網域的新連線會先比對直連規則;其他連線則會進入 LocalChoice。如果同一台電腦上的另一個處理程序已在監聽 7890,設定可能無法繫結連接埠。若用戶端啟用了全域連接埠覆寫,實際連接埠仍應以介面和記錄為準。

如果需要自行維護規則、只更新節點,也可以使用固定主要設定搭配節點提供者的方式;但前提是所用核心支援此功能、遠端回應符合 provider 格式,而且策略群組正確引用對應資源。這比匯入完整訂閱更複雜,適合已了解設定引用關係的使用者。

備份與還原:保留原始內容,也記錄執行環境

備份應包含哪些內容

  • 設定內容:儲存可用的 YAML,並區分訂閱原始內容與合成後的執行設定。
  • 本機覆寫:分別儲存覆寫、合併或指令碼檔案,並記錄它們套用到哪些 Profile。
  • 執行環境:記錄用戶端版本、核心版本、連接埠、模式和 TUN 狀態。
  • 引用資源:離線還原時,也要確認外部規則集、節點提供者和地理資料庫是否可用。

每次大幅修改前,先儲存一份標示日期的快照,並至少保留一份已確認可用的設定。不要只備份用戶端暫時產生的執行檔案:其中可能包含與電腦相關的路徑,或在下次啟動時重新產生。匯出用戶端管理資料時,也要確認匯出範圍是否包含本機覆寫和訂閱網址。

依序還原「設定、覆寫、狀態」

  1. 暫時關閉發生問題項目的自動更新,保留出錯的設定以便後續比對。
  2. 匯入已確認可用的本機快照,先檢查語法,再啟用。
  3. 暫停新增的覆寫層,避免同一份錯誤規則再次修改舊快照。
  4. 還原原本的規則模式、策略群組選擇和代理接管方式,再建立新連線進行測試。
  5. 確認還原完成後,再逐項加入變更;確認遠端內容正常後,才重新啟用自動更新。

常見問題:切換無效、節點變更與更新覆寫

切換 Profile 後,為什麼系統代理沒有跟著變更?

切換 Profile 通常會變更核心設定,不保證會改寫作業系統的代理設定。假設系統代理仍指向 127.0.0.1:7890,但新設定實際監聽的是 7891,應用程式就可能無法連線。請確認系統代理連接埠與用戶端實際監聽的連接埠一致,並確認相關應用程式是否使用系統代理。

為什麼切換後節點選擇會恢復預設值?

選取狀態可能由核心或用戶端快取。新設定中的策略群組或節點改名,或原節點遭到移除,都會使舊選擇無法對應。即使啟用了儲存選擇的選項,訂閱更新後仍應檢查主要策略群組;名稱變更不代表節點連線故障。

訂閱更新成功,為什麼自訂規則消失了?

先確認變更是否寫在遠端下載副本內。如果是,更新時遭到覆寫是遠端項目的常見運作方式。將需要長期保留的變更移至支援的本機覆寫層,再手動更新一次,檢查最終規則順序。如果用戶端沒有覆寫功能,就改用獨立的本機副本,並自行手動維護。

兩份設定可以同時生效嗎?

在同一個核心執行個體中,一般的 Profile 切換是選取目前使用的設定,不會自動疊加兩份檔案。若確實需要組合節點或規則,應透過明確的合併邏輯或 provider 引用完成。必須檢查設定片段的合併順序、同名策略群組的處理方式和連接埠設定,不能只勾選兩個檔案就認定合併完成。

日常管理可歸納為三件事:遠端項目負責更新,本機覆寫負責保留長期變更,日期快照則用於還原。每次只調整一個層級,再用新連線確認結果,就更容易找出設定變更的影響。欄位和引用關係可參閱進階設定,首次匯入流程請見使用指南。