
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 伺服器,讓助理列出資源、執行報表、漏斗與即時查詢,並進行追蹤健康檢查。