# 环境配置差异可视化器

对 JSON、YAML、TOML 与 ENV 配置进行跨环境对比，高亮漂移项、缺失项，并给出清洗建议。

> 标准页面: https://elysiatools.com/zh/tools/environment-config-diff-visualizer

- **分类:** Development

- **关键词:** 配置, 环境, diff, env, yaml

## 概述

把多份配置粘贴到“配置集合”中，并用 === 环境名 (格式) === 这样的头部分隔。

头部示例：
- === dev (json) ===
- === staging (yaml) ===
- === prod (toml) ===
- === worker (env) ===

支持的格式：
- JSON：填写标准 JSON 对象，例如 {"PORT":3000,"feature":{"beta":true}}
- YAML：使用缩进键值对，例如 PORT: 3000 和 feature:
  beta: true
- TOML：使用 key = value 语法，并可写 [feature] 这样的表
- ENV：使用 dotenv 风格，例如 PORT=3000 和 API_URL=https://api.example.com

提示：
- 至少提供两段配置，工具才能进行对比。
- 尽量让各环境使用相同的逻辑 key，便于识别漂移。
- 开启“隐藏敏感值”后，像 token、password、secret 这类 key 会默认打码。
- 报告会把嵌套对象和数组展开成点路径，例如 database.host 或 services[0].url。

## 输入项

- **配置集合** (textarea): === dev (yaml) === PORT: 3000 FEATURE_X: true === prod (env) === PORT=8080 FEATURE_X=false
- **隐藏敏感值** (checkbox)
- **忽略大小写** (checkbox)
- **显示树视图** (checkbox)

## 适用场景

- 在应用发布前，需要核对测试环境与生产环境的配置项是否一致，防止漏配或错配。
- 排查因环境配置差异导致的线上 Bug，快速定位发生漂移的变量。
- 重构或迁移项目时，需要整合并清理多个微服务或环境中的冗余配置项。

## 工作原理

- 在文本框中粘贴多份配置，并使用 === 环境名 (格式) === 作为分隔符（支持 json、yaml、toml、env）。
- 勾选需要的对比选项，如隐藏敏感值、忽略大小写或显示树视图。
- 工具会将嵌套对象和数组展平为点路径（如 database.host），并跨环境对齐相同的逻辑键。
- 生成可视化的 HTML 差异报告，直观展示各环境独有的配置、值不一致的漂移项以及清洗建议。

## 使用案例

- DevOps 工程师在 CI/CD 流程中审查多环境配置文件，确保生产环境没有遗漏新增的功能开关（Feature Flags）。
- 后端开发者在排查“本地能跑，线上报错”的问题时，比对本地 .env 与线上环境变量的差异。
- 架构师在梳理遗留系统时，对比多个微服务的 YAML 配置文件，找出不再使用的废弃配置项。

## 常见问题

### 支持对比哪些格式的配置文件？

支持标准 JSON、缩进键值对的 YAML、键值语法的 TOML 以及 dotenv 风格的 ENV 格式。您可以在同一个对比任务中混合使用这些格式。

### 如何分隔不同环境的配置？

请使用 === 环境名 (格式) === 作为头部标签。例如 === dev (yaml) === 和 === prod (env) ===，工具会根据头部自动解析对应内容。

### 敏感信息（如密码、密钥）会泄露吗？

工具默认开启“隐藏敏感值”功能，会自动识别包含 token、password、secret 等关键字的键，并在报告中将其值打码，确保安全。

### 嵌套的 JSON 或 YAML 数据如何对比？

工具会自动将嵌套的对象和数组展开成点路径（例如 services[0].url 或 database.host），以便在不同层级结构的配置间进行精准对比。

### 为什么有些配置项被标记为“漂移”？

当同一个逻辑键在多个环境中都存在，但其对应的值不一致时，工具会将其标记为漂移（Drift），提醒您检查是否符合预期。

## 相关工具

- [配置文件语义 Diff](https://elysiatools.com/zh/tools/config-file-semantic-diff): 比较 JSON、YAML、TOML 和 dotenv 配置，按键路径显示变化并忽略排序与格式噪声。
- [JSONata 查询转换工作室](https://elysiatools.com/zh/tools/jsonata-query-transform-studio): 预览 JSONata 风格查询与转换，支持多数据对比，并导出 JSON、CSV、YAML 或 Markdown。
- [BOM字符移除器](https://elysiatools.com/zh/tools/data-bom-remover): 从文本和文件内容中移除BOM（字节顺序标记）字符。非常适合清理有编码问题的文本文件、修复CSV导入和为处理准备数据。 功能特点： - 检测并移除UTF-8 BOM (EF BB BF) - 检测并移除UTF-16 BOM (FE FF 或 FF FE) - 检测并移除UTF-32 BOM (00 00 FE FF 或 FF FE 00 00) - 支持多种输入格式 - 可视化BOM字符显示 - 详细检测报告 - 支持批量文本处理 常见用途： - 修复CSV文件导入错误 - 清理文本文件编码问题 - 为JSON解析准备数据 - 修复XML解析问题 - 解决API数据编码冲突 - 标准化文本数据格式
- [YAML-JSON转换器](https://elysiatools.com/zh/tools/yaml-json-converter): 在YAML和JSON格式之间转换
- [OpenAPI 转 TypeScript 类型生成器](https://elysiatools.com/zh/tools/openapi-to-typescript-generator): 将 OpenAPI 或 Swagger 的 JSON/YAML 规范转换为 TypeScript 接口类型、请求参数类型和响应类型，并支持输出格式与命名风格配置
- [JSON键提取器](https://elysiatools.com/zh/tools/json-key-extractor): 从JSON对象中提取所有键，支持多种输出格式。非常适合分析JSON结构、生成文档和理解复杂的嵌套对象。
- [ECharts 主题 Token 抽取器](https://elysiatools.com/zh/tools/echarts-theme-token-extractor): 从 ECharts 主题 JSON 抽取设计 token——颜色、数字、字号与字符串——并直接导出到你的设计系统。粘贴一个主题对象（即通过 echarts.init(dom, themeName) 注册的那种），工具遍历每个叶子节点，为每个颜色（可选地将命名色/rgb 规范化为 hex）、间距数字、字号与字符串打标，然后输出干净的 CSS 变量、Tailwind theme.extend 配置、Style Dictionary tokens.json 或 SCSS 变量。在 ECharts 可视化主题与 Figma/CSS/Tailwind 设计 token 之间架桥，无需逐个手抄。
- [图片调色板转设计令牌](https://elysiatools.com/zh/tools/image-to-design-tokens): 从图片中用 k-means 聚类提取主色，导出为 CSS 变量 / SCSS 变量 / Tailwind 配置 / JSON 设计令牌，并自动为每个颜色生成命名色阶

## 示例

- [分布式追踪示例](https://elysiatools.com/zh/samples/distributed-tracing-samples): 使用 Jaeger、OpenTelemetry 和其他现代可观测性工具的综合分布式追踪示例，适用于微服务架构
- [OpenAPI/Swagger 示例](https://elysiatools.com/zh/samples/openapi-swagger): 使用 OpenAPI 3.0 和 Swagger 规范的 RESTful 服务综合 API 文档示例
- [Parcel 打包工具](https://elysiatools.com/zh/samples/parcel): Parcel零配置打包工具示例，包括项目设置、插件和高级配置
- [pnpm 包管理器示例](https://elysiatools.com/zh/samples/pnpm): 快速、节省磁盘空间的包管理器示例，包括monorepo管理、工作区配置和高级工作流

## 相关内容

- [JSON 格式化、对比与规范化工具](https://elysiatools.com/zh/hubs/json-format): 在一个专题中比较 JSON 格式化、差异对比、日志审查、配置比较和数据规范化工具，适合需要让 JSON 更易读、更易审查的流程。
- [配置文件转换与环境差异检查工具](https://elysiatools.com/zh/hubs/config-workflows): 把 .env 解析、YAML/TOML/HCL 转换、配置片段合并和环境差异检查放到一个配置工作流专题里。
- [文件与数据对比 / Diff 工具](https://elysiatools.com/zh/hubs/file-data-diff-comparison-tools): 并排对比两份文件、数据载荷、数据库结构或数据集，高亮其中的变化——覆盖文本、JSON、CSV/Excel、PDF、图片、音频、数据库、API 与配置文件。
- [JSON 交换与格式翻译工具](https://elysiatools.com/zh/hubs/json-convert): 在一个专题里比较 JSON 与 CSV、YAML、TOML、GraphQL、XML、Markdown、Excel、BSON、EDN 等结构化格式之间的转换工具。
