Mihomo 内核配置要点:命令行使用与最小配置

先说结论

Mihomo 配置是一份 YAML 文件,最小骨架由本地入口、节点、策略组和规则几块组成。启动时用命令行指定配置所在目录,先校验再运行;字段的准确写法以官方文档为准。

想要一份能用的 Mihomo 配置,让内核在自己电脑上安静地跑起来、不要图形界面,要准备的东西其实不多:一份配置文件、一个放配置的目录,以及一条启动命令。难点不在命令,而在配置里每一块是干什么的。这篇 Mihomo 配置要点就按这个顺序展开,字段名的精确写法一律以Mihomo 官方文档为准,文中只讲结构。

Mihomo 内核和图形客户端的分工

先把关系摆正:Mihomo 内核是真正处理流量的程序,Clash Verge Rev、Clash Party、FlClash 这类客户端则是围绕它做的界面。客户端替你完成的事,直接用内核时都要自己做:

事项 图形客户端里 直接用内核时
获取节点 粘贴订阅链接,点更新 自己把配置内容保存成文件
切换节点 点节点卡片 通过外部控制接口或改配置
看连接与日志 界面里有页面 看终端输出,或接外部面板
开关系统代理 一个开关 自己设置,或让程序自己指定代理端口
更新内核 客户端内置或随客户端升级 自己去官方下载入口取新文件

如果你更习惯界面,可以先读 Clash 配置文件这篇打基础;本文默认你已经知道 YAML 的缩进规则。

一份最小的 Mihomo 配置由哪几块组成

最小可运行的骨架,可以理解为五块:

  1. 入口:告诉内核在本机哪个端口接收程序的请求。常见做法是一个混合端口同时接 HTTP 和 SOCKS,字段名以文档为准。
  2. 模式与日志:运行模式(规则、全局、直连一类)和日志详细程度。
  3. 节点:一个列表,每个节点写明名称、类型、地址、端口和认证信息。节点的参数来自你的服务提供方,不要自己编。
  4. 策略组:把节点编成“手动选择”“自动测试”之类的组,规则里指向的是组名。
  5. 规则:按顺序匹配,命中即停,最后用兜底规则收尾。

用文字概括骨架如下,仅为结构示意,字段与取值请对照官方文档:

入口相关字段: ...   # 结构示意,不是可直接使用的配置
模式与日志: ...
proxies:        # 节点列表
  - ...
proxy-groups:   # 策略组
  - ...
rules:          # 规则,自上而下匹配
  - ...

只要这五块的引用关系对得上(规则里写的组名在策略组里存在,策略组里写的节点名在节点里存在),内核就能启动。大多数“启动即报错”的问题,都是名称对不上。策略组怎么编可以看 Clash 策略组,规则的写法看 Clash 规则。

命令行使用 Mihomo:目录、校验、运行

命令行的使用习惯分三步,参数写法请以内核自带的帮助信息和官方文档为准:

  1. 准备工作目录:新建一个专门的文件夹,把配置文件放进去。内核会在这个目录里读取配置,也会往里写缓存类文件,所以不要把它和别的软件混用。
  2. 先校验,后运行:内核一般有只检查配置、不真正启动的选项。每次改完配置先校验,能提前发现缩进、名称引用的错误。
  3. 运行并观察日志:启动后看终端输出,确认没有报错,再用浏览器或命令行工具走一次本地端口。

在终端里想让命令行工具走代理,需要它自己支持代理参数或环境变量,这和 Clash 系统代理里讲的“程序愿不愿意读设置”是同一个道理。

外部控制是做什么的

直接用内核时,没有按钮可点,切换节点的办法就是外部控制。它是内核对外提供的一个控制入口,监听本机的某个地址,再由面板或脚本来调用。你需要关心三件事:

  • 监听地址只放本机:默认只让本机访问,别为了方便改成对外开放,那等于把控制权交给同一网络里的任何人。
  • 设置访问密钥:配置里通常有密钥字段,设上,再把面板填成相同的值。
  • 面板单独获取:图形化的网页面板是独立项目,只从官方文档和仓库给出的入口获取,别用来路不明的整合包。

规则集和订阅内容怎么加载

规则一多,就不会全写在主配置里,而是用“规则提供者”引用外部文件,来源可以是本地文件,也可以是远程地址。要注意的有三点:

  1. 来源要可信:远程规则集的内容会直接影响你的流量走向。使用别人整理的集合前先看清是谁维护的。
  2. 别导入来历不明的完整配置:Clash Party 某次更新说明提到,修复了恶意规则提供者配置可能执行任意命令的问题,并建议旧版升级。它提醒我们,一份陌生配置不只是节点列表,也要当作“会被执行的东西”来对待,先读再用,内核也要保持在官方下载入口的较新版本。
  3. 更新方式写清楚:远程规则集要指定刷新间隔,没有网络时回退到上次的缓存,具体字段看官方文档。

订阅返回的配置如果已经是 Mihomo 格式,可以拿来当起点,但里面的端口、控制入口、DNS 段要自己过一遍,别让订阅方替你决定本机监听什么。

用容器跑 Mihomo 时目录怎么对应

mihomo docker 的场景,很多人拿来在自己的家用小主机或 NAS 上当本地内核用。只讲客户端侧要点:

  • 路径对应:容器里的内核只认容器内部路径,必须把你本机放配置的目录映射进去,否则它读到一个空目录,会按默认状态启动或直接报错。
  • 端口与监听:容器内部监听的地址,要与容器对外暴露的端口一致,你的设备才能连到。
  • 权限:需要接管整机流量(类似 TUN)的场景,容器要额外的网络权限,这一块务必逐条对照官方文档,别照搬来路不明的启动命令。
  • 镜像来源:只用官方仓库给出的镜像信息,不用第三方打包的版本。

怎么确认 Mihomo 配置真的生效

现象 说明 下一步
校验通过,启动报错 多半是端口被占用或目录权限问题 换端口,检查目录可写
启动成功,访问没有走代理 程序没用你的入口,或模式是直连 看日志里有没有连接记录,确认模式
日志里有连接,但都是直连 规则没命中或兜底写成了直连 检查规则顺序与兜底
域名解析异常 DNS 段与规则不匹配 读 Clash DNS 设置
面板连不上控制入口 地址、端口或密钥不一致 逐项核对

下一步怎么走

如果你只是想把配置写对,先到 Clash 配置生成工具里在本地试一份骨架,再对照 官方文档导航中收录的 Mihomo 文档逐项核对;需要对比内核之间的取舍,可以看 sing-box 与 Mihomo 的对比。准备把它长期用起来之前,别忘了回到 GitHub 项目导航,从官方入口查看内核当前发布情况。

这篇没有覆盖的

  • 本文给出的是结构和思路,具体字段名、取值和默认行为请以当前版本的官方文档为准。
  • 只讲在自己设备上作为本地客户端内核使用,不涉及搭建任何服务端。
  • 梯子岛没有内核性能数据,无法比较不同配置写法的快慢。

本文引用的官方来源

  1. Mihomo(Clash Meta)文档(wiki.metacubex.one)
  2. Mihomo 内核官方仓库(github.com)

以上链接均为官方页面,梯子岛在 2026-10-09 核对过;个别网站会拦截自动化访问,用浏览器直接打开即可。平台规则可能随时调整,以官方页面当前内容为准。

Mihomo 配置常见问题

直接用 Mihomo 内核和用图形客户端,有什么本质区别?

内核负责真正的转发,图形客户端是在它外面套了一层界面,帮你下载订阅、写配置、切换节点。直接用内核,这些事要自己动手,换来的是对配置的完全掌控和更少的依赖,代价是上手门槛更高、出错时没有界面提示。

配置文件改完,怎么知道有没有写错?

内核通常提供只检查不运行的校验方式,具体参数以官方文档和内核自带的帮助信息为准。先校验再启动,能把缩进、字段拼写这类低级错误挡在运行之前;校验通过只说明语法可读,不代表节点可用,后者还要看连接记录。

用容器运行 Mihomo,需要注意什么?

容器里的内核读取的是容器内的路径,所以要把你本机的配置目录对应进去,否则它读到的是空目录。另外容器网络与宿主机不同,端口和监听地址需要和你的使用场景对应。具体参数请看官方文档,本文不展开服务端用法。

订阅里拿到的配置能直接当 Mihomo 配置用吗?

如果订阅返回的就是 Clash 或 Mihomo 格式的 YAML,通常可以保存后直接读取,但里面的端口、控制入口等字段可能与你的需要不一致,建议先打开看一遍再用。返回其他格式的订阅需要先转换。

规则集是内置的还是需要自己下载?

内核本身只负责按配置加载规则。规则集通常以规则提供者的方式引用,由配置指定来源和更新方式,可以是远程地址,也可以是本地文件。写哪些、怎么更新,以官方文档和你的规则需求为准。

接着读

文中出现的术语

相关专题

接下来去哪儿?

找官方入口去网址导航,想核对仓库和版本看GitHub 项目导航;需要现成的机场,机场目录收了 28 家的价格与线路资料,性价比机场、便宜机场、VPN 机场分别有专项页。