3i云-顶级海外加速平台

Mihomo 订阅怎么添加和更新?Mihomo Party 与 config.yaml 双方法

更新于 2026-11-14 · 3i.mom

简答:如果你使用 Mihomo Party,优先把订阅地址添加为远程 Profile,再下载、激活并选择节点;如果直接运行 Mihomo,则在 config.yaml 中用 proxy-providers 加载订阅,并让 proxy-groups 的 use 引用它。更新订阅、重载配置、切换当前配置和选择节点不是同一个动作。本文核对日期:2026年11月14日。

定义:Mihomo 订阅是由远程地址提供配置或节点集合,客户端或内核下载后保存为 Profile、Provider 缓存,再由代理组读取并使用。

先看三行速查卡:你应该用哪种方法

这是一个第三方使用指南,不是 Mihomo、Mihomo Party 或任何订阅提供方的官方网站。Mihomo 是代理内核;Mihomo Party 是调用该内核的图形客户端;Clash Meta 是 Mihomo 早期常见的名称关联。当前图形项目的代码仓库名称为 clash-party,界面和项目名称可能随版本调整,菜单文案以当前界面为准。

订阅导入路径速查
你的使用方式导入方法导入后必须继续做什么
使用 Mihomo Party 图形客户端添加远程 Profile 或订阅 URL下载、激活 Profile、进入代理组选择节点
直接运行 Mihomo 二进制或服务在 config.yaml 中添加 proxy-providers让 proxy-groups.use 引用 Provider,再重载或重启
拿到的是完整 YAML 配置保存为 config.yaml 后启动内核确认文件格式、工作目录和端口,再验证实际请求

最快判断:图形客户端走“远程 Profile”;原生内核走“proxy-providers + use”;更新订阅不等于重载配置,节点出现也不等于代理已经生效。

官方资料可参考 Mihomo Party 项目仓库、mihomo Proxy Providers 文档 和 mihomo Proxy Groups 文档。

方法一:在 Mihomo Party 中添加、下载和启用订阅

Mihomo Party 的具体菜单名称可能随版本、系统和语言变化。以下使用当前常见的“Profile、配置、远程配置、订阅”等入口描述;如果你的界面显示不同,以当前版本为准,具体文案需核实。

  1. 准备订阅地址。从配置提供方复制完整的 Clash、Mihomo 或 Clash Meta 兼容地址。不要只复制域名,也不要删除问号后的参数、令牌或末尾字符。订阅地址属于敏感凭据,不要放进公开截图、Issue、聊天群或代码仓库。
  2. 打开 Profile 管理入口。启动 Mihomo Party,在侧边栏寻找 Profile、配置、远程配置或订阅管理页面,点击加号、添加或新建。项目仓库当前名称为 clash-party,因此应用标题、图标或文案可能与旧教程中的“Mihomo Party”不同。
  3. 选择远程导入。选择 URL、Remote Profile、远程配置或订阅地址类型,不要把 URL 放入本地文件选择框。
  4. 粘贴并保存。粘贴完整地址,名称可以填写“工作配置”等不含令牌的名称。保存后等待下载,不要连续重复点击添加,以免生成多个相同 Profile。
  5. 检查下载结果。确认 Profile 有更新时间、配置内容、节点或策略组。如果只有 Profile 名称但没有节点,查看下载响应、客户端日志和配置解析错误。
  6. 激活并选择节点。对新 Profile 执行使用、激活或切换,然后进入代理组选择具体节点。看到 Profile 被保存,只能说明地址已记录;看到节点,也不代表系统代理、TUN 或实际网页请求已经生效。
四个动作的区别
动作作用常见误判
添加保存远程地址或本地文件入口误以为已经开始代理
更新重新下载远程 Profile 或 Provider误以为会自动切换到新配置
重载让正在运行的 Mihomo 重新读取配置误以为会重新获取所有订阅
切换与选节点启用某个 Profile,并指定代理组使用的节点误以为节点列表出现就代表连接成功

如果报 401 Unauthorized 或 403 Forbidden,先核对地址、令牌和权限;如果报 404 Not Found,重新复制完整地址;如果报 timeout,先检查订阅域名解析和当前网络,不要直接重复添加。

方法二:原生 Mihomo 用 config.yaml 添加 proxy-providers

原生 Mihomo 的配置目录由启动参数决定。官方 systemd 示例使用 /usr/local/bin/mihomo -d /etc/mihomo,因此 Linux 服务通常可以先进入 /etc/mihomo;如果你使用其他启动方式,应以服务文件、Docker 挂载目录或命令中的 -d 参数为准。

先进入实际工作目录并备份。Linux systemd 示例:

sudo cd /etc/mihomo

由于 sudo cd 在多数 Shell 中不会改变当前目录,更稳妥的写法是:

cd /etc/mihomo
sudo cp config.yaml config.yaml.bak-20261114

如果你使用的是用户目录,则先执行类似 cd ~/.config/mihomo;Windows 和 macOS 请在实际配置目录中复制一份 config.yaml。不要直接覆盖没有备份的配置。

下面是可照抄的最小结构。代码中的订阅地址必须替换为你自己获得的完整 URL;示例域名不是可用订阅地址。

mixed-port: 7890
mode: Rule
log-level: info

proxy-providers:
  my-subscription:
    type: http
    url: "https://YOUR_SUBSCRIPTION_URL"
    path: ./proxy_providers/my-subscription.yaml
    interval: 3600
    health-check:
      enable: true
      url: https://www.gstatic.com/generate_204
      interval: 300
      timeout: 5000

proxy-groups:
  - name: PROXY
    type: select
    use:
      - my-subscription
    proxies:
      - DIRECT

rules:
  - MATCH,PROXY

保存后,确认 YAML 使用空格缩进,不要使用 Tab;proxy_providers 目录应位于 Mihomo 工作目录下,或位于允许的安全路径中。官方文档说明,Provider 的 path 默认受工作目录限制,放到其他位置可能需要配置 SAFE_PATHS。

  • type: http:通过 HTTP 或 HTTPS 获取远程 Provider。
  • url:填写完整订阅地址。不要公开含令牌的 URL。
  • path:保存 Provider 的本地缓存文件,父目录不存在时先创建。
  • interval: 3600:按 3600 秒间隔更新 Provider,单位是秒。
  • health-check:对 Provider 中的节点进行延迟检查,官方文档列出了 https://www.gstatic.com/generate_204 和 https://cp.cloudflare.com 等地址。
  • use:把 Provider 引入代理组。只写 Provider、不在代理组使用,节点可能不会出现在可选列表中。

如果你的订阅返回的是完整 Mihomo YAML,而不是 Provider 节点集合,可以将其保存为工作目录中的 config.yaml,先备份旧文件,再通过启动命令或服务重启加载:

cd /etc/mihomo
sudo cp config.yaml config.yaml.before-import
sudo mv downloaded-config.yaml config.yaml
sudo systemctl restart mihomo
sudo systemctl status mihomo

Windows 或 macOS 没有 systemctl,可先退出正在运行的 Mihomo,再替换配置文件并重新启动程序。若远程内容没有明确说明是完整配置还是节点集合,不要凭文件名猜测,先用文本编辑器查看顶层是否包含 proxy-groups、rules 等配置字段。

订阅更新、配置重载和节点切换怎么验证

原生 Mihomo 运行服务时,官方 systemd 示例支持用 systemctl reload mihomo 重新加载,并用 journalctl -u mihomo -o cat -e 查看日志。若重载后配置没有变化,先确认服务实际使用的 -d 工作目录,再检查文件修改时间。

sudo systemctl reload mihomo
sudo systemctl status mihomo
sudo journalctl -u mihomo -o cat -e

如果配置启用了外部控制器,可以查询运行配置或触发重载。API 请求需要使用你自己设置的控制器地址和密钥,不能把管理接口暴露到不可信网络:

curl -H "Authorization: Bearer YOUR_SECRET" \
  -X PUT "http://127.0.0.1:9090/configs?force=true" \
  -d '{"path":"","payload":""}'

官方 API 文档说明,/configs 可查询基础运行配置,PUT /configs?force=true 用于重载;也可以查询 /version 获取当前内核版本。API 地址和端口不是所有安装方式都相同,需以配置文件中的 external-controller 为准。

更新链路自查
检查项目判定标准失败时先查什么
远程更新Profile 或 Provider 的更新时间变化,缓存文件大小非零URL、状态码、DNS、超时
配置重载日志显示重新读取配置,运行配置中的端口或模式与文件一致工作目录、启动参数、YAML 语法
切换当前配置图形客户端显示新 Profile 为当前配置是否只添加未激活、是否仍在旧 Profile
节点选择代理组显示已选节点,日志出现对应连接活动Provider 是否被 use 引用、节点是否可用

三平台验证:先定位工作目录,再检查端口和实际请求

验证命令必须在实际工作目录执行,不能机械照抄相对路径。Linux systemd 常见目录是 /etc/mihomo;用户手动运行时可能是 ~/.config/mihomo;Windows、macOS 或容器环境则以启动参数、快捷方式和挂载目录为准。官方服务示例明确使用 -d /etc/mihomo。

导入后的可复现检查
检查目标WindowsmacOSLinux
进入实际目录Set-Location "C:\path\to\mihomo"cd /实际/mihomo目录cd /etc/mihomo 或以 -d 为准
检查主配置Get-Item .\config.yamlls -l ./config.yamlsudo ls -l ./config.yaml
检查 Provider 缓存Get-ChildItem .\proxy_providersls -l ./proxy_providerssudo ls -l ./proxy_providers
检查 TCP 代理端口Get-NetTCPConnection -LocalPort 7890 -State Listenlsof -nP -iTCP:7890 -sTCP:LISTENss -lntp | grep ':7890'
发起实际请求curl.exe -x http://127.0.0.1:7890 -I https://example.comcurl -x http://127.0.0.1:7890 -I https://example.comcurl -x http://127.0.0.1:7890 -I https://example.com

如果图形客户端中的 mixed-port 不是 7890,必须把表格中的 7890 替换为设置页、当前配置或 API 返回的实际端口;不能默认认为 Mihomo Party 一定使用 7890。合格标准是:端口处于监听状态、Provider 缓存文件非空、curl 收到 HTTP 响应,并且 Mihomo 日志能看到相应请求或节点活动。

如果端口没有输出,可能是内核没有启动、端口配置不同或被其他程序占用;如果端口在监听但 curl 报 Connection refused,核对代理协议、监听地址和实际端口。Linux 查看 systemd 日志通常需要 sudo;Windows 查看用户目录一般不需要管理员权限。

撤销时先停止客户端或服务,恢复 config.yaml 备份,删除本次生成的 Provider 缓存目录,再重新启动。不要连续导入相同订阅,以免多个 Profile 同时存在,造成排查混乱。

导入失败、节点为空和 YAML 报错排查

  • 401 Unauthorized:订阅服务拒绝认证。检查令牌是否完整、是否过期,以及复制的是否为订阅地址而不是登录页地址。
  • 403 Forbidden:请求被拒绝。先查看响应内容是否为 HTML、登录页或权限提示;如果不是配置内容,不能直接导入。
  • 404 Not Found:路径错误或资源不存在。重新复制完整地址,不要只修改 URL 的某一段。
  • timeout 或 context deadline exceeded:下载阶段超时。区分订阅地址访问失败和节点连接失败,先检查订阅域名解析、当前网络和客户端日志。
  • yaml: unmarshal errors:通常与缩进、Tab、冒号后的空格、引号未闭合或特殊字符有关。恢复备份后用两格空格重新整理。
  • mapping values are not allowed here:常见于某一行缩进层级错误或值中包含未处理的冒号。逐行检查报错附近,不要把 YAML 压成单行。
  • address already in use 或 bind: Only one usage of each socket address:端口已被其他程序占用。先用三平台端口命令找到监听进程,再停止冲突程序或修改 mixed-port。
  • Profile 已添加但节点为空:先检查远程响应是否为 HTML、登录页、单节点 URI 或不兼容格式,再确认 Provider 缓存是否生成,以及代理组是否使用了正确的 Provider 名称。

如果远程 Profile 更新后本地手工修改消失,通常是因为远程文件被重新下载覆盖。更稳妥的维护方式是:把远程地址放进 Provider,把本地代理组、规则或其他修改放在独立基础配置中。当前客户端是否支持更复杂的覆写功能,需以实际版本和官方资料为准。

常见问题

Mihomo 导入订阅后为什么没有自动开始代理?

导入通常只完成地址保存或配置下载,不等于 Profile 已激活,也不等于系统代理或 TUN 已开启。请先激活新 Profile,再进入代理组选择节点,最后检查实际端口和 curl 请求。

Mihomo Party 和原生 config.yaml 应该选哪个?

有图形界面、希望少改 YAML 时,使用远程 Profile 更直接;自己运行 Mihomo 服务、需要脚本化或精细控制时,使用 config.yaml 的 proxy-providers。两种方式都要区分更新、重载、切换和选节点。

proxy-providers 添加成功,为什么代理组里没有节点?

检查代理组是否通过 <code>use</code> 引用了 Provider 名称,并确认名称大小写和拼写完全一致;同时检查远程响应、缓存文件和是否设置了过窄的 <code>filter</code> 或 <code>exclude-filter</code>。

完整 YAML 订阅应该放在哪里?

如果远程内容本身是完整 Mihomo YAML,可以下载后备份旧文件,再保存为实际工作目录中的 <code>config.yaml</code>,最后重启或重载内核。如果它只是节点集合,则更适合放进 <code>proxy-providers</code>。不要只根据文件名判断格式。

Windows 上如何判断 Mihomo Party 的代理端口?

不要直接假设端口是 7890。先在当前配置或客户端设置页查看 <code>mixed-port</code>,再执行 <code>Get-NetTCPConnection -LocalPort 实际端口 -State Listen</code>,最后用 <code>curl.exe -x http://127.0.0.1:实际端口 -I https://example.com/</code> 验证。

更新订阅后手工配置被覆盖怎么办?

不要长期直接修改远程 Profile 文件。把远程地址作为 Provider,将本地规则、代理组或覆写内容放入独立基础配置,并在每次修改前备份。具体覆写能力以当前客户端和内核文档为准。

相关阅读

参考资料

  1. proxy-providers configuration - mihomo docs
  2. Proxy Groups configuration - mihomo docs
  3. APIs - mihomo docs
  4. 创建运行服务 - mihomo docs
  5. mihomo-party-org/clash-party
  6. Releases · mihomo-party-org/clash-party