Token导航 LogoToken导航

MCP Server · 开发工具

difflens (Byzkhan)

DiffLens是一款为AI编程代理提供视觉差异检测的MCP服务器,通过比较UI更改前后的截图生成结构化差异报告。

未说明官方级别未说明来源级核验工具 6
开发工具TypeScriptClaude

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
byzkhan
提供方
byzkhan

工具数量

6

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1

仓库热度

收录来源

1 个

MCP World

选型结论

difflens (Byzkhan) 属于开发工具类 MCP Server,公开资料标注 6 个工具,通过传输方式未标注接入,适配 Claude,没有现成的安装命令;接入前要先准备 会话凭据。

分类

开发工具

传输方式

未说明

认证方式

会话凭据

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 6 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

DiffLens

MCP服务器,为AI编码代理提供UI工作的“眼睛”。它在代码更改前后对本地主机页面进行截图,直观地进行比较,并返回带有叠加图像的结构化差异报告。

快速开始

npm install -g difflens-cli
cd your-project
difflens setup
# Restart Claude Code — DiffLens is now active

DiffLens自动工作——只需正常发出UI请求。Claude将在更改前进行快照,并在更改后进行验证,无需您询问。

无需安装即可使用

添加到您的项目 .mcp.json:

{
  "mcpServers": {
    "difflens": {
      "command": "npx",
      "args": ["-y", "difflens-cli"]
    }
  }
}

运作原理

  1. 快照 保存基线屏幕截图的页面
  2. 对代码进行更改
  3. 检查 该页面--DiffLens获取一个新的屏幕截图,根据基线运行像素级差异,对更改的区域进行聚类,并返回一个带有注释的覆盖图像的报告

覆盖会使未更改的区域变暗,用红色突出显示更改的像素,在检测到的区域周围绘制边框,并包含一个带有更改百分比的图例栏。

从源代码安装

git clone https://github.com/byzkhan/difflens.git
cd difflens
npm install
npm run build

工具

快照

截取屏幕截图并将其保存为基线。

参数类型默认值说明
urlstring必填截图URL
width数字1280视口宽度
height数字720视口高度
fullPagebooleantrue捕获完整的可滚动页面
waitForSelectorstring--捕获前要等待的CSS选择器
waitForTimeoutnumber--额外等待时间(毫秒)

检查

拍摄一张新的屏幕截图,并将其与最新基线(或特定快照)进行比较。返回结构化报告和叠加图像。

参数类型默认值说明
urlstring必填要检查的URL
baselineIdstringlatest要比较的特定快照ID
width数字1280视口宽度
height数字720视口高度
fullPagebooleantrue捕获完整的可滚动页面
waitForSelectorstring--要等待的CSS选择器
waitForTimeoutnumber--额外等待时间(毫秒)

报告包括:

  • 状态: no_changes, minor (\10%)
  • 百分比已更改:精确的像素变化百分比
  • 区域:带有位置描述和像素数的更改区域列表
  • 覆盖图像:带注释的复合显示了更改的内容

检查响应

在多个视口宽度下运行视觉差异,以捕捉响应式设计回归。

参数类型默认值说明
urlstring必填要检查的URL
widthsnumber\[\]\[375、768、1024、1440\]要测试的视口宽度
height数字720视口高度
fullPagebooleantrue捕获完整的可滚动页面
waitForSelectorstring--要等待的CSS选择器
waitForTimeoutnumber--额外等待时间(毫秒)

快照元素

通过CSS选择器对特定DOM元素进行截图。内联返回图像。

参数类型默认值说明
urlstring必填包含元素的URL
selectorstring必需要捕获的CSS选择器
width数字1280视口宽度
height数字720视口高度
waitForSelectorstring--要等待的CSS选择器
waitForTimeoutnumber--额外等待时间(毫秒)

list_snapshots

列出具有可选筛选功能的存储快照。

参数类型默认值说明
urlstring--按URL筛选
limitnumber20最大结果

清理

按年龄或计数删除旧快照。

参数类型默认值说明
maxAgeHoursnumber--删除早于此的快照
maxCountnumber--最多保留这么多(最新的优先)
dryRunbooleanfalse预览而不删除

自动工作流

DiffLens包括 CLAUDE.md 文件和Claude Code挂钩,使视觉验证完全自动化。你不需要提到DiffLens——Claude自己就这么做了:

You:    Move the login button to the right side of the header
Agent:  [calls snapshot on localhost:3000 — saves baseline]
        [edits header CSS]
        [calls check — compares before/after]

        Done. Moved the login button to the right side of the header.
        Visual check confirmed: only the button position changed,
        no unintended layout shifts or regressions.

如果Claude检测到差异中的意外变化,它会自动修复这些变化并重新检查,直到结果干净为止。

引擎盖下的工作原理

  1. CLAUDE.md 指示Claude始终在UI编辑之前进行快照,并在编辑之后进行检查
  2. 克劳德代码挂钩 每次文件编辑时触发——如果文件是UI文件(.html、.css、.jsx、.tsx、.vue、.svelte、.scs),它们会提醒Claude进行快照/检查
  3. Claude阅读差异报告,修复任何回归,只有在验证了视觉输出后才会做出响应

手动使用

您还可以明确地使用DiffLens:

You:    Take a snapshot of http://localhost:3000
Agent:  [calls snapshot] Saved baseline abc123

You:    Check localhost:3000 for visual changes
Agent:  [calls check] 4.2% pixels changed — 2 regions detected
        [shows overlay image]

存储

所有数据都存储在本地 .difflens/:

  • .difflens/snapshots/ --PNG截图+JSON元数据
  • .difflens/diffs/ --差分图像和叠加合成

添加 .difflens/ 到你的 .gitignore.

实现细节

  • 浏览器重用剧作家Chromium推出一次并保持活力。每个屏幕截图都会创建一个独立的 BrowserContext (约200毫秒,而新浏览器约3秒)。
  • 确定性捕捉:在页面JS运行之前注入反动画CSS。动画、过渡和插入符号闪烁被禁用。时区锁定为UTC,区域设置为en-US。
  • 区域聚类:更改的像素被分组到10x10px的网格中,然后在50px的范围内合并附近的单元格。这将原始像素噪声转化为有意义的“标题更改”区域。
  • 原子写入:快照将写入 .tmp 然后重命名文件,防止并发访问造成损坏。
  • stdio安全:所有日志记录都会进入stderr。stdout保留用于MCP协议消息。

技术栈

许可证

麻省理工学院

工具与能力

工具数量

6

资源数量

0

提示词数量

0

能力标签

UI测试TypeScript本地部署视觉回归自动化测试前端开发

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 6 个工具,职责集中,接入后不容易误操作。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 需要自备会话凭据,没有凭据没法直接试。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 暂时拿不到会话凭据的人。
  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
difflens (Byzkhan)

MCP World · 本页

6未说明未标注1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

difflens (Byzkhan) 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

difflens (Byzkhan) 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

difflens (Byzkhan) 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

difflens (Byzkhan) 需要 API Key 吗?

公开资料标注的认证方式是会话凭据,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

difflens (Byzkhan) 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP