Seven zero-config local pixel/OCR tools join the existing vision tool: vw_crop, vw_pixel_diff, vw_colors, vw_trace, vw_ocr, vw_html_screenshot, vw_extract_foreground. No provider, no key, no Python required; artifacts land in .dsh-vision-window/artifacts (configurable artifactsDir, master switch localTools).
vw_pixel_diff: diff ratio + worst 8×8 grid + red heatmap PNG + JSON report; size mismatches are resized and noted.vw_trace: hard 1 MP input cap, enforced even when downscale is off.vw_html_screenshot: system Chrome/Edge via puppeteer-core; all non-file:requests are blocked.vw_ocr: system tesseract with clear install guidance when missing.- Bilingual README: English default + 中文 (README.zh.md), with a DSH Web demo screenshot.
Verified:
npm run checkand 23 tests pass.- Real-machine headless zero-config:
vw_colorssucceeded under a preset without any credential; settings restored unchanged. - Real-machine
vw_pixel_diff/vw_crop/vw_ocrerror guidance /vw_html_screenshot(1200×720). - Temporary web profile confirmed the client bundle contains
vw_*/localTools/artifactsDir.
Install:
dsh plugin --profile web add github:shinegeer/dsh-vision-window
dsh plugin --profile headless add github:shinegeer/dsh-vision-window
Restart dsh web after installation.
npm audit --omit=devreports five moderate findings from a single phin advisory (transitive via potrace → jimp). The affected URL-loader path is never exercised: the plugin passes only locally validated buffers to potrace.