Skip to main content
Glama

Что такое SoftAuto

SoftAuto — это открытый Windows RPA и MCP Server, ориентированный на AI-агентов. Он использует Microsoft UI Automation (UIA) для поиска элементов настольных приложений, Chrome DOM для поиска элементов веб-страниц, а затем предоставляет операции клика, ввода, чтения, подсветки и проверки в виде инструментов Model Context Protocol (MCP). Подходит для автоматизации ERP, автоматизации настольных приложений, автоматизации веб-бизнес-систем, GUI-тестирования и повторяющихся офисных процессов.

Это не очередной макро-инструмент, зависящий от скриншотов и координат, а детерминированный исполнительный слой для Computer Use: элементы достаточно захватить и проверить один раз, после чего агент может вызывать их по имени, что сокращает повторные скриншоты, визуальные рассуждения и клики по координатам.

Related MCP server: atomic-computer-mcp

Ключевые решаемые проблемы

Computer Use может работать практически с любым программным обеспечением, но если каждый шаг проходит через «скриншот → визуальное рассуждение → клик по координатам → снова скриншот», процесс замедляется и становится уязвимым к перемещению окон, разрешению экрана и изменениям интерфейса.

SoftAuto разбивает эту исполнительную цепочку: сначала человек, как в RPA, захватывает, проверяет и сохраняет элементы; затем агент через MCP напрямую вызывает действия Windows UIA или браузерного DOM по имени элемента. Интеллектуальный агент продолжает отвечать за понимание и принятие решений, а повторяющиеся операции с программным обеспечением идут по детерминированному пути автоматизации на основе элементов.

Традиционный Computer Use

SoftAuto + MCP

Способ поиска

Каждый шаг заново смотрит скриншот, вычисляет координаты

Повторное использование проверенных UIA/DOM Locator

Путь выполнения

Визуальная модель → операция по координатам

Agent → MCP → нативные действия с элементами

Перемещение окна

Координаты могут стать недействительными

Повторный анализ стабильных свойств элементов

Динамический текст

Требуется повторное распознавание

Подстановочные знаки, префиксы и MCP-переменные

Сценарии применения

Неизвестные интерфейсы, исследовательские задачи

ERP, бизнес-системы и высокочастотные детерминированные процессы

flowchart LR
    A[首次拾取并验证元素] --> B[(项目元素库)]
    B --> C[SoftAuto MCP]
    D[Agent 理解任务并决策] --> C
    C --> E[Windows UIA]
    C --> F[Browser DOM]
    E --> G[桌面软件]
    F --> H[网页系统]

Основные возможности

  • Ctrl + левая кнопка мыши — захват и подсветка элементов рабочего стола или веб-страницы, управление библиотекой элементов по проектам и папкам.

  • Система рекомендует стабильные свойства, также можно редактировать значения свойств, подстановочные знаки и динамические переменные ${variable}.

  • После повторного открытия или перемещения окна элемент по-прежнему можно найти по якорю окна, пути к элементу управления и целевым характеристикам.

  • MCP предоставляет 19 инструментов запроса и действия, включая поиск, подсветку, клик, ввод, фокусировку и чтение.

  • Два канала: Windows UIA и браузерный DOM; расширение для браузера можно установить в один клик прямо из приложения.

  • Библиотеку элементов проекта можно импортировать, экспортировать и переносить на другие компьютеры с Windows.

  • Мгновенное переключение между упрощённым китайским и английским; интерфейс адаптируется к разрешению экрана и Windows DPI.

  • Не предоставляет произвольное выполнение команд и не позволяет MCP обходить библиотеку элементов для произвольных кликов по координатам.

Начало работы за пять минут

Установочная версия (рекомендуется)

  1. Скачайте Lingheyi-SoftAuto-Setup-*.exe со страницы Releases.

  2. Установите и откройте SoftAuto, создайте проект и папку.

  3. Нажмите «Захватить элемент рабочего стола» или «Захватить элемент веб-страницы», наведите курсор на нужный элемент управления и нажмите Ctrl + левая кнопка мыши для сохранения.

  4. Настройте свойства поиска справа и нажмите «Проверить».

  5. Нажмите «Конфигурация MCP» и вставьте скопированную конфигурацию в агента с поддержкой MCP.

Запуск из исходного кода

uv sync --extra dev
uv run softauto-inspector

Порядок действий:

  1. Выберите текущий проект в верхней части; нажатие «Создать проект» создаст полностью независимую пустую библиотеку элементов.

  2. При первом использовании веб-режима нажмите «Установить расширение для браузера»; приложение откроет страницу расширений Chrome, откроет каталог расширения и скопирует путь. Следуя подсказкам, включите режим разработчика и выберите «Загрузить распакованное расширение».

  3. Нажмите «Создать папку», чтобы создать иерархию приложений, страниц, модулей и т. д.; внутри папок можно создавать вложенные папки.

  4. Выберите целевую папку и нажмите «Захватить элемент рабочего стола» или «Захватить элемент веб-страницы».

  5. При наведении мыши целевой элемент будет подсвечен оранжевой рамкой в реальном времени.

  6. Нажмите Ctrl + левая кнопка мыши — клик будет перехвачен и не передан целевому приложению.

  7. Введите произвольное имя и сохраните в текущую папку.

  8. Выбрав элемент в библиотеке, отметьте свойства, участвующие в поиске, в разделе «Детали элемента» справа.

  9. Система предварительно выберет стабильные свойства с пометкой ★. Для динамического текста по умолчанию выбирается NamePrefix, а не полный Name, содержащий бизнес-значение; пользователь может самостоятельно добавлять и удалять свойства и нажимать «Сохранить свойства» или «Проверить».

  10. Выберите элемент в библиотеке и нажмите «Проверить» — система заново найдёт и подсветит элемент.

  11. Папки и элементы можно переименовывать двойным щелчком, а также перетаскивать в другие папки; непустые папки не будут случайно удалены.

  12. Нажмите «Экспорт проекта», чтобы получить переносимый JSON; на другом компьютере установите SoftAuto и нажмите «Импорт проекта», чтобы перенести все папки, элементы и локаторы.

  13. Нажмите «Скопировать конфигурацию MCP», чтобы получить полную конфигурацию агента с установленным SoftAutoMCP.exe.

Реестр проектов хранится в data/projects.json, библиотека элементов каждого проекта хранится отдельно в data/projects/<ID проекта>/elements.json. Старый data/elements.json копируется в «Проект по умолчанию», создаваемый при первом запуске, исходный файл сохраняется. MCP по умолчанию следует за текущим проектом захватчика; также можно указать SOFTAUTO_ELEMENT_LIBRARY на JSON, созданный через «Экспорт для MCP». MCP может получать элементы по стабильному ID, уникальному имени или полному пути (например, Training System/登录/账号).

Значения свойств можно редактировать напрямую, поддерживаются:

  • Подстановочные знаки: Please take note of your order reference: *

  • Подстановочный знак для одного символа: Order ?

  • MCP-переменные: Order reference: ${reference}

Локатор, содержащий ${reference}, при вызове get_element, validate_saved_element, highlight_element или инструментов действий получает значения через variables:

{
  "variables": {
    "reference": "842"
  }
}

Глубокая проверка

Если обычный захват не позволяет различить сложные элементы управления, нажмите «Глубокая проверка» — запустится полнофункциональный FlaUInspect.

uv run softauto-flauinspect

В проект уже включён официальный релиз FlaUInspect 3.1.0 с проверкой SHA-256.

Контрольная сумма пакета: a3e571e783af1cf84661332e5229714b7ac81f908ea44b454e5c1aa0398e20d5.

Сборка установочного пакета Windows

После установки PyInstaller и Inno Setup 6 выполните:

uv sync --extra packaging
.\packaging\build_installer.ps1

Результат сборки — Lingheyi-SoftAuto-Setup-0.5.3.exe. Установочная версия включает:

  • SoftAuto.exe: интерфейс захвата элементов и библиотеки элементов проекта.

  • mcp/SoftAutoMCP.exe: stdio MCP-сервис, к которому агент может подключаться напрямую.

  • FlaUInspect: инструмент глубокой проверки элементов, устанавливаемый вместе с GUI.

  • 零禾一智能 Web Connector: каталог расширения Chrome Manifest V3, устанавливаемый вместе с GUI.

Данные пользователя установочной версии по умолчанию хранятся в %LOCALAPPDATA%\SoftAuto\data; удаление или обновление поверх не удаляет элементы проекта. Файл 安装与MCP配置.txt в каталоге установки содержит пример конфигурации MCP.

Одновременное подключение полного стека MCP

В mcp-stack.json настроены:

  • Windows UIA MCP этого проекта

  • Microsoft Playwright MCP 0.0.79

  • Ui.Vision MCP Bridge 1.1.1

Объедините mcpServers из этого файла с конфигурацией MCP агента. Playwright будет напрямую предоставлять агенту Accessibility Snapshot браузера и инструменты действий; для Ui.Vision необходимо сначала установить расширение браузера и завершить локальное сопряжение.

Для OpenAdapt требуется собственный workflow bundle пользователя, поэтому отдельно предоставляется mcp-openadapt.example.json — заполните каталог bundle и затем объедините.

Запуск Windows UIA MCP отдельно

Режим только для чтения:

uv run mcp run src/softauto/server.py:mcp

Явное разрешение изменения UI:

$env:SOFTAUTO_ALLOW_ACTIONS = "1"
uv run mcp run src/softauto/server.py:mcp

Конфигурация MCP-клиента:

{
  "mcpServers": {
    "software-automation": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "C:/absolute/path/to/software-automation-mcp",
        "mcp",
        "run",
        "src/softauto/server.py:mcp"
      ]
    }
  }
}

Инструменты MCP

Инструменты только для чтения:

  • automation_status

  • integration_catalog

  • list_saved_elements

  • list_element_tree

  • list_element_projects

  • get_active_element_project

  • get_saved_element

  • validate_saved_element

  • list_windows

  • inspect_point

  • get_element

  • get_children

  • find_elements

  • highlight_element

Инструменты действий:

  • focus_element

  • click_element

  • invoke_element

  • set_element_value

  • send_element_keys

Инструменты действий требуют запуска сервера с SOFTAUTO_ALLOW_ACTIONS=1; Click, Invoke, SetValue и SendKeys также требуют явной передачи confirm=true при каждом вызове.

Примеры локаторов

{
  "backend": "windows-uia",
  "version": 1,
  "window": {
    "name": "业务系统",
    "class_name": "MainWindow",
    "control_type": "WindowControl"
  },
  "path": [
    {
      "automation_id": "orderPanel",
      "control_type": "PaneControl",
      "sibling_index": 0
    },
    {
      "automation_id": "saveButton",
      "name": "保存",
      "control_type": "ButtonControl",
      "sibling_index": 0
    }
  ],
  "target": {
    "automation_id": "saveButton",
    "name": "保存",
    "control_type": "ButtonControl"
  }
}

При поиске в первую очередь используется AutomationId, затем комбинируются имя, ClassName, ControlType, FrameworkId и структурный путь. ID процесса и дескриптор окна используются только как слабые подсказки, поскольку после перезапуска приложения они меняются.

Принципы маршрутизации бэкенда

Агент должен выбирать в следующем порядке:

  1. Страница браузера: Playwright MCP.

  2. Нативное ПО Windows: Windows UIA MCP, FlaUInspect для ручного исследования.

  3. Дерево элементов невидимо: OCR/поиск изображений Ui.Vision.

  4. Стабильные повторяющиеся бизнес-процессы: компилируются в workflow OpenAdapt, затем вызываются через OpenAdapt Agent MCP.

Известные ограничения

Качество доступности стандартных Win32, WPF, WinForms, UWP/Electron обычно хорошее. Следующие интерфейсы могут не возвращать осмысленное дерево элементов:

  • Интерфейсы с самостоятельной отрисовкой Canvas, DirectX/OpenGL

  • Игры и часть промышленного ПО

  • Удалённые приложения в Citrix, RDP или видеопотоках

  • Старые элементы управления без реализации Accessibility

  • ПО с правами выше, чем у процессов Inspector/MCP

Эти сценарии передаются подключённым бэкендам Ui.Vision/OpenAdapt; в этом проекте визуальный движок не реализуется повторно.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI clients to automate Windows desktop applications through window manipulation, image recognition, OCR, keyboard/mouse simulation, and memory operations via the MCP protocol.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables automation of native Windows desktop applications through screen capture, mouse/keyboard control, and waiting for UI changes, exposing them as MCP tools.
    1
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables MCP-compatible AI platforms to see the screen and operate any desktop software through real mouse clicks, text input, key presses, and scripted scenario execution.
    MIT