Skip to main content
Glama

🖥️ screen-use

browser-use, aber für den gesamten Desktop.

Gib jedem KI-Agenten Augen 👀 und Hände 🖐️ unter Windows – lass Claude, Kimi, Cursor oder deinen eigenen Agenten den Bildschirm sehen, UI-Elemente finden und jede Desktop-App über natürliche Sprache bedienen. Keine Selektoren. Keine Skripte, die brechen, wenn sich die UI ändert.

License: MIT Python 3.10+ Platform: Windows MCP

demo

👆 App-übergreifende Autonomie: Der Agent liest das Ergebnis aus dem Taschenrechner, aktiviert Notepad und tippt es ein – jeder Schritt wird vom VLM entschieden, der den Bildschirm beobachtet (siehe den Live-Gedankenstrom unten).

Agenten-Schleife für eine einzelne App (VLM berechnet 78 × 9 selbst):

agent loop demo

Skriptgesteuert app-übergreifend (Taschenrechner → Notepad):

cross-app demo

Präzisionsklicken in einer einzelnen App:

calculator demo

Warum

Traditionelle RPA zeichnet Selektoren auf – und bricht, sobald sich eine Seite ändert. browser-use (32k⭐) hat das für Browser gelöst. screen-use bringt dieselbe Idee auf den gesamten Desktop: Excel, SAP-Clients, ERP-Software, sogar alte Win32-Programme.

Traditionelle RPA

screen-use

Elemente finden

Aufgezeichnete Selektoren, brechen leicht

Versteht UI über Accessibility-Baum + Vision-Modelle

Umfang

Nur Browser oder bestimmte Apps

Jede Desktop-App

Erstellung

Professionelle Entwickler

Natürliche Sprache

Kosten

Teure Unternehmenssoftware

Open Source, lokale Modelle freundlich

Related MCP server: WinPilot Computer Use MCP

So funktioniert es

Your Agent (Claude / Kimi / Cursor / custom)   ← does the planning
        │  MCP or Python SDK
        ▼
┌─────────────────────────────────────────────┐
│ screen-use                                  │
│  Visual Loop ──► observe→think→act→verify   │
│  Introspection──► difficulty playbook        │
│  Meta-learning──► experience & vocab memory  │
│  Perception ──► UIA tree + screenshots (SoM)│
│  Locating   ──► strategy chain:             │
│                 ⓪ learned vocab mapping     │
│                 ① UIA text match (0 cost)   │
│                 ② Set-of-Mark + VLM         │
│  Action     ──► mouse / keyboard            │
└─────────────────────────────────────────────┘

VLM ist optional, nicht erforderlich. Die Lokalisierungs-Strategiekette trifft die meisten Ziele mit reinem Textabgleich über den Accessibility-Baum – null Modellaufrufe, Millisekunden-Latenz. Ein Vision-Modell (Cloud oder lokal über Ollama) greift nur bei UIA-blinden UIs ein.

Schnellstart

git clone https://github.com/tongriyaotxt/screen-use.git
cd screen-use
pip install -r requirements.txt

Als Kimi-CLI-Plugin (empfohlen)

Ein Befehl – Kimi erhält sofort alle 14 Desktop-Tools:

kimi mcp add --transport stdio screen-use -- <path-to-python.exe> -m screen_use.mcp_server
kimi mcp test screen-use   # verify the connection

Optional das gebündelte Usage-Strategy-Skill installieren, das Kimi das optimale Playbook zur Tool-Auswahl beibringt:

mkdir -p ~/.kimi/skills/screen-use && cp skills/screen-use/SKILL.md ~/.kimi/skills/screen-use/

Dann sag einfach zu Kimi: „Öffne den Taschenrechner und berechne 123 × 456" oder „Lies, was in meinem Notepad steht".

Als generischer MCP-Server

Füge zu claude_desktop_config.json (oder der Konfiguration eines beliebigen MCP-kompatiblen Agenten) hinzu:

{
  "mcpServers": {
    "screen-use": {
      "command": "python",
      "args": ["-m", "screen_use.mcp_server"],
      "cwd": "path/to/screen-use"
    }
  }
}

Dann sag einfach zu deinem Agenten: „Öffne den Taschenrechner und berechne 123 × 456."

Als Python-SDK

from screen_use import ScreenUse

tools = ScreenUse()

tools.click_element("Save")            # locate + click, one call
tools.type_text("Hello, 你好")          # Unicode-safe (clipboard paste)
tools.hotkey("ctrl", "s")

# Atomic tools for vision-capable agents:
elements = tools.list_ui_elements()    # id, name, type, bbox — no model needed
shot = tools.screenshot(annotate=True) # Set-of-Mark annotated screenshot
tools.click(500, 300)

Autonome Aufgaben-Schleife

Ein Aufruf, volle Autonomie – der Agent sieht, entscheidet, handelt und korrigiert sich selbst:

tools.run_task("打开计算器,算 25 乘以 4")   # observe → think → act → verify

Introspektion (困难分类反思): Wenn die Schleife hängen bleibt, klassifiziert sie die Schwierigkeit – keine Wirkung / Schleife wiederholen / aufeinanderfolgende Fehler / fehlende Elemente / unerwartetes Popup – und reflektiert mit einem gezielten Prompt-Playbook, dann passt sie die Strategie an.

Meta-Lernen (元学习): Erfolgreiche Läufe werden gespeichert. Ähnliche frühere Aufgaben werden als Erfahrungshinweise abgerufen, und gelernte Vokabel-Zuordnungen (z. B. „乘号" → Multiply by) werden zur neuen ersten Ebene der Strategiekette. Es wird buchstäblich besser, je mehr man es nutzt. Der Speicher liegt in ~/.screen_use/.

Tools (14)

Atomar (keine Modellabhängigkeit): screenshot · list_ui_elements · click · double_click · right_click · click_element_id · type_text · hotkey · press · scroll

Hochwertig: find_element (Lokalisierung über Strategiekette) · click_element (lokalisieren + klicken) · read_screen (VLM-Bildschirm-Fragen & Antworten) · run_task (autonome visuelle Schleife)

Vision-Modell (optional)

Nur nötig, wenn dein Agent keine Vision hat UND die Ziel-App UIA-blind ist. Kopiere .env.example nach .env:

Voreinstellung

Konfiguration

Modelle

Lokal (kostenlos, privat)

VISION_PROVIDER=ollama

qwen3-vl, qwen2.5vl, llama3.2-vision

OpenAI

VISION_PROVIDER=openai + Schlüssel

gpt-4o

Qwen

VISION_PROVIDER=qwen + Schlüssel

qwen-vl-max

Ohne konfiguriertes VLM funktionieren atomare Tools und UIA-Abgleich weiterhin vollständig.

Sicherheit

  • 🚨 Failsafe: Bewege deine Maus blitzschnell in die obere linke Ecke, um sofort abzubrechen

  • ✅ confirm_callback-Hook, um jede Aktion zu genehmigen (SDK)

  • 🧪 ScreenUse(dry_run=True) zeichnet Aktionen auf, ohne sie auszuführen

Erweiterbarkeit

screen-use ist als Satz austauschbarer Schichten konzipiert – jede Ebene kann erweitert werden, ohne den Kern anzufassen:

Ebene

Erweiterungspunkt

Wie

Vision-Modell

VisionProvider ABC

Implementiere pick_element() + ask_about_screen() (2 Methoden) – jeder OpenAI-kompatible Endpunkt funktioniert sofort über .env

Tools

SDK-Fassade

Füge eine Methode zu ScreenUse hinzu → in mcp_server.py mit einem @mcp.tool()-Dekorator freigeben

Lokalisierung

Strategiekette

Füge deine eigene Ebene (z. B. OpenCV-Template-Matching) in find_element() ein – frühere Ebenen gewinnen

Aktionen

Executor

Drag, IME-Eingabe, globale Hotkey-Hooks hinzufügen... dry_run-Unterstützung ist inklusive

Plattform

perception/-Naht

Portiere uia_tree.py + screen.py auf macOS Accessibility API oder Linux AT-SPI – der Rest des Stacks ist plattformunabhängig

Speicher

ExperienceStore

JSONL gegen SQLite/Vektor-DB tauschen; die Meta-Lern-Schleife hängt nur von record_trace/recall/learn_mapping/recall_mapping ab

Introspektion

reflect.py-Playbook

Füge einen StuckType + Prompt-Vorlage hinzu; Klassifikation sind reine Funktionen, leicht zu testen

Host-Agenten

MCP

Jeder MCP-kompatible Host (Claude, Kimi CLI, Cursor, dein eigener) erhält sofort alle 14 Tools

Sicherheits-Hooks sind ebenfalls Teil der Schnittstelle: confirm_callback für Human-in-the-Loop-Genehmigung, dry_run für Simulation, PyAutoGUI-Failsafe für den Notfall-Stopp.

Roadmap

  • UIA + SoM-Lokalisierungs-Strategiekette

  • MCP-Server (14 Tools)

  • Lokale VLM-Unterstützung (Ollama)

  • Autonome visuelle Schleife (run_task)

  • Introspektions-Playbook & Meta-Lern-Speicher

  • wait_for_element / Auto-Verifizierungs-Primitive

  • Drag & Drop

  • VLM-Rohkoordinaten-Fallback + OpenCV-Template-Matching (UIA-blinde Apps)

  • macOS (Accessibility API) & Linux-Unterstützung

  • PyPI-Veröffentlichung

Beiträge willkommen – siehe Issues für gute erste Aufgaben.

Entwicklung

pytest tests -q                        # 61 unit tests, no desktop/VLM needed
python examples/demo_calculator.py     # end-to-end demo (real clicks!)
python examples/mcp_client_demo.py     # MCP handshake + tool list

Lizenz

MIT


screen-use = browser-use für den Desktop: Gib jedem KI-Agenten die Fähigkeit, den Bildschirm zu sehen und Desktop-Anwendungen zu bedienen.

  • Kein traditionelles RPA: Zeichnet keine Selektoren auf, versteht die UI über den Accessibility-Baum + Vision-Modelle – keine Angst vor UI-Änderungen

  • Funktioniert mit allen Desktop-Anwendungen: Excel, SAP, ERP-Clients, alte Win32-Programme

  • Natürliche Sprache: click_element("保存按钮") – ein Satz genügt

  • VLM optional: Die erste Ebene der Strategiekette ist reiner UIA-Textabgleich (null Modelle, Millisekunden), das Vision-Modell greift nur in blinden Bereichen ein, lokales Ollama schützt die Privatsphäre

Integrationsmethoden, Tool-Liste und Sicherheitskonfiguration entsprechen der englischen Version oben.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI coding agents to automate Windows desktop applications through semantic UI Automation instead of brittle coordinate clicks, with tools for discovering windows, finding controls by stable identifiers, and verifying actions.
    41 PyPI
    3
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to autonomously control Windows 11 and 10 desktops via sub-10ms screen capture, native UI Automation element inspection, and zero-lag keyboard and mouse input. Combines a visual plane with a semantic plane and stall detection so agents can operate real applications reliably without vision-only guessing.
    0
    171 PyPI
    5
    MIT