ShuttleLab

服务介绍

YAML Shuttle 是一款在浏览器本地运行的 YAML 工具,提供校验、格式化、转义与 YAML/JSON 互转功能。无需上传数据到服务器,所有处理均在您的设备上完成,兼顾效率与隐私。

安全特性

本地处理

所有 YAML 均在浏览器内处理,数据不离开您的设备。

无数据上传

不向任何服务器发送您的内容,无日志、无追踪。

开源透明

代码可审计,构建与部署流程透明,可自托管使用。

隐私保护

不收集个人数据,不设账号体系,用完即走。

使用场景

开发调试、接口联调、配置校验、YAML/JSON 格式互转、日志格式化、教学演示、快速修正 YAML 语法错误。

与君初相识,犹如故人归

YAML Shuttle 免费使用,由个人维护。若对您有帮助,欢迎分享给朋友。

联系方式

YAML Shuttle 适合谁?

  • 编写 Kubernetes / Helm / GitHub Actions 配置的 DevOps 工程师
  • 校验 docker-compose.yml 或 CI 文件的后端开发者
  • 在 YAML 与 JSON 之间转换配置的数据工程师
  • 学习 YAML 语法的初学者

什么时候用 YAML Shuttle?

  • Kubernetes 部署失败但 kubectl 没说具体哪里 YAML 错了
  • GitHub Actions workflow 不触发,怀疑 YAML 缩进有问题
  • 拿到一份 JSON 配置,需要转成 YAML 提交给 K8s 或 Helm
  • docker-compose.yml 报 'invalid type' 但看不出哪里错
  • 给同事演示 YAML 语法,需要一个直观的格式化工具

如何校验 YAML

  1. 把 YAML 粘贴到校验框
  2. 点击「校验」
  3. 错误会显示行号、列号和错误信息
  4. 错误行会在左侧行号中标红

如何将 YAML 转换为 JSON

  1. 粘贴 YAML 文本到转换区
  2. 点击「YAML → JSON」
  3. 复制转换后的 JSON 结果

如何格式化 YAML

  1. 粘贴 YAML 到校验框
  2. 点击「美化」获得标准格式,或「压缩」获得流式格式
  3. 复制格式化后的结果

YAML Shuttle 与同类工具对比

工具校验格式化YAML↔JSON本地处理免费
YAML Shuttle
yamllint命令行
yq命令行
Online YAML Parser混合含广告

常见问题

YAML Shuttle 免费吗?
完全免费。无需注册账号,无广告,不追踪数据。所有功能均可直接使用。
我的 YAML 数据会上传到服务器吗?
不会。所有校验、格式化、转义和转换逻辑均在浏览器本地运行,使用 `yaml` 库([eemeli/yaml](https://eemeli.org/yaml/) v2,npm 包名 `yaml`)解析。我们的服务器不会接收你的数据,也不做行为分析。
支持 YAML 哪个版本?
YAML Shuttle 使用 `yaml` 库([eemeli/yaml](https://eemeli.org/yaml/) v2,npm 包名 `yaml`),支持 YAML 1.2 核心特性,包括映射、序列、标量、锚点与别名(& 和 *)、多文档(---分隔)、流式风格等。
能处理多大的 YAML 文件?
建议在 5 MB 以内以获得最佳性能。浏览器引擎能处理更大文件,但 UI 响应会变慢。对于超大文件,考虑使用命令行工具如 yq。
能保留 YAML 注释吗?
不能。当前实现会先把 YAML 解析为 JS 对象、再重新输出,过程中注释会被丢弃——校验、美化、压缩、YAML → JSON 转换均如此。如果你需要保留注释的工作流,建议在浏览器外用支持文档级 AST 的工具处理。
缩进用 tab 还是空格?
YAML 规范(YAML 1.2)明确禁止使用 tab 缩进。YAML Shuttle 默认使用 2 个空格缩进,符合 Kubernetes 和 Helm 社区惯例。
支持锚点和别名吗?
支持。YAML 的锚点(&)和别名(*)语法完全兼容,可以在校验、美化和转换中正确处理。
YAML Shuttle 和 yamllint 有什么不同?
yamllint 是 Python 命令行工具,需要安装,侧重规则校验。YAML Shuttle 是浏览器端工具,无需安装,额外提供格式化、YAML/JSON 互转和转义功能。
可以离线使用吗?
可以。首次加载后整个应用可离线运行。把页面加书签即可在无网络环境下工作。