Skip to main content
Glama

🖥️ screen-use

browser-use, но для всего рабочего стола.

Дайте любому ИИ-агенту глаза 👀 и руки 🖐️ в Windows — пусть Claude, Kimi, Cursor или ваш собственный агент видит экран, находит элементы интерфейса и управляет любым десктопным приложением через естественный язык. Никаких селекторов. Никаких скриптов, которые ломаются при изменении интерфейса.

License: MIT Python 3.10+ Platform: Windows MCP

demo

👆 Автономность между приложениями: агент читает результат из Калькулятора, активирует Блокнот и вводит его — каждый шаг решается VLM, наблюдающим за экраном (живой поток мыслей внизу).

Одноприложный цикл агента (VLM сам вычисляет 78 × 9):

agent loop demo

Скриптовое межприложное взаимодействие (Калькулятор → Блокнот):

cross-app demo

Точные клики в одном приложении:

calculator demo

Зачем

Традиционный RPA записывает селекторы — и ломается, как только страница меняется. browser-use (32k⭐) решил эту проблему для браузеров. screen-use приносит ту же идею на весь рабочий стол: Excel, SAP-клиенты, ERP-программы, даже устаревшие Win32-приложения.

Традиционный RPA

screen-use

Поиск элементов

Записанные селекторы, легко ломаются

Понимает интерфейс через дерево доступности + Vision-модели

Область действия

Только браузер или конкретные приложения

Любое десктопное приложение

Создание

Профессиональные разработчики

Естественный язык

Стоимость

Дорогое корпоративное ПО

Открытый исходный код, дружелюбен к локальным моделям

Related MCP server: WinPilot Computer Use MCP

Как это работает

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 не обязателен, а не требуется. Цепочка стратегий поиска попадает в большинство целей с помощью чистого текстового сопоставления дерева доступности — ноль вызовов моделей, миллисекундная задержка. Vision-модель (облачная или локальная через Ollama) подключается только для интерфейсов, невидимых для UIA.

Быстрый старт

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

Как плагин для Kimi CLI (рекомендуется)

Одна команда — Kimi мгновенно получает все 14 десктопных инструментов:

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

По желанию установите встроенный навык стратегии использования, который обучает Kimi оптимальному плану выбора инструментов:

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

Затем просто скажите Kimi: «Открой Калькулятор и вычисли 123 × 456» или «Прочитай, что у меня в Блокноте».

Как универсальный MCP-сервер

Добавьте в claude_desktop_config.json (или конфиг любого MCP-совместимого агента):

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

Затем просто скажите своему агенту: «Открой Калькулятор и вычисли 123 × 456».

Как 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)

Автономный цикл задач

Один вызов — полная автономия: агент видит, решает, действует и сам исправляется:

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

Интроспекция (классификация трудностей): когда цикл застревает, он классифицирует сложность — нет эффекта / повторный цикл / последовательные сбои / отсутствующие элементы / неожиданное всплывающее окно — и размышляет с помощью целевого плана подсказок, затем корректирует стратегию.

Мета-обучение: успешные запуски запоминаются. Похожие прошлые задачи вспоминаются как подсказки из опыта, а выученные словарные сопоставления (например, «знак умножения» → Multiply by) становятся новым первым уровнем цепочки стратегий. Буквально становится лучше с каждым использованием. Память хранится в ~/.screen_use/.

Инструменты (14)

Атомарные (без зависимости от моделей): screenshot · list_ui_elements · click · double_click · right_click · click_element_id · type_text · hotkey · press · scroll

Высокоуровневые: find_element (поиск через цепочку стратегий) · click_element (поиск + клик) · read_screen (VLM-вопросы и ответы по экрану) · run_task (автономный визуальный цикл)

Vision-модель (необязательно)

Нужна только если у вашего агента нет зрения И целевое приложение невидимо для UIA. Скопируйте .env.example в .env:

Пресет

Конфигурация

Модели

Локальный (бесплатно, приватно)

VISION_PROVIDER=ollama

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

OpenAI

VISION_PROVIDER=openai + ключ

gpt-4o

Qwen

VISION_PROVIDER=qwen + ключ

qwen-vl-max

Без настроенной VLM атомарные инструменты и UIA-сопоставление полностью работают.

Безопасность

  • 🚨 Предохранитель: резко переместите мышь в верхний левый угол, чтобы мгновенно прервать

  • ✅ Хук confirm_callback для одобрения каждого действия (SDK)

  • 🧪 ScreenUse(dry_run=True) записывает действия без выполнения

Расширяемость

screen-use спроектирован как набор заменяемых слоёв — каждый уровень можно расширить, не трогая ядро:

Слой

Точка расширения

Как

Vision-модель

VisionProvider ABC

Реализуйте pick_element() + ask_about_screen() (2 метода) — любая OpenAI-совместимая конечная точка работает из коробки через .env

Инструменты

SDK-фасад

Добавьте метод в ScreenUse → откройте в mcp_server.py с помощью одного декоратора @mcp.tool()

Поиск

Цепочка стратегий

Вставьте свой уровень (например, шаблонное сопоставление OpenCV) в find_element() — более ранние уровни выигрывают

Действия

Executor

Добавьте перетаскивание, ввод IME, глобальные хоткеи... Поддержка dry_run идёт бесплатно

Платформа

шов perception/

Перенесите uia_tree.py + screen.py на macOS Accessibility API или Linux AT-SPI — остальной стек платформонезависим

Память

ExperienceStore

Замените JSONL на SQLite/векторную БД; цикл мета-обучения зависит только от record_trace/recall/learn_mapping/recall_mapping

Интроспекция

плейбук reflect.py

Добавьте StuckType + шаблон подсказки; классификация — чистые функции, легко тестировать

Хост-агенты

MCP

Любой MCP-совместимый хост (Claude, Kimi CLI, Cursor, ваш собственный) мгновенно получает все 14 инструментов

Хуки безопасности также являются частью интерфейса: confirm_callback для одобрения человеком в цикле, dry_run для симуляции, предохранитель PyAutoGUI для экстренной остановки.

Дорожная карта

  • Цепочка стратегий поиска UIA + SoM

  • MCP-сервер (14 инструментов)

  • Поддержка локальных VLM (Ollama)

  • Автономный визуальный цикл (run_task)

  • Плейбук интроспекции и память мета-обучения

  • Примитивы wait_for_element / автоматической проверки

  • Перетаскивание

  • Запасной вариант VLM по сырым координатам + шаблонное сопоставление OpenCV (приложения, невидимые для UIA)

  • Поддержка macOS (Accessibility API) и Linux

  • Релиз на PyPI

Приветствуются вклады — смотрите issues для хороших первых задач.

Разработка

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

Лицензия

MIT


screen-use = десктопная версия browser-use: позволяет любому ИИ-агенту видеть экран и управлять десктопными приложениями.

  • Не традиционный RPA: не записывает селекторы, понимает интерфейс через дерево доступности + визуальные модели, не боится изменений интерфейса

  • Работает со всеми десктопными приложениями: Excel, SAP, ERP-клиенты, устаревшие Win32-программы

  • Управление естественным языком: click_element("保存按钮") — одна фраза и готово

  • VLM опционален: первый уровень цепочки стратегий — чистое UIA-текстовое сопоставление (ноль моделей, миллисекунды), визуальная модель подключается только для слепых зон, поддерживает локальный Ollama для защиты конфиденциальности

Способы подключения, список инструментов и настройки безопасности совпадают с английской версией выше.

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.
    45 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.
    348 npm
    141 PyPI
    5
    MIT