一句话结论
订阅转换先确认目标格式,插件维修先备份再查日志;不要把完整订阅链接、UUID、密码和 Token 交给 Agent。
适用场景
- OpenClash 导入订阅后节点为空,或者提示 YAML 解析失败
- PassWall / PassWall2 更新订阅成功但没有节点,或者透明代理没有效果
- ShadowsocksR Plus+ 订阅导入后不生效,国外网站打不开
- 转换服务输出格式不对,不知道该选 Clash、V2Ray、SSR 还是 sing-box
- OpenCode 想帮忙查路由器,但不能输入 SSH 密码,需要固定工具动作
- 插件升级后服务启动失败、端口没监听、DNS 慢或分流异常
常见现象
- 订阅更新成功但节点列表为空
- OpenClash 日志里出现 yaml、provider、download、parse、rule provider 相关错误
- PassWall 显示运行中,但 `proxy` 检查看不到相关进程或端口
- SSR Plus 有节点但无法连接,或者只有国内网站能打开
- 同一台路由器同时打开多个透明代理插件,开关互相抢流量
- OpenCode 只能停在 SSH 密码输入,不知道下一步怎么做
原因解释
- 订阅源和目标插件需要的格式不一致,例如把 V2RayN 订阅直接导入 OpenClash
- 订阅过期、被限流、需要 UA 或网络环境才能访问,插件下载到的是错误页
- 转换模板缺少规则、代理组或 provider 字段,OpenClash 能下载但不能解析
- PassWall、OpenClash、SSR Plus 同时接管 DNS / TProxy / 透明代理,导致流量走向混乱
- 插件进程卡住、配置文件损坏或升级后依赖缺失,需要先备份再软重启
- Agent 没有安全边界,直接拿完整订阅 URL 和路由器密码执行命令,风险太高
解决步骤
- 先确认你用的是哪个插件:OpenClash、PassWall、PassWall2 还是 ShadowsocksR Plus+。
- 再确认订阅转换目标格式:OpenClash 优先 Clash YAML;PassWall 看它支持的节点/订阅类型;SSR Plus 看 SSR / SS / V2Ray 兼容性。
- 在浏览器里打开订阅源,确认不是过期、403、404、空内容或登录页。
- 转换后先检查内容结构,再导入插件;不要一次同时改 DNS、TUN、规则模式和节点。
- 让 OpenCode 只调用 `openwrt-ssh subscriptions`、`plugin-status`、`plugin-config`、`plugin-logs` 这类固定动作来读状态。
- 维修前运行 `openwrt-ssh backup all`,把 network、dhcp、firewall、openclash、passwall、passwall2、shadowsocksr 全部备份。
- 如果只是插件卡住,才一次只运行一个 `openwrt-ssh plugin-repair openclash`、`passwall` 或 `ssr`。
- 维修后验证 DNS、代理进程、插件日志和客户端访问,确认问题是否真的解决。
可复制命令
# 先读状态,不改配置
openwrt-ssh ping
openwrt-ssh status
openwrt-ssh plugin-status
openwrt-ssh subscriptions
openwrt-ssh plugin-config openclash
openwrt-ssh plugin-logs openclash
# PassWall / ShadowsocksR Plus+ 也按同样方式查
openwrt-ssh plugin-config passwall
openwrt-ssh plugin-logs passwall
openwrt-ssh plugin-config ssr
openwrt-ssh plugin-logs ssr
openwrt-ssh dns
openwrt-ssh proxy
# 软维修:先备份,再一次只修一个插件
openwrt-ssh backup all
openwrt-ssh plugin-repair openclash
# 如果修 PassWall 或 SSR Plus,换成下面两条之一,不要连续乱跑
openwrt-ssh plugin-repair passwall
openwrt-ssh plugin-repair ssr
给 OpenCode 的任务模板:
不要直接 ssh,不要要求我输入路由器密码,不要保存完整订阅 URL。请先调用 openwrt-ssh ping、status、plugin-status、subscriptions。然后根据日志判断是订阅格式、转换服务、插件配置还是 DNS / 透明代理问题。如果需要维修插件,必须先 backup all,并且一次只运行一个 plugin-repair。输出时把 URL、UUID、Token、密码全部打码。
仍然不行怎么办
- 如果 OpenClash 报 YAML 错误,优先换成 Clash YAML 目标格式,别先改 DNS。
- 如果 PassWall 没效果,先确认是否和 OpenClash 同时接管透明代理,排错时只保留一个主插件。
- 如果 SSR Plus 节点为空,先确认订阅源是否含 SSR / SS / V2Ray 兼容节点。
- 如果订阅转换服务不稳定,换可信转换服务或本地转换工具,不要把完整订阅贴到公开网页。
- 如果 plugin-repair 后仍失败,不要继续重启十几次,转为检查 opkg 依赖、插件版本、固件版本和剩余空间。
- 如果路由器是门店或公司网络,先约维护窗口,避免营业时间重启导致业务中断。
交给 Agent 前先打码
订阅 URL 经常自带私有 token,节点里可能包含 UUID、密码和服务器地址。Agent 可以帮你读日志、看格式、判断原因,但不应该保存这些敏感内容。
- 可以给 Agent:插件名称、目标格式、打码后的错误日志、节点数量是否为空、是否能下载。
- 不要给 Agent:完整订阅链接、后台密码、SSH 私钥、节点完整 URI、未打码 UUID 和 Token。
- 工具输出会自动把常见 URL、UUID、Token、密码、Key 字段打码,但你截图前仍要人工扫一眼。
OpenClash 维修重点
- 先看订阅是否能下载:`openwrt-ssh subscriptions`。
- 再看 YAML 解析是否失败:`openwrt-ssh plugin-logs openclash`。
- 再看服务和端口:`openwrt-ssh plugin-status`。
- 如果日志显示配置下载成功但启动失败,再考虑软重启:`openwrt-ssh plugin-repair openclash`。
- 如果反复失败,检查内核、TUN、DNS 模式、配置文件大小和可用空间。
PassWall / SSR Plus 维修重点
- 确认主节点不是空的,节点协议是插件支持的。
- 确认没有同时让 OpenClash 和 PassWall 接管透明代理。
- 看 DNS 转发和分流规则是否把请求送到了正确插件。
- 运行 `openwrt-ssh plugin-logs passwall` 或 `openwrt-ssh plugin-logs ssr` 看依赖、端口、节点连接报错。
- 只在备份后做一次单插件软维修,不要同时重启多个插件。
让 Agent 输出什么才算合格
- 一句话判断:是订阅格式、订阅源访问、转换服务、插件进程、DNS 还是透明代理问题。
- 证据:引用哪条日志或哪个状态字段,不要凭感觉。
- 最小操作:只改一个变量,或者只重启一个插件。
- 回滚方式:告诉小白备份在哪、失败后恢复哪一份。
- 下一步:如果仍失败,收集哪些打码材料继续排查。
还卡着?
可以把截图、日志、需求单或当前页面链接发到 zhemuy@gmail.com。