Mihomo 内核配置要点:命令行使用与最小配置
Mihomo 配置是一份 YAML 文件,最小骨架由本地入口、节点、策略组和规则几块组成。启动时用命令行指定配置所在目录,先校验再运行;字段的准确写法以官方文档为准。
想要一份能用的 Mihomo 配置,让内核在自己电脑上安静地跑起来、不要图形界面,要准备的东西其实不多:一份配置文件、一个放配置的目录,以及一条启动命令。难点不在命令,而在配置里每一块是干什么的。这篇 Mihomo 配置要点就按这个顺序展开,字段名的精确写法一律以Mihomo 官方文档为准,文中只讲结构。
Mihomo 内核和图形客户端的分工
先把关系摆正:Mihomo 内核是真正处理流量的程序,Clash Verge Rev、Clash Party、FlClash 这类客户端则是围绕它做的界面。客户端替你完成的事,直接用内核时都要自己做:
| 事项 | 图形客户端里 | 直接用内核时 |
|---|---|---|
| 获取节点 | 粘贴订阅链接,点更新 | 自己把配置内容保存成文件 |
| 切换节点 | 点节点卡片 | 通过外部控制接口或改配置 |
| 看连接与日志 | 界面里有页面 | 看终端输出,或接外部面板 |
| 开关系统代理 | 一个开关 | 自己设置,或让程序自己指定代理端口 |
| 更新内核 | 客户端内置或随客户端升级 | 自己去官方下载入口取新文件 |
如果你更习惯界面,可以先读 Clash 配置文件这篇打基础;本文默认你已经知道 YAML 的缩进规则。
一份最小的 Mihomo 配置由哪几块组成
最小可运行的骨架,可以理解为五块:
- 入口:告诉内核在本机哪个端口接收程序的请求。常见做法是一个混合端口同时接 HTTP 和 SOCKS,字段名以文档为准。
- 模式与日志:运行模式(规则、全局、直连一类)和日志详细程度。
- 节点:一个列表,每个节点写明名称、类型、地址、端口和认证信息。节点的参数来自你的服务提供方,不要自己编。
- 策略组:把节点编成“手动选择”“自动测试”之类的组,规则里指向的是组名。
- 规则:按顺序匹配,命中即停,最后用兜底规则收尾。
用文字概括骨架如下,仅为结构示意,字段与取值请对照官方文档:
入口相关字段: ... # 结构示意,不是可直接使用的配置
模式与日志: ...
proxies: # 节点列表
- ...
proxy-groups: # 策略组
- ...
rules: # 规则,自上而下匹配
- ...
只要这五块的引用关系对得上(规则里写的组名在策略组里存在,策略组里写的节点名在节点里存在),内核就能启动。大多数“启动即报错”的问题,都是名称对不上。策略组怎么编可以看 Clash 策略组,规则的写法看 Clash 规则。
命令行使用 Mihomo:目录、校验、运行
命令行的使用习惯分三步,参数写法请以内核自带的帮助信息和官方文档为准:
- 准备工作目录:新建一个专门的文件夹,把配置文件放进去。内核会在这个目录里读取配置,也会往里写缓存类文件,所以不要把它和别的软件混用。
- 先校验,后运行:内核一般有只检查配置、不真正启动的选项。每次改完配置先校验,能提前发现缩进、名称引用的错误。
- 运行并观察日志:启动后看终端输出,确认没有报错,再用浏览器或命令行工具走一次本地端口。
在终端里想让命令行工具走代理,需要它自己支持代理参数或环境变量,这和 Clash 系统代理里讲的“程序愿不愿意读设置”是同一个道理。
外部控制是做什么的
直接用内核时,没有按钮可点,切换节点的办法就是外部控制。它是内核对外提供的一个控制入口,监听本机的某个地址,再由面板或脚本来调用。你需要关心三件事:
- 监听地址只放本机:默认只让本机访问,别为了方便改成对外开放,那等于把控制权交给同一网络里的任何人。
- 设置访问密钥:配置里通常有密钥字段,设上,再把面板填成相同的值。
- 面板单独获取:图形化的网页面板是独立项目,只从官方文档和仓库给出的入口获取,别用来路不明的整合包。
规则集和订阅内容怎么加载
规则一多,就不会全写在主配置里,而是用“规则提供者”引用外部文件,来源可以是本地文件,也可以是远程地址。要注意的有三点:
- 来源要可信:远程规则集的内容会直接影响你的流量走向。使用别人整理的集合前先看清是谁维护的。
- 别导入来历不明的完整配置:Clash Party 某次更新说明提到,修复了恶意规则提供者配置可能执行任意命令的问题,并建议旧版升级。它提醒我们,一份陌生配置不只是节点列表,也要当作“会被执行的东西”来对待,先读再用,内核也要保持在官方下载入口的较新版本。
- 更新方式写清楚:远程规则集要指定刷新间隔,没有网络时回退到上次的缓存,具体字段看官方文档。
订阅返回的配置如果已经是 Mihomo 格式,可以拿来当起点,但里面的端口、控制入口、DNS 段要自己过一遍,别让订阅方替你决定本机监听什么。
用容器跑 Mihomo 时目录怎么对应
mihomo docker 的场景,很多人拿来在自己的家用小主机或 NAS 上当本地内核用。只讲客户端侧要点:
- 路径对应:容器里的内核只认容器内部路径,必须把你本机放配置的目录映射进去,否则它读到一个空目录,会按默认状态启动或直接报错。
- 端口与监听:容器内部监听的地址,要与容器对外暴露的端口一致,你的设备才能连到。
- 权限:需要接管整机流量(类似 TUN)的场景,容器要额外的网络权限,这一块务必逐条对照官方文档,别照搬来路不明的启动命令。
- 镜像来源:只用官方仓库给出的镜像信息,不用第三方打包的版本。
怎么确认 Mihomo 配置真的生效
| 现象 | 说明 | 下一步 |
|---|---|---|
| 校验通过,启动报错 | 多半是端口被占用或目录权限问题 | 换端口,检查目录可写 |
| 启动成功,访问没有走代理 | 程序没用你的入口,或模式是直连 | 看日志里有没有连接记录,确认模式 |
| 日志里有连接,但都是直连 | 规则没命中或兜底写成了直连 | 检查规则顺序与兜底 |
| 域名解析异常 | DNS 段与规则不匹配 | 读 Clash DNS 设置 |
| 面板连不上控制入口 | 地址、端口或密钥不一致 | 逐项核对 |
下一步怎么走
如果你只是想把配置写对,先到 Clash 配置生成工具里在本地试一份骨架,再对照 官方文档导航中收录的 Mihomo 文档逐项核对;需要对比内核之间的取舍,可以看 sing-box 与 Mihomo 的对比。准备把它长期用起来之前,别忘了回到 GitHub 项目导航,从官方入口查看内核当前发布情况。
这篇没有覆盖的
- 本文给出的是结构和思路,具体字段名、取值和默认行为请以当前版本的官方文档为准。
- 只讲在自己设备上作为本地客户端内核使用,不涉及搭建任何服务端。
- 梯子岛没有内核性能数据,无法比较不同配置写法的快慢。
本文引用的官方来源
- Mihomo(Clash Meta)文档(wiki.metacubex.one)
- Mihomo 内核官方仓库(github.com)
以上链接均为官方页面,梯子岛在 2026-10-09 核对过;个别网站会拦截自动化访问,用浏览器直接打开即可。平台规则可能随时调整,以官方页面当前内容为准。
Mihomo 配置常见问题
直接用 Mihomo 内核和用图形客户端,有什么本质区别?
内核负责真正的转发,图形客户端是在它外面套了一层界面,帮你下载订阅、写配置、切换节点。直接用内核,这些事要自己动手,换来的是对配置的完全掌控和更少的依赖,代价是上手门槛更高、出错时没有界面提示。
配置文件改完,怎么知道有没有写错?
内核通常提供只检查不运行的校验方式,具体参数以官方文档和内核自带的帮助信息为准。先校验再启动,能把缩进、字段拼写这类低级错误挡在运行之前;校验通过只说明语法可读,不代表节点可用,后者还要看连接记录。
用容器运行 Mihomo,需要注意什么?
容器里的内核读取的是容器内的路径,所以要把你本机的配置目录对应进去,否则它读到的是空目录。另外容器网络与宿主机不同,端口和监听地址需要和你的使用场景对应。具体参数请看官方文档,本文不展开服务端用法。
订阅里拿到的配置能直接当 Mihomo 配置用吗?
如果订阅返回的就是 Clash 或 Mihomo 格式的 YAML,通常可以保存后直接读取,但里面的端口、控制入口等字段可能与你的需要不一致,建议先打开看一遍再用。返回其他格式的订阅需要先转换。
规则集是内置的还是需要自己下载?
内核本身只负责按配置加载规则。规则集通常以规则提供者的方式引用,由配置指定来源和更新方式,可以是远程地址,也可以是本地文件。写哪些、怎么更新,以官方文档和你的规则需求为准。
接着读
- 教程 · Clash 配置文件怎么看?YAML 结构与常用字段讲解
- 教程 · Clash 规则怎么写?rules 与 rule-providers 入门
- 教程 · Clash 策略组是什么?select、url-test 与 fallback 的区别
- 教程 · Clash DNS 设置详解:fake-ip 与 redir-host 怎么选
- 对比 · sing-box 与 Mihomo 内核对比:配置格式与生态
- 教程 · Clash 订阅怎么导入?订阅链接、更新与导入失败自查