环境配置差异可视化器

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

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

头部示例:

  • === 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。

示例结果

1 个示例

对比 dev、staging 和 prod 的功能开关

高亮仅出现在单一环境中的 key,并在发布前找出发生漂移的配置值。

Configuration diff report
查看输入参数
{ "configBundle": "=== dev (yaml) ===\nFEATURE_X: true\nAPI_URL: https://dev.example.com\n\n=== prod (env) ===\nFEATURE_X=false\nAPI_URL=https://api.example.com", "maskSecrets": true, "showTree": true }

关键信息

分类
开发与 Web
输入类型
textarea, checkbox
输出类型
html
样本覆盖
4
支持 API
Yes

概览

环境配置差异可视化器是一款专为开发者和运维人员设计的跨环境配置对比工具。它支持解析 JSON、YAML、TOML 和 ENV 格式,能够一键比对开发、测试和生产环境中的配置差异。通过直观的 HTML 报告,工具会自动高亮配置漂移、缺失的键值,并提供清理建议,同时支持敏感信息打码和树状视图展示,帮助团队安全、高效地排查环境配置问题。

适用场景

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

工作原理

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

使用场景

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

用户案例

1. 对比多环境功能开关与 API 地址

后端开发者
背景原因
项目即将上线,开发环境使用 YAML 配置,而生产环境使用 ENV 环境变量。需要确认新加的功能开关是否已在生产环境正确配置。
解决问题
手动比对不同格式的配置文件容易遗漏,且难以快速发现值不一致的项。
如何使用
将开发和生产配置粘贴到“配置集合”中,分别加上 === dev (yaml) === 和 === prod (env) === 头部,并开启“显示树视图”。
示例配置
=== dev (yaml) ===
FEATURE_X: true
API_URL: https://dev.example.com

=== prod (env) ===
FEATURE_X=false
API_URL=https://api.example.com
效果
生成 HTML 报告,清晰展示 FEATURE_X 和 API_URL 在两个环境中的值差异,确认生产环境开关已正确关闭。

2. 排查数据库连接配置漂移

运维工程师
背景原因
测试环境(Staging)运行正常,但预发环境(Pre-prod)频繁出现数据库连接超时。两者均使用 JSON 格式的配置。
解决问题
需要快速找出两个环境中嵌套的数据库配置项(如连接池大小、超时时间)有何不同。
如何使用
输入两段 JSON 配置,使用 === staging (json) === 和 === preprod (json) === 分隔,勾选“隐藏敏感值”以保护密码。
示例配置
=== staging (json) ===
{"db":{"host":"10.0.0.1","port":3306,"pool":10,"password":"test1234"}}

=== preprod (json) ===
{"db":{"host":"10.0.0.2","port":3306,"pool":5,"password":"prod5678"}}
效果
报告将嵌套 JSON 展平为 db.pool 等路径,高亮显示预发环境的连接池大小(5)与测试环境(10)不一致,同时密码字段被安全打码。

用 Samples 测试

json, yaml, barcode

相关专题

常见问题

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

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

如何分隔不同环境的配置?

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

敏感信息(如密码、密钥)会泄露吗?

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

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

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

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

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

API 文档

请求端点

POST /zh/api/tools/environment-config-diff-visualizer

请求参数

参数名 类型 必填 描述
configBundle textarea -
maskSecrets checkbox -
ignoreCase checkbox -
showTree checkbox -

响应格式

{
  "result": "
Processed HTML content
", "error": "Error message (optional)", "message": "Notification message (optional)", "metadata": { "key": "value" } }
HTML: HTML

AI MCP 文档

将此工具添加到您的 MCP 服务器配置中:

{
  "mcpServers": {
    "elysiatools-environment-config-diff-visualizer": {
      "name": "environment-config-diff-visualizer",
      "description": "对 JSON、YAML、TOML 与 ENV 配置进行跨环境对比,高亮漂移项、缺失项,并给出清洗建议。",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=environment-config-diff-visualizer",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

你可以串联多个工具,比如:`https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`,最多20个。

如果遇见问题,请联系我们:[email protected]