Clash Verge 的介面本質上是個「遙控器」——真正幹活的 Mihomo 核心暴露了一套 HTTP API,介面上每一次點選都對應一個 API 呼叫。這套 API 你自己也能用:寫指令碼自動切節點、接入 Stream Deck、掛第三方面板,都靠它。

通過 curl 呼叫 Clash 外部控制 API 查詢版本和切換節點
API 就是普通的 HTTP 介面,curl 即可呼叫

確認 API 已開啟

Clash Verge 預設開啟外部控制,地址一般是 127.0.0.1:9097。「設定」頁面的 Clash 核心區域能看到「外部控制」的埠和金鑰(secret)。驗證一下:

curl http://127.0.0.1:9097/version -H "Authorization: Bearer 你的金鑰"

返回一段帶版本號的 JSON 就是通的。

金鑰務必保留。空金鑰 + 監聽 0.0.0.0 的組合等於把核心控制權暴露給區域網甚至公網——惡意網頁可以借瀏覽器發請求改你的代理配置。

最常用的幾個介面

介面方法用途
/proxiesGET列出全部節點與分組及當前選擇
/proxies/分組名PUT切換該分組選中的節點
/configsPATCH改執行配置,如切換模式
/connectionsGET/DELETE檢視或斷開當前連線
/proxies/節點名/delayGET對單個節點測延遲

示例:一行命令切換節點

curl -X PUT http://127.0.0.1:9097/proxies/PROXY \
  -H "Authorization: Bearer 你的金鑰" \
  -d '{"name":"HK-01"}'

示例:切到全域性模式

curl -X PATCH http://127.0.0.1:9097/configs \
  -H "Authorization: Bearer 你的金鑰" \
  -d '{"mode":"global"}'

接第三方 Web 面板

yacd、metacubexd 這類網頁面板就是純 API 客戶端。打開面板網址,填入 127.0.0.1:9097 和金鑰即可使用——適合喜歡在瀏覽器標籤頁裡管理連線的人,或者配合 Allow LAN 在手機上遙控電腦的核心。

實用指令碼思路

  • 定時測速換節點:cron 每 10 分鐘調 /delay 介面,超閾值就 PUT 切換到備用分組;
  • 會議模式一鍵切換:指令碼同時把模式改成規則、分組切到低延遲節點,綁個快捷鍵;
  • 監控看板:輪詢 /traffic/connections,把即時流量畫進 Grafana。

API 的完整定義在 Mihomo 官方文件。想在命令列裡讓工具本身走代理(而不是控制核心),那是另一件事,見終端代理設定