Mihomo 配置文件怎么导入?YAML 加载与检查步骤
简答:Mihomo 配置文件通常是 YAML 格式,先确认你拿到的是完整配置文件还是订阅 URL,再导入对应入口。导入成功不等于已经启用,也不等于节点和代理已经连通,建议按“导入→启用→校验→启动→连通验证”五个阶段检查。本文只讲 Mihomo 配置文件和兼容图形客户端的通用流程,不含其他客户端的具体菜单操作。
定义:Mihomo 配置文件是以 YAML 编写的配置文档,通常包含端口、DNS、代理节点、代理组、代理集合或规则等部分;本地 YAML 文件、订阅 URL 和代理 Provider 不是同一种导入对象。
先判断你手上的内容属于哪一种
如果你把本地文件路径粘贴到订阅 URL 输入框,或者把只包含节点片段的文件当成完整配置导入,常见结果是导入失败、节点为空或配置校验通过但无法运行。先按下面的对照表判断。
| 内容类型 | 常见形式 | 正确处理方式 | 成功判据 |
|---|---|---|---|
| 本地完整 YAML | config.yaml、profile.yml | 在客户端的配置文件或 Profiles 页面选择文件,部分客户端也支持拖拽 | 配置列表出现文件,且可被选中为当前配置 |
| 订阅 URL | https://example.invalid/... | 粘贴到远程订阅或 URL 导入入口 | 客户端成功下载并生成配置条目 |
| 代理 Provider | 配置中的 proxy-providers: | 写入完整 YAML 后由代理组通过 use 引用 | Provider 下载成功,代理组能看到对应节点 |
| 节点片段 | 只有 proxies:,没有端口、代理组或规则 | 合并到已有完整配置,不要直接当作完整配置使用 | 完整配置校验通过,代理组能引用节点 |
Mihomo 官方文档说明其配置文件格式为 YAML,YAML 区分大小写,并使用缩进表达层级;缩进不能使用 Tab,只能使用空格。可先查看Mihomo YAML 语法文档。
导入本地 .yaml 或 .yml 文件
- 备份原文件。先复制一份配置,保留原始文件名和扩展名。Windows 可复制到桌面或其他目录;macOS 和 Linux 可使用文件管理器复制,或执行
cp config.yaml config.yaml.bak。 - 打开兼容 Mihomo 的图形客户端。进入配置、Profiles 或本地配置页面,菜单名称可能随版本变化,以当前设置页显示为准。
- 选择本地文件。选中
.yaml或.yml文件,或者将文件拖入本地配置列表。Clash Verge Rev 的配置文档列出“新建配置文件导入”和“拖拽配置文件导入”两种本地方式;拖拽功能的版本要求以其文档为准,可查看Clash Verge Rev Profile 文档。 - 点击配置条目使其成为当前配置。配置出现在列表中,只表示文件已被识别或保存,不代表内核已经使用它。观察当前配置标记、启用状态或客户端日志。
- 查看节点和代理组。如果节点列表为空,先确认文件内是否存在
proxies:、proxy-providers:或可用的代理组;如果代理组引用了不存在的节点名称,先修正引用关系。
本地文件的路径不需要填写到 URL 输入框。若文件来自订阅下载,请先确认下载结果确实是 YAML,而不是登录页、错误页或 HTML 页面。
导入订阅 URL:先检查返回内容
- 复制完整订阅地址。不要手动截断参数,也不要把节点单链接误当作完整 YAML 订阅。订阅 URL 通常包含访问凭据,避免发到公开群组、工单截图或日志中。
- 粘贴到远程订阅入口。不要把 URL 当作本地文件打开,也不要把本地路径粘贴到 URL 输入框。
- 等待配置生成。下载成功后,客户端通常会出现一个远程配置条目。先点击该条目使其成为当前配置,再查看代理组和节点。
- 遇到 HTML、登录页或 403 时停止排查 YAML。这说明下载到的内容可能不是配置文件,可能是登录页、权限错误、过期内容或服务端返回的错误页面。此时先在浏览器或命令行检查响应,不要继续修改 YAML 缩进。
可用以下命令查看响应头和前几行内容,命令中的地址只使用你自己的订阅地址,并注意不要把完整 URL 保存进公开脚本:
curl -I -L "https://example.invalid/subscription"
curl -L --max-time 20 "https://example.invalid/subscription" | head -n 20
如果响应是 HTML,或状态码为 401、403、404,应先核对地址、权限和有效期;如果返回内容需要特定请求头,也应以提供方给出的导入说明为准。Clash Verge Rev 的配置文档也将远程订阅导入与本地配置导入分为不同流程,可参考其远程订阅和本地配置说明。
YAML 导入后怎么检查:从语法到内核启动
- 先看扩展名和编码。文件应使用
.yaml或.yml,文本尽量保存为 UTF-8。扩展名正确不代表内容一定是完整配置。 - 检查缩进。YAML 只能用空格缩进,不能用 Tab。以下写法容易出错:键名后缺少冒号、列表层级不一致、字符串中的特殊字符没有引号、同一级重复定义关键字段。
- 确认引用对象存在。
proxy-groups中的proxies通常引用节点或其他策略组;use用于引入代理集合。Mihomo 文档分别说明了代理节点、代理组和代理集合的关系。 - 先确认当前内核支持哪些参数。在终端执行
mihomo --help,确认本机帮助中是否列出-t、-d、-f以及参数顺序。不同打包版本或图形客户端内置内核可能存在差异,不要直接套用其他版本命令。 - 再做配置校验。如果帮助中确认支持测试参数,可按本机实际格式执行,例如
mihomo -t -f ./config.yaml,或先进入配置目录再执行对应命令。校验成功只说明文件可被解析或检查通过,不代表节点可连接。 - 启动后看日志。Linux 服务方式可参考 Mihomo 官方 systemd 文档中的
mihomo -d /etc/mihomo目录启动方式,以及journalctl -u mihomo查看日志的方法。图形客户端则查看内核日志或运行日志。
如果本机不支持 -t,不要把“命令不存在”当成 YAML 一定错误;优先使用客户端自带的配置检查按钮或当前内核帮助信息。Mihomo 官方配置文档列出了配置分区和字段说明,可从配置总览逐项核对。
最小可用检查模板:只验证结构,不提供真实节点
下面是用于理解层级的占位示例,不包含可用服务器、密码或订阅地址。它不能替代你的完整配置,也不能单独证明网络连通:
mixed-port: 7890
mode: rule
log-level: info
allow-lan: false
proxies:
- name: "占位直连"
type: direct
proxy-groups:
- name: "默认"
type: select
proxies:
- "占位直连"
rules:
- MATCH,默认
检查重点是:proxies 是列表,节点名称没有重复;proxy-groups 的引用名称与节点名称一致;rules 引用的策略组确实存在。若你使用的是 Provider,配置还需要按照官方字段结构填写 proxy-providers,并由代理组通过 use 引用,而不是把 Provider URL 直接当作一个节点名称。
按现象分支排查导入失败
| 现象 | 优先检查 | 处理方法 |
|---|---|---|
| 导入按钮提示 URL 无效 | 是否把本地路径或节点 URI 粘贴进 URL 框 | 本地文件改用本地配置入口;订阅 URL 确认以 http:// 或 https:// 开头,并按客户端文档要求填写 |
| 配置条目出现但没有节点 | 文件是否只有空的 proxies,或 Provider 未下载 | 检查 Provider 的地址、日志和代理组的 use;不要只看配置条目是否存在 |
| YAML 行号报错 | Tab、缩进、冒号、引号、列表层级 | 从报错行向上检查最近一个缩进变化,删除 Tab 后重新保存 |
| 配置校验成功但内核启动失败 | 端口占用、字段兼容性、路径权限或 Provider 下载 | 查看启动日志;先换一个未占用的本地端口,再单独处理 Provider 和字段问题 |
| 节点显示但网页打不开 | 当前配置是否启用、代理组是否选中节点、系统代理或 TUN 是否接管 | 先确认内核运行,再确认代理组选择,最后只开启一种流量接入方式并测试本地代理端口 |
例如,若配置使用了本地 mixed 入站,可先按实际端口测试本地端口是否监听:curl -x http://127.0.0.1:7890 -I --max-time 10 https://example.com。这个命令只验证 HTTP 代理路径,不等于 UDP、QUIC 或 TUN 流量测试;端口号必须以当前配置和客户端设置页显示为准。
导入前后的安全检查清单
- 文件扩展名是
.yaml或.yml,内容不是 HTML 登录页。 - YAML 使用空格缩进,没有 Tab,键名大小写与文档一致。
- 本地文件、订阅 URL、Provider 和节点片段已经区分。
- 导入后已点击当前配置,确认不是“只添加未启用”。
- 代理组引用的节点、策略组或 Provider 名称确实存在。
- 配置校验、内核启动和实际代理连通分别判断,没有把三者混为一谈。
- 分享日志、配置截图或命令输出前,删除订阅 URL、服务器地址、端口、密码、UUID 和控制 API 密钥。
本文是第三方使用指南,仅用于说明 Mihomo 配置文件的通用导入和排查方法;具体按钮、内核版本和配置目录以你正在使用的软件界面及官方资料为准。资料核对日期为 2026-11-13。
常见问题
Mihomo 配置文件导入后为什么没有节点?
先确认当前配置已经启用,再检查文件是否包含 proxies 或 proxy-providers。若使用 proxy-providers,还要检查 Provider 是否下载成功,以及代理组是否通过 use 或其他有效方式引用它。配置条目出现并不等于节点已经加载。
订阅 URL 返回 HTML 页面,还能继续修改 YAML 吗?
不建议。HTML 通常说明拿到的不是配置内容,可能是登录页、403 权限错误、404 地址错误或过期提示。先用 curl 查看状态码和响应前几行,核对订阅地址与权限后再重新导入。
Mihomo 配置校验通过,但为什么网页仍然打不开?
配置校验只说明文件可以被解析或检查通过,不代表内核已启动、代理组已选中节点或系统流量已接入。应依次检查内核日志、当前配置、代理组选择、本地代理端口,以及系统代理或 TUN 的接管状态。
YAML 文件可以使用 Tab 缩进吗?
不可以。Mihomo YAML 语法文档明确说明缩进不能使用 Tab,只能使用空格。将 Tab 转为空格后,还要检查同一级字段是否左对齐。
mihomo -t -f config.yaml 一定适用于所有版本吗?
不能直接假定。先运行 mihomo --help,确认当前内核是否支持 -t、-f、-d 及其参数顺序。如果不支持,使用客户端自带配置检查功能或当前版本文档;即使校验通过,也仍需单独验证内核启动和代理连通。