返回 Skill 列表
extension
分类: 开发与工程无需 API Key

isionLint Local:让 WorkBuddy 在本地完成网页视觉审计与修复验证

前端页面出现横向溢出、文本裁剪、元素遮挡或移动端响应式失效时,传统流程往往依赖人工逐个 viewport 截图检查。纯 CSS/DOM 规则虽然确定性强,却难覆盖视觉语义;纯视觉模型又可能缺少精确的 DOM 定位和可复验性。VisionLint Local 的目标,是把这些能力组合成一个能被 WorkBuddy 直接调用、能嵌入代码修改闭环、并且核心视觉分析在本机执行的生产力 Skill。

person作者: ALexxhhubModelScope

VisionLint Local

Purpose

VisionLint Local 是面向 WorkBuddy 的本地网页视觉与响应式审计 Skill。它把 Playwright 截图、DOM Grounding、确定性布局规则和本地 OpenVINO VLM 组合成可重复执行的审计流程,并在修改代码后执行 verify-fix 判断问题是 fixedstill_present 还是 inconclusive

Important

  • 只通过 scripts\run.ps1 调用本 Skill。不要直接调用其他 Python 脚本。
  • 正式比赛链路默认 hybrid,需要真实本地模型;rule_only 只能由用户明确选择,不能冒充本地 AI 验收。
  • 默认仅允许 loopback 页面,并阻断页面向公网发起的 HTTP(S)、WebSocket 与 Service Worker egress。
  • 用户显式允许外部资源后,该次运行不再属于“完全离线”证据。
  • 本地视觉模型失败时必须明确报告;比赛入口为 fail-closed,不能把模型失败伪装成视觉分析成功。
  • 第一次运行会创建独立 Python 3.11 环境并安装 Playwright Chromium。第一次 hybrid 运行还可能下载数 GB 的本地模型。
  • 没有云端视觉推理 fallback。

Usage

1. 准备默认本地模型

.\scripts\run.ps1 prepare-model

模型下载使用 .partial 目录;只有 info.json 中所有 required_files 验证通过后才原子完成。下载中断后可再次运行同一命令继续。

若一次 WorkBuddy 调用因模型准备未完成返回退出码 3

.\scripts\run.ps1 --continue

它会恢复最近一次模型门控请求。

2. 单页审计

.\scripts\run.ps1 audit http://127.0.0.1:8000/index.html

3. 响应式审计

.\scripts\run.ps1 responsive http://127.0.0.1:8000/index.html

4. 修复验证

先保存 baseline,再修改页面:

.\scripts\run.ps1 audit http://127.0.0.1:8000/index.html > baseline.json
.\scripts\run.ps1 verify-fix http://127.0.0.1:8000/index.html --baseline baseline.json

5. 服务状态 / 模型复用证据

.\scripts\run.ps1 status

重点查看:

  • process_id:连续调用应保持同一 resident server PID;
  • model.load_count:同一模型/device 的第二次 warm 请求不应再次增加;
  • model.models[].loaded:模型是否已在进程中常驻;
  • model.models[].device:实际设备;
  • model.models[].error:最近模型错误。

公开状态不会返回本机模型绝对路径,只返回模型目录名。

Examples

| 用户意图 | 调用 | | --- | --- | | 检查本地网页 UI | scripts\run.ps1 audit <local-url> | | 检查桌面/平板/手机响应式 | scripts\run.ps1 responsive <local-url> | | 修复后确认问题是否解决 | scripts\run.ps1 verify-fix <local-url> --baseline <report.json> | | 下载/续传本地模型 | scripts\run.ps1 prepare-model / scripts\run.ps1 --continue | | 检查 resident 模型是否复用 | scripts\run.ps1 status | | 用户明确只要规则、不跑 VLM | 在审计命令后加 --runtime-mode rule_only |

Output interpretation

审计成功输出 JSON:

  • issues[]:问题列表;
  • category:如 horizontal_overflowtext_clippingabnormal_overlap
  • element_id / selector:DOM 定位;
  • page_snapshots[]:viewport、截图、DOM 证据;
  • metadata.vision.status:hybrid 下视觉分析状态,真实成功应为 succeeded
  • score:当前审计评分。

verify-fix

  • fixed:基线问题不再复现;
  • still_present:仍能可靠复现;
  • inconclusive:证据不足,禁止声称已修复;
  • new_issues:修复后新引入的问题。

Failure handling

  • 退出码 0:命令成功;
  • 退出码 1:运行/配置/服务错误;
  • 退出码 2:参数错误;
  • 退出码 3:模型准备未完成,可运行 scripts\run.ps1 --continue

遇到失败时先读取 stderr 和 artifacts/runtime/server.log。不要通过删除测试、降低断言或切换 rule_only 来掩盖 hybrid 失败。

Privacy boundary

默认模式:

  1. 审计目标必须是 loopback;
  2. 浏览器公网 HTTP(S) 子资源默认阻断;
  3. 外部 WebSocket 默认阻断;
  4. Service Worker egress 默认阻断;
  5. 截图、DOM、规则结果与本地 VLM 推理均留在本机。

allow_external_resources 是显式 opt-in。一旦启用,不要把该次运行描述为“数据绝不出机”。