最后更新于:2026年7月

你的 Mihomo 还在用纯命令行管理吗? 很多人装好 Mihomo(Clash Meta)后就只会改 config.yaml,完全不知道还有 WebUI 这回事。实际上,一个好的 WebUI 面板能让你:鼠标点几下切换节点、实时看谁在走代理、流量用了多少一目了然、规则哪里配错了秒定位。
2026 年,Mihomo 的 WebUI 生态已经非常成熟。本文深度对比三大主流面板,手把手教你配置可视化运维体系,从此告别纯文本配置的痛苦。
【前置知识】 本文假设你已经在用 Mihomo(Clash Meta)核心。如果你还没入门,建议先看 Clash Meta 进阶配置指南 了解核心概念。
一、为什么需要 WebUI?
1.1 纯命令行的痛点
| 痛点 | 描述 |
|---|---|
| 切换节点要改配置 | 每次切节点都要编辑 yaml,容易改错 |
| 看不到实时连接 | 不知道当前哪些 App 在走代理 |
| 流量是黑盒 | 不知道哪个域名吃了多少流量 |
| 规则调试困难 | 规则配错了只能看日志猜 |
| 远程管理不便 | 在手机上想切节点?没 WebUI 根本不行 |
1.2 WebUI 能做什么?
- 🖱️ 一键切节点:鼠标点一下,比改配置快 10 倍
- 📊 实时连接监控:看每个连接走的是哪个节点、什么规则
- 📈 流量统计:上传/下载流量,按节点/域名分类
- 🔍 规则测试:输入一个域名,看它会命中哪条规则
- 📱 远程访问:手机浏览器打开就能管理
- ⚙️ 在线编辑:直接在网页上改配置,不用 SSH 上去
二、三大主流 WebUI 横向对比
2.1 总览对比表
| 特性 | mihomo-party | metacubexd | yacd-meta |
|---|---|---|---|
| 开发活跃度 | ⭐⭐⭐⭐⭐ 最活跃 | ⭐⭐⭐⭐ 活跃 | ⭐⭐⭐ 维护中 |
| 界面美观度 | ⭐⭐⭐⭐⭐ 最好看 | ⭐⭐⭐⭐ 好看 | ⭐⭐⭐ 经典 |
| 功能丰富度 | ⭐⭐⭐⭐⭐ 最全 | ⭐⭐⭐⭐ 丰富 | ⭐⭐⭐ 基础 |
| 移动端适配 | ⭐⭐⭐⭐⭐ 完美 | ⭐⭐⭐⭐ 好 | ⭐⭐ 一般 |
| 资源占用 | 中等 | 较低 | 最低 |
| 中文支持 | ✅ 原生中文 | ✅ 支持中文 | ⚠️ 需手动切 |
| Dark模式 | ✅ | ✅ | ✅ |
| 推荐人群 | 所有人 | 进阶用户 | 轻量用户 |
2.2 mihomo-party:全能王者
优点:
- 界面最现代,卡片式布局,颜值最高
- 独立的桌面客户端(Windows/macOS/Linux),不用开浏览器
- 内置订阅管理、规则编辑、日志分析
- 移动端体验最好,手机管理很方便
- 中文原生支持,对国内用户友好
缺点:
- 功能多导致资源占用稍高
- 桌面客户端体积较大(约 80MB)
2.3 metacubexd:官方钦定
优点:
- Mihomo 官方团队维护,兼容性最好
- 轻量级,加载快,资源占用低
- 连接监控和流量图表做得很好
- 支持自定义主题
缺点:
- 没有独立桌面客户端
- 部分高级功能需要手动配置
2.4 yacd-meta:经典轻量
优点:
- 最轻量,加载最快
- 界面经典简洁,老用户上手快
- 资源占用极低,适合软路由
缺点:
- 功能相对基础
- 界面比较老旧
- 移动端适配一般
【选择建议】
- 日常使用 + 手机管理 → mihomo-party
- 追求官方支持 + 轻量 → metacubexd
- 软路由 / 低配设备 → yacd-meta
- 纠结的话 → 先用 mihomo-party,不好用再换
三、开启 Mihomo 的外部控制 API
所有 WebUI 都通过 Mihomo 的 RESTful API 来工作,所以第一步是开启这个 API。
3.1 配置 external-controller
在你的 config.yaml 中添加:
# 外部控制 API
external-controller: 0.0.0.0:9090
# 设置一个密钥,防止别人访问
secret: "your-secret-key-here"
# 外部 UI 目录(可选,用于本地托管 WebUI)
external-ui: /path/to/ui
external-ui-url: "https://github.com/MetaCubeX/metacubexd/archive/refs/heads/gh-pages.zip"参数说明:
| 参数 | 作用 | 推荐值 |
|---|---|---|
external-controller | API 监听地址和端口 | 0.0.0.0:9090(允许远程)或 127.0.0.1:9090(仅本地) |
secret | API 访问密钥 | 随机字符串,必须设置 |
external-ui | 本地 UI 文件目录 | 任意路径 |
external-ui-url | UI 下载地址 | 官方仓库地址 |
3.2 安全警告
⚠️ 重要! 如果你把
external-controller设为0.0.0.0:9090,意味着同一网络下的任何人都能访问你的 API。 一定要设置secret密钥! 否则别人可以:
- 切换你的节点
- 查看你的连接记录
- 修改你的配置
- 关闭你的代理
3.3 生成安全密钥
# 生成一个随机密钥
openssl rand -hex 16
# 输出示例:a3f5b8c9d1e2f3a4b5c6d7e8f9a0b1c2把生成的字符串填到 secret 字段里。
四、mihomo-party 安装与配置
4.1 桌面客户端安装
macOS:
brew install --cask mihomo-partyWindows:
从 GitHub Releases
下载 .exe 安装包。
Linux:
# 下载 AppImage
wget https://github.com/mihomo-party-org/mihomo-party/releases/latest/download/mihomo-party-linux.AppImage
chmod +x mihomo-party-linux.AppImage
./mihomo-party-linux.AppImage4.2 首次配置
- 打开 mihomo-party
- 点击「添加配置」
- 填入你的 Mihomo API 信息:
- 地址:
http://你的服务器IP:9090 - 密钥:你设置的 secret
- 地址:
- 点击「连接」
连接成功后,你就能看到所有节点、代理组和规则了。
4.3 核心功能使用
切换节点
在「代理」页面,点击代理组里的节点即可切换。比改配置文件方便太多了。
查看连接
在「连接」页面,可以看到:
- 每个连接的源地址和目标地址
- 走的是哪个代理组、哪个节点
- 命中的是哪条规则
- 实时上传/下载速度
- 总流量
【实用技巧】 如果某个 App 走了代理但你不想它走,在连接页面找到对应域名,点击「阻断」可以临时拦截,方便测试。
流量统计
在「概览」页面,有实时流量图表:
- 总上传/下载速度
- 按节点统计的流量
- 按域名统计的流量
- 连接数变化趋势
规则测试
在「规则」页面,输入一个域名,点「测试」,就能看到这个域名会命中哪条规则、走哪个代理组。
这个功能调试规则时特别有用——不用真的访问那个网站,就能知道规则配对没有。
五、metacubexd 配置指南
5.1 在线版(最简单)
不想安装?直接用在线版:
- 打开 https://d.metacubex.one
- 输入你的 API 地址:
http://IP:9090 - 输入密钥
- 点击「添加」
【注意】 在线版 WebUI 通过浏览器直接连接你的 Mihomo API。如果你的 Mihomo 在家里内网,外面访问不了,需要配合内网穿透使用。
5.2 本地托管(推荐)
把 WebUI 文件下载到本地,由 Mihomo 自己托管:
# config.yaml
external-controller: 0.0.0.0:9090
secret: "your-secret"
external-ui: ui
external-ui-url: "https://github.com/MetaCubeX/metacubexd/archive/refs/heads/gh-pages.zip"重启 Mihomo 后,它会自动下载 UI 文件到 ui 目录。然后访问:
http://你的IP:9090/ui就能打开 WebUI 了。
5.3 手动下载 UI
如果自动下载失败(网络问题),可以手动下载:
# 进入 Mihomo 工作目录
cd /etc/mihomo # 或你的配置目录
# 下载 metacubexd
wget https://github.com/MetaCubeX/metacubexd/archive/refs/heads/gh-pages.zip
# 解压到 ui 目录
unzip gh-pages.zip
mv metacubexd-gh-pages ui六、移动端远程管理配置
6.1 同一 WiFi 下访问
最简单的情况:手机和 Mihomo 在同一个局域网。
- 确保
external-controller设为0.0.0.0:9090 - 查看电脑/软路由的局域网 IP(如
192.168.1.100) - 手机浏览器打开:
http://192.168.1.100:9090/ui - 输入密钥,连接成功
6.2 外网远程访问
出门在外也想管理家里的代理?有三种方案:
方案一:内网穿透
用 frp、Cloudflare Tunnel 等工具把 9090 端口暴露出去。
# Cloudflare Tunnel 示例
cloudflared tunnel --url http://localhost:9090安全建议: 给隧道加上 Cloudflare Access 认证,双重保护。
方案二:VPN 回家
在家里路由器上搭 WireGuard,手机连上 VPN 后就像在家里一样访问。
方案三:Tailscale(推荐)
Tailsscale 是最简单的方案:
- 软路由和手机都装 Tailscale
- 用 Tailscale 分配的 IP 访问:
http://100.x.x.x:9090/ui
不需要端口映射,不需要公网 IP,安全性也有保障。
6.3 移动端优化建议
- 用 mihomo-party 的 PWA 版本,添加到桌面像 App 一样用
- 开启浏览器的「桌面版网站」选项,功能更全
- 建议用 Safari / Chrome,兼容性最好
七、高级配置:代理分组可视化
7.1 在 WebUI 中理解代理组
代理组(Proxy Group)是 Mihomo 的核心概念。在 WebUI 里,每个代理组就是一个卡片:
┌─────────────────────────────────┐
│ 🌐 自动选择 (url-test) │
│ 当前: 🇯🇵 东京 01 (80ms) │
│ ┌───┐ ┌───┐ ┌───┐ ┌───┐ │
│ │🇯🇵东京│ │🇸🇬新加坡│ │🇺🇸美国│ │🇭🇰香港│ │
│ │80ms│ │120ms│ │200ms│ │50ms│ │
│ └───┘ └───┘ └───┘ └───┘ │
└─────────────────────────────────┘7.2 常用代理组配置模板
在 WebUI 的「配置编辑」功能中,可以直接编辑代理组:
proxy-groups:
# 总入口
- name: "🚀 节点选择"
type: select
proxies:
- ♻️ 自动选择
- 🔯 负载均衡
- 🎯 手动选择
- DIRECT
# 自动选最快
- name: "♻️ 自动选择"
type: url-test
url: "http://www.gstatic.com/generate_204"
interval: 300
tolerance: 50
proxies: [🇯🇵东京01, 🇯🇵东京02, 🇸🇬新加坡01, 🇺🇸美国01]
# 负载均衡
- name: "🔯 负载均衡"
type: load-balance
strategy: consistent-hashing
url: "http://www.gstatic.com/generate_204"
interval: 300
proxies: [🇯🇵东京01, 🇸🇬新加坡01, 🇺🇸美国01]
# 手动选择
- name: "🎯 手动选择"
type: select
proxies: [🇯🇵东京01, 🇯🇵东京02, 🇸🇬新加坡01, 🇺🇸美国01, 🇭🇰香港01]
# 流媒体专用
- name: "🎬 流媒体"
type: select
proxies:
- 🎯 手动选择
- 🇺🇸美国01
- 🇯🇵东京01
# 国外网站
- name: "🌍 国外网站"
type: select
proxies:
- 🚀 节点选择
- ♻️ 自动选择
- DIRECT7.3 在 WebUI 中测试代理组
配好代理组后,在 WebUI 里测试一下:
- 打开「连接」页面
- 访问一个国外网站
- 在连接列表里找到这个连接
- 看它走的是哪个代理组、哪个节点
如果走的不是你预期的组,说明规则需要调整。
八、连接监控与流量分析
8.1 连接页面详解
连接页面是 WebUI 最有用的功能之一。每条连接显示:
| 字段 | 含义 |
|---|---|
| 源地址 | 发起连接的本地地址和端口 |
| 目标地址 | 访问的远程域名和端口 |
| 代理组 | 命中的代理组名称 |
| 节点 | 实际走的代理节点 |
| 规则 | 命中的规则类型和内容 |
| 上传/下载 | 当前连接的实时速度 |
| 总流量 | 这个连接总共传了多少数据 |
8.2 常见连接问题排查
问题:某个国内 App 走了代理
- 在连接页面找到这个 App 的域名
- 查看命中的规则
- 如果规则是
MATCH(兜底规则),说明没有匹配到直连规则 - 在规则配置中添加对应的直连规则
rules:
- DOMAIN-SUFFIX,example.cn,DIRECT # 添加国内域名直连
- GEOIP,CN,DIRECT # 国内 IP 直连
- MATCH,🚀 节点选择 # 兜底走代理问题:某个网站走错了节点
- 在连接页面找到这个网站
- 看它走的是哪个代理组
- 如果走了「自动选择」但你想要固定节点
- 添加规则让它走指定代理组
rules:
- DOMAIN-SUFFIX,netflix.com,🎬 流媒体 # Netflix 走流媒体组8.3 流量统计与分析
在 metacubexd 和 mihomo-party 中,都有流量统计功能:
- 实时流量:当前总上传/下载速度
- 历史趋势:过去一段时间的流量变化
- 连接数:当前活跃连接数
- 按节点统计:每个节点用了多少流量
【实用场景】 如果发现某个节点流量异常大,可以在连接页面排查是哪些域名在走这个节点。可能是某个自动更新程序在后台下载大文件。
九、常见问题排查
9.1 WebUI 打不开
| 原因 | 解决方法 |
|---|---|
| API 端口没开 | 检查 external-controller 是否配置 |
| 防火墙拦截 | 放行 9090 端口 |
| Mihomo 没运行 | 确认 Mihomo 进程在运行 |
| 路径不对 | 确认访问的是 /ui 而不是根路径 |
9.2 连接 API 失败
| 原因 | 解决方法 |
|---|---|
| 密钥错误 | 检查 secret 是否一致 |
| 地址不对 | 确认 IP 和端口正确 |
| HTTPS 混合内容 | WebUI 是 HTTPS 但 API 是 HTTP,浏览器会拦截 |
| CORS 问题 | Mihomo 默认允许跨域,一般不会有这个问题 |
9.3 HTTPS 环境下的特殊问题
如果你通过反向代理(如 Nginx)用 HTTPS 访问 WebUI,但 Mihomo API 是 HTTP,浏览器会报混合内容错误。
解决方法:用 Nginx 反代 API
server {
listen 443 ssl;
server_name proxy.yourdomain.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
# WebUI 静态文件
location / {
root /path/to/ui;
try_files $uri $uri/ /index.html;
}
# API 反代
location /api/ {
proxy_pass http://127.0.0.1:9090/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}WebUI 里 API 地址填:https://proxy.yourdomain.com/api
十、总结与推荐配置
10.1 推荐方案
| 使用场景 | 推荐方案 |
|---|---|
| 桌面日常使用 | mihomo-party 桌面客户端 |
| 软路由管理 | metacubexd 本地托管 |
| 手机远程管理 | mihomo-party PWA + Tailscale |
| 低配设备 | yacd-meta |
| 多人共享 | metacubexd + Nginx 反代 + 认证 |
10.2 安全配置清单
- 设置了
secret密钥 - 密钥是随机生成的强密码
- 外网访问通过 VPN/Tailscale,不直接暴露端口
- 如果必须暴露端口,配合 Nginx 做基本认证
- 定期检查连接日志,排查异常连接
10.3 进阶学习路径
- 第一步:装好 WebUI,熟悉切换节点和查看连接
- 第二步:用规则测试功能调试分流规则
- 第三步:配置流量统计,了解自己的使用习惯
- 第四步:搭建远程访问,随时随地管理
- 第五步:配合 AI 智能路由 实现全自动运维
【相关推荐】
- Clash Meta 进阶配置指南 - 核心配置详解
- AI 智能路由完全指南 - 自动选节点策略
- subconverter 订阅转换进阶 - 订阅管理与优化
WebUI 不是锦上添花,而是刚需。一旦用上可视化面板,你再也不想回去改 yaml 文件了。今天就动手配上一个吧。🚀
