news 2026/10/3 7:35:43

从 Figma / 蓝湖稿秒出 “UI 差在哪”:TraceScope 的设计差异分析来了

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从 Figma / 蓝湖稿秒出 “UI 差在哪”:TraceScope 的设计差异分析来了

GitHub:

rebornace/dsh-tracescope

| Gitee 镜像:

RebornAce/dsh-tracescope

| npm:

@rebornace/dsh-tracescope

·

@rebornace/tracescope-core

·

@rebornace/tracescope-mcp

(当前版本

0.2.5

)

上一篇分享了 TraceScope 的第一个主能力 ——功能影响分析(从 Git Diff 算出 “要测哪些”)。这次聊聊新加的第二个主能力:设计差异分析—— 以 Figma / 蓝湖设计稿为真源,对代码实现做静态对账,直接告诉你 “UI 差在哪”。

为什么做这个

“这版 UI 按设计稿做了吗?”—— 问出这句话的瞬间,一场人工找茬就开始了:

  • 打开设计稿,再打开 App,一个页面一个页面肉眼比对

  • 间距差 4px、色值差一点、字号差一号、圆角阴影模糊对不上…… 全凭眼睛和感觉

  • 一套设计稿要横跨 Android /iOS/ 小程序 / Web,同一处还原问题要复述好几遍

  • 比对结果就是几张截图加几行字,不沉淀、不可追溯,开发改完还要再来一轮

更扎心的是还原度问题通常提测后才被发现—— 返工成本最高的时候。

问题本质和 “波及面无法确定” 一样:设计稿是唯一的 “真源”,但 “实现与真源差在哪” 这件事,靠人眼不可靠、不可复用、不可举证。

TraceScope 的解法:把设计稿(Figma / 蓝湖)和代码实现同时解析成结构化的树,做静态对比,输出可定位、可勾选、可提交缺陷的差异清单。

它能干什么

现在插件有两条并列的主能力:

能力输入输出
功能影响分析稳定版 ↔ 待测版(本地 Git 或云效代码接口)直接变更 + 静态波及清单,可标注、截图、导出、提单
设计差异分析Figma / 蓝湖设计稿 + 代码仓页面静态差异清单 + 设计对照图高亮,可 AI 协助写回、导出、提单

两条能力共用侧栏的协作平台配置(云效 / GitHub / GitLab / Webhook),下文重点讲新的设计差异分析。

设计差异分析怎么做

1. 以设计稿为真源,静态对比(不是运行时截图)

关键设计是design-only:解析设计稿的结构树 + 解析代码实现的结构树,两棵DesignDoc直接对比。

  • 不依赖 App / 浏览器运行时截图,不需要启动工程、不需要真机

  • 对比结果可复现,也能在模型对话里跑

  • 主路径 API:POST /tracescope/v1/design-compare

2. 页面发现覆盖

粘贴设计稿链接后,插件扫描代码仓,按平台栈发现页面并尝试匹配:

平台适配器(摘要)
AndroidXML / Compose / View
iOSXib / SwiftUI / UIKit
跨端Flutter、React Native、Harmony ArkUI、uni-app、Taro
WebHTML / React / Vue / Svelte / Angular
小程序WXML / AXML / TTML / Swan 等
其他.NET MAUI XAML

匹配不理想时可以手动指定代码文件,或让 AI 重新推荐。

3. 对比分层 L0 → L3

层级含义
L0设计指纹 ↔ 代码页匹配(可接受推荐,也可指定文件 / AI 重新推荐)
L1属性级静态树对比(DesignDoc↔DesignDoc)
L2启发式:文案 / 控件规模等(无精确几何树时)
L3AI 协助分析:生成源码阅读清单与提示词,结论可写回侧栏

4. 属性级对比能对什么

L1 阶段不只是 “两张图叠一起”,而是把两边属性逐一掰开对:

  • 几何与布局:间距、尺寸、flex / 约束、网格轨道、宽高模式(FIXED / HUG / FILL)、aspect-ratio、自适应换行

  • 视觉:色值(含颜色 token / 主题色改写)、渐变、圆角、描边(含分边描边)、阴影 / 内阴影多叠层、模糊 / 背景模糊、混合模式

  • 文字:字号(含 dp /sp/rpx /cqw等单位换算)、字重、行高、字距、装饰、截断、对齐、首行缩进

  • 状态:可见性、透明度、变换(rotate /scale/skew /translate)、zIndex、mask /clip-path、overflow

  • 资源:@color别名链、styles.xml、AppColors.xxx、R.color.xxx、{StaticResource}、字体 token、颜色 scheme / 主题树

用一句大白话:能写进 CSS / XML / Compose / SwiftUI 的属性,基本都能进对比。

5. 适配器深度增强(enrichment 插件化)

主对比路径对所有栈一视同仁—— 有toDesignDoc就上 L1,否则启发式。个别栈需要超出通用解析的能力时,以enrichment 插件形式挂载,不在主路径里写死分叉:

  • 目前实现:android-xml—— 静态布局引擎(按设计稿视口量测)、依赖闭包指纹、Adapter 绑定动态列表 item 还原、动态区域文案投影

  • 侧栏有「适配器深度增强」开关(默认开启,全局记住);关了则全栈统一走属性级 / 启发式,更快、粒度更一致

这样后续给 Compose /iOS/ Flutter 补布局引擎时,只是新增一个 enrichment 文件,主路径不用动。

6. AI 协助分析(L3)

确定性对比给出基线,AI 负责 “读代码、补推理”:

  • tracescope_start_visual_review创建任务 →tracescope_get_design_snapshot按需拉设计树快照 →tracescope_publish_visual_findings把结论写回侧栏

  • 按当前页面适配器生成源码阅读清单,不误走其它栈的依赖闭包

  • 写回时按设计树补全 / 纠正nodeId,提示词明确禁止臆造 id;静态差异摘要带上真实节点 id

7. 侧栏能力

  • 粘贴设计稿链接 + 凭证(Figma Personal Access Token,蓝湖浏览器 Cookie),常用链接可保存 / 点选 / 删除

  • 扫描后出卡片:界面对比、指定代码文件、AI 协助分析、重新推荐文件

  • 结果板:设计对照图、差异清单多选定位高亮、关联文件列表

  • 复制差异 / 提交缺陷 / 导出报告 —— 协作配置与影响分析共用一套

  • 凭证按代码仓库记忆,切仓库不互相清空;Figma 与蓝湖分键保存

顺带:影响分析加速 + MCP 工具面补齐

这次迭代不只加了新能力:

  • 功能影响分析大幅加速:依赖索引从全量扫描改为路径 / 符号哈希查找,约 2000 个源文件时索引构建从十几秒降到几十毫秒;跳过node_modules/dist/.next/Pods等目录,同一 commit 进程内缓存

  • MCP 与 DSH 工具面完全对齐:执行层抽到@rebornace/dsh-tracescope/agent-api,DSH Host 工具和 MCP 共用同一套实现,任意 MCP 客户端都能独立走完 “分析 → 写回” 流程

MCP 工具一览(共 11 个):

Tool说明
tracescope_open_panel打开本机可视化面板
tracescope_list_commits列出仓库提交 / 引用
tracescope_get_diff分页拉取统一 diff
tracescope_analyze_impact确定性影响面分析
tracescope_create_handtest_job创建手测对话任务并返回提示词
tracescope_publish_handtest写回手测清单
tracescope_start_visual_review创建设计差异分析任务
tracescope_get_design_snapshot按需拉取设计树快照
tracescope_publish_visual_findings写回设计差异结论
tracescope_start_page_rematch创建设计页 ↔ 文件匹配任务
tracescope_publish_page_rematch写回文件匹配推荐

架构设计

@rebornace/tracescope-core ← 确定性分析引擎(影响面 + 设计差异) @rebornace/dsh-tracescope ← DSH 插件:Host API + 右侧栏 UI + agent-api @rebornace/tracescope-mcp ← MCP Server(与 DSH 工具面一致) packages/.../design-enrichment/ ← 栈级深度增强插件(不写死主路径分叉)

设计原则延续上一篇:所有能力都能经 MCP 触达,DSH 插件的独特价值是嵌入式 UI,不是独占业务逻辑。

另外 0.2.5 起插件支持自更新,不依赖社区插件市场:Host 同域接口对照npmmirror → npmjs的latest,安装优先走官方插件管理器,未装市场也功能完整。

安装与使用

环境:Node.js>= 20,推荐官方 DeepSeek Harness 桌面端。

dsh plugin--profiledesktop remove @rebornace/dsh-tracescope dsh plugin--profiledesktopadd@rebornace/dsh-tracescope

安装以 npm latest 为准(社区市场卡片版本可能滞后)。装好后进侧栏 TraceScope,插件详情页有「更新」按钮与更新状态卡,可一键跟进后续版本。

设计走查日常流程

  1. 打开 TraceScope 侧栏,选「设计差异分析」

  2. 粘贴 Figma / 蓝湖设计稿链接,填凭证(Figma Token 或蓝湖 Cookie)

  3. 扫描代码仓页面,自动匹配或「指定代码文件」

  4. 看差异清单,点差异在对照图上高亮定位;可开「AI 协助分析」

  5. 逐条确认,或复制差异 / 提交缺陷 / 导出报告

已知限制

  • 对比是静态的,不替代真机 / 浏览器运行时截图比对(例如动效、真机渲染差异仍需人工)

  • 各栈 L1 属性覆盖面不一致:“能发现页面” 不等于 “与 Android XML 增强同级”

  • 深度增强目前仅 android-xml 有实现;其它栈开关开着也不会凭空多出布局引擎

  • 设计对照图依赖 Figma / 蓝湖出图,链接过期或凭证失效时需重新对比

后续规划

  • 友盟 Adapter、Android USB 录制、浏览器扩展录制(仓库内已有 scaffold,未进 0.2.x 交付)

  • 更多栈的 enrichment(在能力齐平前提下按需扩展,而非主路径特化)

最后

确定性对比保证下限(不会漏),AI 协助提升上限(能读源码补推理),嵌入式 UI 让走查全程在 DSH 内完成,协作平台把差异直接变成缺陷单。如果你在用 DeepSeek Harness,或者正被 “UI 还原度对账” 折磨,欢迎试用和反馈 —— 开源项目,MIT 协议,PR 欢迎。


相关链接

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/3 7:35:39

【Embedded Development】【高级MCU篇】基于野火STM32H750XBH6_Pro开发板的高级MCU开发学习之1点亮led

前言 开这个篇章是为了学习补全高级MCU下的一些高级外设功能和MCU怎么和外部的Flash和外部SDRAM怎么更好的搭配使用起来。 一、简介 1.1 浏览硬件资源布局和软件资源需求 11. H750PRO资料目录内容及底板介绍 — [野火]STM32开发板必读说明 文档 二、工程实践 2.1 打开STM3…

作者头像 李华
网站建设 2026/10/3 7:33:33

突破烟雾迷障!一层分子膜,暗电流砍半:APTES 界面工程让 PbS 量子点“看穿”

在自动驾驶与工业安全监测的感知层,短波红外(SWIR,1.0–2.5 μm)成像技术正展现出超越可见光方案的独特优势:雾霾、烟尘对短波红外的散射远弱于可见光,这意味着车辆或监控设备能够在恶劣大气条件下“看穿”烟雾,识别被遮蔽的目标。然而,这一愿景的落地长期受制于探测器…

作者头像 李华
网站建设 2026/10/3 7:33:25

对比实测:3大招聘平台的搜索系统性能

2026年招聘行业早已告别单纯的岗位、简历数量竞争,底层搜索引擎的技术能力,直接决定求职者投递效率和企业招聘精准度。结合近两年行业使用反馈和平台公开技术迭代资料来看,主流招聘平台分为关键词检索、语义向量检索两类技术路线,…

作者头像 李华
网站建设 2026/10/3 7:31:24

电线采购实战:品质检测与成本分析经验分享

1. 引言上海红同电子有限公司成立至今已有25年多,一直专注于线束的生产与制造。在这二十多年里,我们采购过数不清的电线电缆,也踩过不少坑、交过不少学费。今天想把这些年积累的经验整理成文,围绕电线采购中的品质检测和成本分析两…

作者头像 李华