sing-box JSON Schema 怎么用?1.14.0-beta.2 配置校验与补全指南

sing-box 1.14.0-beta.2 新增 JSON Schema:了解在线与本地 Schema 的选择、编辑器补全、配置校验、构建标签差异及升级前核验步骤。

sing-box 于 2026 年 7 月 25 日发布 1.14.0-beta.2,核心变化是为配置文件提供 JSON Schema。使用兼容编辑器的用户现在可以在保存或启动服务前获得字段补全与结构校验;经常手写、合并或维护多份 JSON 配置的人受益最直接。官方发布说明还确认,macOS、Android、Windows 与 Linux 图形客户端的 JSON 编辑体验也已改善。需要注意:1.14.0-beta.2 仍标记为预发布版,不应仅为获得编辑器补全而直接替换稳定生产环境。

合理做法是先在配置副本中试用:普通配置可把顶层 $schema 指向官方 Schema;使用裁剪功能、特定构建标签或自编译二进制时,则优先用当前程序生成本地 Schema。官方文档明确说明,$schema 只供兼容编辑器识别,不会改变 sing-box 的运行行为。它能提前暴露不少拼写、类型与嵌套错误,但不能证明节点可用、DNS 路径正确或分流结果符合预期。

这次更新的关键点

  • 适用版本从 sing-box 1.14.0 开始;本次功能随 1.14.0-beta.2 发布。
  • 官方 Schema 采用 JSON Schema Draft 2020-12,兼容编辑器可据此补全和校验。
  • 顶层 $schema 可引用官方在线文件,也可引用本地生成的文件。
  • sing-box schema 生成的内容会反映当前二进制实际包含的功能,更适合特殊构建。
  • Schema 是编辑期辅助,不替代运行时检查、日志、DNS 验证和路由验证。

以上版本与功能范围来自 SagerNet 的 1.14.0-beta.2 官方发布页;具体字段和命令来自 sing-box JSON Schema 官方文档

JSON Schema 解决什么问题

一份 sing-box 配置可能同时包含入站、出站、DNS、路由规则与规则集。人工编辑时,常见错误包括字段名拼错、布尔值写成字符串、数组与对象层级放错,以及把某版本不存在的选项复制进来。JSON 语法解析器只能发现缺逗号、括号不配对等语法问题;Schema 还能描述允许出现的字段、值类型和结构,因此能把部分问题提前到编辑阶段。

这并不等于“配置一定能正常联网”。例如,Schema 无法替你确认远端地址是否可达、证书条件是否满足、规则优先级是否符合业务需求。遇到匹配结果异常,仍需结合域名、IP、GeoIP 与规则优先级排查方法逐层验证;涉及 DNS 分流时,还要区分语法正确与解析路径正确,可参考远程 DNS、DoH 与 Fake DNS 的选择说明

在线 Schema 与本地 Schema 怎么选

标准官方构建:先用在线地址

官方文档给出的最小写法是在配置根对象加入下面一项。它可以与现有的 logdnsinboundsoutbounds 等顶层字段并列:

{
  "$schema": "https://sing-box.sagernet.org/schema.json"
}

这种方式无需额外维护 Schema 文件,适合跟随官方文档、使用常规官方构建并且编辑器能访问该 HTTPS 地址的场景。编辑器是否自动下载和启用 Schema,取决于编辑器本身及其 JSON 支持;官方并未承诺所有编辑器行为一致。

特殊构建或离线环境:生成本地文件

官方文档提供了与当前安装二进制匹配的生成命令:

sing-box schema -o schema.json

随后在配置中使用相对路径:

{
  "$schema": "./schema.json"
}

不指定输出参数时,命令会把 Schema 写到标准输出。官方特别说明,生成结果会反映当前构建包含的功能,因此自编译、使用特定 build tags、需要离线编辑或希望把校验输入固定在项目中的维护者,应优先采用本地方案。相对路径能否正确解析仍由编辑器和工作区位置决定,移动配置文件后应重新核对。

从旧配置迁移的安全步骤

  1. 确认版本。 先记录当前 sing-box 版本与安装来源。1.14.0-beta.2 是预发布版;稳定环境没有必要只为 Schema 仓促升级。
  2. 保留可回滚副本。 复制正在使用的配置,并记录服务管理器或图形客户端实际加载的文件位置,避免校验了错误的副本。
  3. 选择 Schema。 标准构建可引用官方在线地址;特殊构建或离线工作流生成本地文件。
  4. 逐项处理诊断。 先处理未知字段和类型错误,再检查弃用提示。不要看到红线就盲目删除字段,因为也可能是 Schema 与二进制版本不一致。
  5. 执行运行时核验。 按所用版本已有的配置检查或启动流程验证,并查看日志。Schema 校验通过后,仍要测试 DNS、目标连通性与关键分流。
  6. 分阶段切换。 先在非关键设备或维护窗口验证,再替换生产配置;发现行为变化时恢复旧二进制与旧配置的配对。

如果你已阅读本站的 sing-box 1.14.0-beta.1 规则集与 DNS 升级核验指南,应把两次变化分开看:beta.1 涉及规则集匹配语义与 DNS 规则能力,beta.2 的公开重点则是配置编辑与校验体验。Schema 可以提示配置结构,却不会判断 beta.1 的语义变化是否符合你的预期。

如何判断校验结果是否可信

先核对三个版本点:运行中的二进制版本、生成 Schema 的二进制版本、配置目标版本。三者不一致时,诊断可能出现假阳性或漏报。编辑器缓存在线 Schema 也可能让结果滞后;若官方文档与本地提示冲突,可重新加载工作区,或直接由目标二进制生成本地 Schema 再比较。

其次,把“结构有效”和“运行有效”分成两道门。第一道门处理 JSON 语法、字段和类型;第二道门检查程序能否加载、网络端点能否连接、DNS 返回是否合理、流量是否命中预期规则。对客户端与协议概念还不熟悉时,可先阅读Clash 与 V2Ray 使用指南,避免把内核配置能力与订阅内容、图形界面功能混为一谈。

验证清单

  • 当前二进制确为 1.14.0 系列,并记录是否为 beta.2。
  • $schema 位于 JSON 根对象,且没有破坏原有逗号与括号。
  • 在线 URL 可由编辑器访问,或本地相对路径能从配置位置解析。
  • 特殊构建使用当前目标二进制生成 Schema,而非随意复制他人的文件。
  • 编辑器提示处理完后,再走原有运行时配置检查与日志核验。
  • 实际验证 DNS、关键域名、直连与代理规则,不把“零提示”当作联网成功。
  • 预发布版测试保留旧版本、旧配置和明确回滚方法。

常见问题

加入 $schema 会改变 sing-box 的连接或路由吗?

不会。官方文档明确写明该字段不影响 sing-box 运行时行为,它的用途是让兼容编辑器定位 Schema。连接或路由变化应从版本、配置其他字段、规则与网络条件中排查。

必须升级到 beta.2 才能使用官方在线 Schema 吗?

官方把该能力标注为“自 sing-box 1.14.0 起”。beta.2 是首次正式发布说明该功能的预发布版本。较旧二进制的配置结构可能与当前 Schema 不一致,因此不应把新 Schema 的校验结果直接当成旧版本兼容性证明。

在线 Schema 和 sing-box schema 命令哪个更准确?

对常规官方构建,在线文件更方便;对带特定构建标签或裁剪功能的二进制,官方说明命令生成的 Schema 会反映当前构建所含功能,因此本地生成通常更贴合目标程序。这里的“更准确”只指结构描述,不代表网络行为已经验证。

编辑器没有出现自动补全怎么办?

先确认编辑器支持 JSON Schema Draft 2020-12、配置文件被识别为 JSON、Schema 地址或相对路径可访问,然后重新加载文件或工作区。具体启用方式属于编辑器差异,sing-box 官方页面没有对每款编辑器给出统一保证。

Schema 校验通过后还要检查什么?

仍需确认程序实际加载了这份配置,并检查启动日志、DNS 解析、目标连通性和规则命中结果。Schema 不能检测远端服务状态、凭据有效性、证书条件或你的业务分流意图。

官方来源与核验入口

关于作者

下一步怎么用?

需要节点、客户端或稳定 VPN 方案,可以直接从下面入口继续。

查看免费节点 下载客户端 VPN 试用优惠 检测泄露
周边教程实用教程技术教程推荐

GeoRank Pilot 是什么?Shopify 与 WordPress SEO/GEO 自动化完整指南

2026-7-24 20:02:31

Shadowrocket 常见问题实用教程技术研究

Shadowrocket for Android 是什么?命名、官网和下载安全说明

2026-6-7 16:16:10

搜索