mcpField
C
Compare Html

Compare Html

本地服务
github.com/unitstack开发工具014 周前更新

关于 Compare Html

Compare Html 是面向开发者和编码 Agent 的结构化 HTML 比较工具包。它按路径和变更类型报告差异,并提供库、命令行工具、MCP 服务和 Agent Skill。

主要功能

  1. 01深度比较元素、属性和文本
  2. 02提供三种子节点匹配策略
  3. 03支持不区分大小写的匹配
  4. 04为每项差异记录路径
  5. 05命令行支持表格和 JSON 输出
  6. 06提供 TypeScript 库和 Agent Skill

适用场景

  1. 01检查两个 HTML 文档之间的变更
  2. 02按路径筛选或处理 HTML 差异
  3. 03在支持 MCP 的助手中使用 HTML 比较

MCP 相关

命令行工具可作为 MCP 服务启动,为支持 MCP 的 AI 助手提供 HTML 比较功能。使用 `--mcp` 标志运行即可。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"compare-html": {
"command": "npx",
"args": [
"-y",
"@compare-html/cli"
]
}
}
}
启动命令npx -y @compare-html/cli

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@compare-html/cli

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

compare-html

一个用于结构化 HTML 比较的工具包,可查找两个 HTML 文档之间的变化,并可控制元素、属性和子节点的匹配方式。

为什么选择它

大多数 HTML 差异工具要么输出非结构化文本,要么隐藏重要信息(例如元素在哪里被添加、数组差异在于顺序还是内容)。compare-html 会将 HTML 解析为结构化表示,并返回差异列表——每个条目都包含路径、所属方(base / contrast / both)和变化类型(added、deleted、valueChanged)——因此你可以据此进行渲染、筛选或编程处理。

功能

  • 对 HTML 元素、属性、数组和文本值进行深度比较。
  • 三种子节点比较策略:byIndex(默认)、lcs(通过最长公共子序列实现最小差异)和 unordered(多重集匹配)。
  • 对标签/属性名称和/或文本/属性值进行不区分大小写的匹配。
  • 路径跟踪,同时支持片段数组和点号表示形式。
  • CLI 支持表格或 JSON 输出,可读取内联字符串或文件。
  • 内置 MCP 服务——可将 CLI 接入任何支持 MCP 的 AI 助手。
  • Agent Skill——一个技能即可用于 Claude Code、OpenAI Codex CLI 和 OpenCode。
  • 完整的 TypeScript 类型。

软件包

这是一个 pnpm 工作区:

软件包描述
@compare-html/core核心比较库(编程 API)。
@compare-html/cli命令行工具和 MCP 服务,基于 core 构建。

快速入门

库
npm install @compare-html/core
import { compareHTML } from '@compare-html/core';

const differences = compareHTML({
  baseHTML: '<user><name>Alice</name><age>30</age></user>',
  contrastHTML: '<user><name>Bob</name><age>30</age><email>[email protected]</email></user>',
});

// [
//   { pathString: 'user.name',  pathBelongsTo: 'both',     diffType: 'valueChanged', ... },
//   { pathString: 'user.email', pathBelongsTo: 'contrast', diffType: 'added',        ... },
// ]

完整 API 请参阅 core README。

CLI
npm install -g @compare-html/cli

compare-html base.html contrast.html
┌──────────────┬──────────────┐
│ Key          │ Change Type  │
├──────────────┼──────────────┤
│ (Base) a     │ valueChanged │
│ (Base) b     │ deleted      │
│ (Contrast) c │ added        │
└──────────────┴──────────────┘

使用 --json-export 输出机器可读的结果,或使用 --mcp 启动 MCP 服务。所有标志和 MCP 工具架构请参阅 CLI README。

MCP
{
  "mcpServers": {
    "compare-html": {
      "command": "npx",
      "args": ["@compare-html/cli@latest", "--mcp"]
    }
  }
}
技能

单个 SKILL.md 文件即可教会 AI 编码助手如何按需调用 CLI。该文件遵循开放的 Agent Skills 格式,可用于 Claude Code、OpenAI Codex CLI、OpenCode、Cursor 及其他 50 多种工具。

最快的安装方式是使用 npx skills——它会自动检测你安装的所有 Agent,并将技能安装到每个 Agent 中:

npx skills add unitstack/compare-html

开发

需要 Node.js ≥ 20 和 pnpm。

# install dependencies
pnpm install

# build all packages
pnpm -r build

# run tests across the workspace
pnpm -r test

# lint
pnpm -r lint

仓库结构:

packages/
├── compare-html-core/     # @compare-html/core — library
├── compare-html-cli/      # @compare-html/cli  — CLI + MCP server
└── internal/             # shared eslint/tsconfig (not published)
skills/
└── compare-html/          # SKILL.md for Claude Code / Codex CLI / OpenCode

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。