Skip to content

Verify

Visual verification, Figma comparison, style capture, and report generation.

9 modules

ModuleDescription
ใส่คำอธิบายภาพหน้าจอวาดกล่องที่มีป้ายกำกับบนภาพหน้าจอเพื่อระบุความแตกต่าง
จับภาพสไตล์องค์ประกอบจับภาพสไตล์ที่คำนวณจากองค์ประกอบในเบราว์เซอร์
เปรียบเทียบสไตล์เปรียบเทียบสไตล์ที่จับภาพกับค่าที่คาดหวัง
ดึงสไตล์จาก Figmaดึงโทเค็นการออกแบบจาก Figma API (โทเค็นจะอยู่ในเครื่อง)
สร้างรายงานสร้างรายงานการตรวจสอบในรูปแบบ HTML/JSON/Markdown
โหลดชุดกฎโหลดกฎการตรวจสอบจากไฟล์ YAML
รันการตรวจสอบรันการตรวจสอบการออกแบบทั้งหมด: จับภาพ → เปรียบเทียบ → รายงาน
รันการตรวจสอบสเปคการตรวจสอบสเปคแบบไดนามิก - ประกอบโมดูลใดๆ ผ่าน YAML
เปรียบเทียบด้วยภาพเปรียบเทียบการออกแบบอ้างอิงกับไซต์ที่พัฒนาโดยการมองเห็น ใส่คำอธิบายความแตกต่าง

Modules

ใส่คำอธิบายภาพหน้าจอ

verify.annotate

วาดกล่องที่มีป้ายกำกับบนภาพหน้าจอเพื่อระบุความแตกต่าง

Parameters:

NameTypeRequiredDefaultDescription
image_pathstringYes-เส้นทางไปยังภาพหน้าจอ
annotationsarrayYes-อาร์เรย์ของคำอธิบาย: [{label, x, y, width, height, color?, description?}]
output_pathstringNo-เส้นทางเอาต์พุตสำหรับภาพที่ใส่คำอธิบาย (ค่าเริ่มต้น: เพิ่มคำต่อท้าย _annotated)

Output:

FieldTypeDescription
output_pathstringเส้นทางไปยังภาพที่ใส่คำอธิบาย
annotation_countintegerจำนวนคำอธิบายที่วาด

จับภาพสไตล์องค์ประกอบ

verify.capture

จับภาพสไตล์ที่คำนวณจากองค์ประกอบในเบราว์เซอร์

Parameters:

NameTypeRequiredDefaultDescription
urlstringYes-URL to capture from
selectorstringYes-CSS selector
wait_forstringNo-Wait for selector before capture
viewport_widthnumberNo1280Viewport width
viewport_heightnumberNo800Viewport height

Output:

FieldTypeDescription
elementobjectCaptured element with styles
foundbooleanWhether element was found

เปรียบเทียบสไตล์

verify.compare

เปรียบเทียบสไตล์ที่จับภาพกับค่าที่คาดหวัง

Parameters:

NameTypeRequiredDefaultDescription
actualobjectYes-Captured element styles (from verify.capture)
expectedobjectYes-Expected styles to compare against
selectorstringNo-Selector for reporting
size_tolerancenumberNo2.0Tolerance for size (px)
spacing_tolerancenumberNo2.0Tolerance for spacing (px)
font_size_tolerancenumberNo1.0Tolerance for font size (px)
color_tolerancenumberNo5Tolerance for color (0-255)
check_typographybooleanNoTrueCheck typography
check_colorsbooleanNoTrueCheck colors
check_spacingbooleanNoTrueCheck spacing
check_sizingbooleanNoFalseCheck sizing

Output:

FieldTypeDescription
passedbooleanWhether comparison passed
violationsarrayList of violations found
error_countnumberNumber of errors
warning_countnumberNumber of warnings

ดึงสไตล์จาก Figma

verify.figma

ดึงโทเค็นการออกแบบจาก Figma API (โทเค็นจะอยู่ในเครื่อง)

Parameters:

NameTypeRequiredDefaultDescription
file_idstringYes-Figma file key (from URL)
node_idstringNo-Specific node ID to fetch
node_namestringNo-Find node by name
tokenstringNo-Figma token (or use FIGMA_TOKEN env var)

Output:

FieldTypeDescription
nodeobjectFigma node data
styleobjectExtracted style

สร้างรายงาน

verify.report

สร้างรายงานการตรวจสอบในรูปแบบ HTML/JSON/Markdown

Parameters:

NameTypeRequiredDefaultDescription
resultsarrayYes-Comparison results from verify.compare
namestringNoverify-reportReport name
urlstringNo-URL that was verified
formatstringNohtmlOutput format (html, json, markdown, all)
output_dirstringNo./verify-reportsOutput directory
screenshotsarrayNo-Screenshot paths to include

Output:

FieldTypeDescription
report_pathstringPath to generated report
summaryobjectSummary statistics

โหลดชุดกฎ

verify.ruleset

โหลดกฎการตรวจสอบจากไฟล์ YAML

Parameters:

NameTypeRequiredDefaultDescription
pathstringYes-Path to YAML ruleset file

Output:

FieldTypeDescription
rulesetobjectParsed ruleset
rules_countintegerNumber of rules

รันการตรวจสอบ

verify.run

รันการตรวจสอบการออกแบบทั้งหมด: จับภาพ → เปรียบเทียบ → รายงาน

Parameters:

NameTypeRequiredDefaultDescription
urlstringYes-URL to verify
selectorsarrayNo-CSS selectors to verify
ruleset_pathstringNo-Path to YAML ruleset file
expected_stylesobjectNo-Expected styles per selector
figma_file_idstringNo-Figma file ID for comparison
figma_tokenstringNo-Figma token (or FIGMA_TOKEN env)
figma_mappingobjectNo-Selector to Figma node mapping
output_dirstringNo./verify-reportsOutput directory
report_formatstringNohtmlReport format
take_screenshotbooleanNoTrueCapture screenshot
viewport_widthnumberNo1280Viewport width
viewport_heightnumberNo800Viewport height

Output:

FieldTypeDescription
passedbooleanOverall verification passed
summaryobjectSummary statistics
report_pathstringPath to generated report

Example: Example

yaml
url: http://localhost:3000
selectors: ["button[type=\"submit\"]", "input[type=\"email\"]"]

Example: Example

yaml
url: http://localhost:3000
selectors: ["button.primary"]
figma_file_id: abc123xyz
figma_mapping: {"button.primary": "Primary Button"}

Example: Example

yaml
url: http://localhost:3000
ruleset_path: ./design-rules.yaml

รันการตรวจสอบสเปค

verify.spec

การตรวจสอบสเปคแบบไดนามิก - ประกอบโมดูลใดๆ ผ่าน YAML

Parameters:

NameTypeRequiredDefaultDescription
ruleset_pathstringNo-Path to YAML ruleset file
rulesetobjectNo-Inline ruleset object

Output:

FieldTypeDescription
passedboolean
summaryobject
resultsarray

เปรียบเทียบด้วยภาพ

verify.visual_diff

เปรียบเทียบการออกแบบอ้างอิงกับไซต์ที่พัฒนาโดยการมองเห็น ใส่คำอธิบายความแตกต่าง

Parameters:

NameTypeRequiredDefaultDescription
reference_urlstringYes-URL หรือเส้นทางภาพในเครื่องของการออกแบบอ้างอิง
dev_urlstringYes-URL ของไซต์ที่พัฒนาเพื่อเปรียบเทียบ
output_dirstringNo./verify-reports/visual-diffไดเรกทอรีเอาต์พุตสำหรับรายงาน
focus_areasarrayNo-พื้นที่ที่ต้องการเน้น (เช่น ["header", "login form"])
viewport_widthnumberNo1280ความกว้างของวิวพอร์ตเบราว์เซอร์
viewport_heightnumberNo800ความสูงของวิวพอร์ตเบราว์เซอร์
modelstringNogpt-4oโมเดลการมองเห็นที่ใช้
api_keystringNo-คีย์ API ของ OpenAI (หรือใช้ตัวแปรแวดล้อม OPENAI_API_KEY)

Output:

FieldTypeDescription
similarity_scorenumberเปอร์เซ็นต์ความคล้ายคลึง (0-100)
annotationsarrayรายการความแตกต่างที่ใส่คำอธิบาย
annotated_imagestringเส้นทางไปยังภาพหน้าจอที่ใส่คำอธิบาย
report_pathstringเส้นทางไปยังรายงาน HTML
summarystringสรุปความแตกต่าง

Released under the Apache 2.0 License.