
XuLan ScreenPilot
io.github.dahuam由 GitHub 账号 dahuam 发布v1.0.0更新于 Nov 3, 2026
将真实的 Windows 屏幕转换为带编号的元素表,供你的 AI 智能体操作。
AI 翻译由 AI 模型根据下方的原文描述翻译,可能有误。
原文描述
Turn the real Windows screen into a numbered element table your AI agent can operate.
发布方自己的服务:QuickBooks Connector by Meridian
概览
XuLan ScreenPilot 的本地 MCP 服务;无需登录;STDIO。
暂无 AI 概览:以下信息来自注册中心条目和服务本身。
安装
在 SourceWeft 中
- 打开 控制台中的 XuLan ScreenPilot,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
XuLan ScreenPilot
Turn the real Windows screen into a structured element table your AI agent can operate.
XuLan ScreenPilot solves the two classic pain points of GUI automation for AI agents — not seeing the elements and missing the click — by giving the agent a numbered element table instead of a screenshot to guess coordinates from. The agent scans once, reads the table, and drives the screen by element id (click / type), in a closed loop.
Pure local CPU. No cloud model, no GPU, no API key.
How it works
Three engines run in parallel and fuse into one element table (priority UIA > OCR > visual):
Fusion dedupes by center-containment or IoU ≥ 0.3, numbers elements top-to-bottom / left-to-right, and produces:
elements.json— the element table cache (queried by id for click/type)annotated_scan.png— annotated screenshot (red = UIA, blue = OCR, green = visual, id printed on each box)
On top of the table:
- Frame-to-frame id stability — rescan keeps the same element on the same id; new elements get new ids (
meta.trackerreports kept/new/lost). - Background capture — grab a covered window's real pixels via
PrintWindow(no need to raise it). - Drifted clicks — physical clicks land with Gaussian jitter and move trails, so automation doesn't look robotic;
precise=Truerestores pixel accuracy. - Stacking awareness — every coordinate click reports which top-level window it actually hit (
hit_window), and can refuse clicks on occluded targets (top_must). - Two-level vision + text channel — crop any element at native resolution to read fine text/icons; a SigLIP vector book lets you find UI elements by name or by image without rescanning.
- Time dimension — burst watch for toasts/transient feedback, show-verify for typing, ESC probe for hangs, and static/dynamic separation (UI base layer vs. moving entities) across frames.
- Business-level waits —
expect {find, mode: appear|disappear}makes a click "successful" only when the business evidence shows up on screen.
Install
Requirements: Windows 10/11, Python 3.11+, CPU only.
Tested on Python 3.13. The optional element-book vector channel and the benchmark matcher additionally need tokenizers and the SigLIP int8 ONNX weights under SCREENPILOT_MODELS_DIR.
Optional: the semantic matcher and the element-book vector channel use SigLIP int8 ONNX models. Set SCREENPILOT_MODELS_DIR to a local folder holding the model directories (see README.zh-CN.md §两级视觉与文本通道). Datasets for the public benchmark go under SCREENPILOT_DATASETS_DIR.
Quickstart: the agent closed loop
MCP config (e.g. Claude Desktop / ZCode):
Benchmarks
Public GUI-grounding benchmarks, frozen matcher, official scoring. Pure CPU on a desktop with a GTX 1070 Ti (GPU unused):
* oracle = the GT target has a recognizable candidate in the element table — an upper bound assuming a perfect matcher. It separates the recognition engine's account from the matcher's account: on ScreenSpot-Pro the gap is almost entirely matcher-side (match_error 88% of misses), which is where the roadmap points. The acc numbers are with a frozen heuristic matcher standing in for the agent; in real use the agent reads the table itself, so live experience tracks the oracle line more than acc. We report both, no cherry-picking.
Reproduce: python bench/public_sspot.py --dataset v2 / --dataset pro (datasets not included; see the docstring for the two HF sources).
MCP server
18 tools over stdio (scan_screen, scan_image, click_element, click_safe, click_xy, type_text, press_key, scroll_screen, snap_screen, crop_screen, crop_xy, book_find, watch_burst, verify_typing, probe_hang, split_static_dynamic, window_stack, activate_window). scan_image runs the same engines offline on a static file; book_find queries the persistent element book (two-level: text match + SigLIP vector search) so recurrent UIs are found without a full rescan.
Documentation
Full docs (in Chinese, with internals, known limitations, and the test-suite map): README.zh-CN.md.
Status & roadmap
Working system in daily use as the studio's screen channel. Known gaps are documented, not hidden: dark-theme professional apps (deep-background small text) hurt OCR recall, 4K toolbar icons stress the matcher, and the Pro benchmark score is capped by the frozen matcher — see README.zh-CN.md §已知限制与坑.
License
Open core: the core engine in this repository is released under the Apache License 2.0. Studio value-added integrations (closed source) are not part of this repository.
Acknowledgements
Built on RapidOCR, uiautomation, OpenCV, and onnxruntime.
来源:README.md,提交 e4f0218
工具
0版本历史
1- v1.0.0最新Nov 3, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
其他 Pilot 集成
QuickBooks Connector by Meridian
com.pilot.meridian官方发布者
让助手通过托管的远程连接器读取和写入 QuickBooks Online 公司数据。
AI Agent Connector by Meridian
com.pilot.meridian官方发布者
让 AI 助理以授权的读取或写入权限连接 Xero,并可跨多个组织操作。

Covenant AAP - hosted developer pilot
由 GitHub 账号 covenant-common 发布
托管的市场与合约起草服务器:搜索公开挂牌、生成交易记录、起草与比对条款,并复核协议证据。
Tag Pilot Search Console
由 GitHub 账号 tagpilot 发布
只读的 Google Search Console MCP 服务器,让助手查询你网站的点击、展示、CTR、排名、站点地图和索引状态。
Tag Pilot GA4
由 GitHub 账号 tagpilot 发布
只读的 Google Analytics 4 MCP 服务器,让助手列出媒体资源、运行报表、漏斗与实时查询,并做跟踪健康检查。