🖱️
Desktop, Автоматизация, OCR

macOS авто-клик — OCR-распознавание, до 10 мониторов, GUI Apple-стиль

Внутренний инструмент

Приложение для macOS: OCR-распознавание диалогов, авто-подтверждение, мультимониторная поддержка до 10 экранов. Смотреть кейс →

🟢 Малый🚀 В работе🟢 Внутренний🧠 AI🔒 Проприетарный2 недели
Python 3.12PyQt6Tesseract OCRmacOSComputer Vision

О проекте

Десктопное приложение для macOS, которое автоматически находит и нажимает кнопки подтверждения в диалоговых окнах. Использует Tesseract OCR для распознавания текста на экране, поддерживает несколько мониторов, имеет современный GUI и систему автоочистки временных файлов.

850+
строк Python
10
макс. мониторов
10сек
цикл сканирования
4
типа диалогов

Функциональность

👁️

OCR-распознавание

Tesseract распознаёт текст на скриншотах экрана, находит диалоговые окна и кнопки подтверждения.

🖥️

Мультимониторность

Сканирует все подключённые дисплеи через macOS Quartz API, отдельная статистика для каждого монитора.

🎨

GUI в стиле Apple

Современный интерфейс PyQt6: статус, счётчики кликов, выбор мониторов, системный трей с уведомлениями.

🧹

Автоочистка

Автоматическое удаление debug-скриншотов и временных файлов. Фоновый сервис очистки.

⌨️

Умный ввод

Учитывает раскладку клавиатуры, использует безопасный ввод букв для подтверждения (a/y/1/2).

📦

Готовое приложение

Упакованный AutoConfirm.app для macOS — установка и запуск одним кликом.

Ключевые процессы

Пользовательские сценарии и потоки данных

Цикл сканирования

Основной цикл работы приложения каждые 10 секунд.

Захват скриншотов
OCR-распознавание
Поиск диалогов
Поиск кнопок
Авто-клик
Очистка

Приоритет кнопок

Логика выбора кнопки для нажатия.

Always (ввод a)
Yes (ввод y)
Опция 2 (ввод 2)
Опция 1 (ввод 1)

Технологический стек

Язык

  • Python 3.12+
  • Type Hints
  • Dataclasses

GUI

  • PyQt6
  • QThread
  • System Tray

OCR

  • Tesseract
  • pytesseract
  • OpenCV

macOS API

  • Quartz
  • PyAutoGUI
  • AppleScript

Объём кода

850+
строк кода
840
Основная логика (main.py)
500
GUI (autoconfirm_gui.py)
200
Утилиты очистки
🔐

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

  • Требует разрешения Accessibility в macOS
  • Требует разрешения Screen Recording
  • Работает только с локальными диалогами
  • Не передаёт данные вовне
🤖

AI-функции

  • OCR-распознавание текста на экране
  • Поиск паттернов диалоговых окон
  • Определение координат кнопок
  • Приоритизация вариантов подтверждения

⚠️Проблема

При работе с AI-ассистентами и терминальными командами часто появляются диалоговые окна подтверждения.

Ручное подтверждение прерывает рабочий процесс и снижает продуктивность.

Существующие решения не поддерживают мультимониторные конфигурации.

Нужен инструмент, который работает в фоне и автоматически подтверждает разрешённые действия.

💡Решение

OCR-распознавание с помощью Tesseract: поиск текста "Allow command?", "Do you want to" и кнопок подтверждения.

Мультимониторная поддержка: сканирование всех подключённых дисплеев через Quartz API.

Приоритетная система кликов: Always (приоритет 1) → Yes (приоритет 2) → опция 2 → опция 1.

GUI в стиле Apple: современный интерфейс с выбором мониторов, статистикой кликов, системным треем.

Автоочистка: удаление debug-скриншотов и временных файлов каждые 5 минут.

Готовое .app: упакованное macOS-приложение для запуска одним кликом.

Результаты

  • Автоматическое подтверждение диалогов без вмешательства пользователя.
  • Поддержка до 10 мониторов одновременно.
  • Работа в фоновом режиме с минимальным потреблением ресурсов.
  • Статистика кликов по каждому монитору.

Вот представьте...

История одного запроса

📋
2 часа ночи

Вы запустили AI-агента на большую задачу. Он работает, вы пошли спать. Просыпаетесь — а он висит. "Allow command?" Ждёт уже 4 часа. Ночь потеряна.

😤
Или так

Вы на созвоне, делитесь экраном. AI что-то делает в терминале на втором мониторе. Всплывает окно — вы не видите. Агент встал. Коллеги ждут. Неловко.

Простое решение

Маленькая программа в трее. Сканирует все мониторы. Видит "Allow?" — сама нажимает. Вы спите, вы на созвоне, вы в душе — агент работает.

🔮
Мелочь, а приятно

Утром смотрите статистику: "147 авто-кликов за ночь". Агент сделал работу. Вы выспались. Все довольны.

Глоссарий AI-терминов

Ключевые понятия для понимания проекта

GEO-оптимизация(GEO)

Оптимизация контента для AI-поисковиков (ChatGPT, Perplexity, Claude).

AI-агенты(AI-AGENTS)

Автономные AI-системы, выполняющие задачи самостоятельно без контроля человека.

E-E-A-T(EEAT)

Критерии Google: опыт, экспертиза, авторитетность, надёжность. Важны для SEO и GEO.

LLM (Large Language Model)(LLM)

Нейросеть для понимания и генерации текста (GPT-4, Claude, Gemini).

RAG (Retrieval-Augmented Generation)(RAG)

Технология для работы AI с вашими данными: документами, базами знаний.

Промпт (Prompt)(PROMPT)

Текстовая инструкция для AI. Качество промпта = качество результата.

MVP (Minimum Viable Product)(MVP)

Минимальная версия продукта для проверки гипотезы на пользователях.

Технологический стек(TECH-STACK)

Набор технологий проекта: языки, фреймворки, базы данных, облако.

Интеграция(INTEGRATION)

Связывание AI с системами компании: CRM, ERP, 1C, мессенджеры.

Развёртывание (Deployment)(DEPLOYMENT)

Запуск решения в production с мониторингом и масштабированием.

Частые вопросы

Безопасно ли автоматически подтверждать системные диалоги?

Приложение работает только с заранее определёнными типами диалогов (Allow command, Do you want to) и требует явных разрешений Accessibility и Screen Recording в macOS. Оно не передаёт данные вовне и работает полностью локально.

Какие системные разрешения требуются для работы?

Необходимы два разрешения в System Preferences → Security & Privacy: Accessibility (для симуляции кликов) и Screen Recording (для захвата скриншотов и OCR-распознавания).

Поддерживается ли работа с несколькими мониторами?

Да, приложение поддерживает до 10 мониторов одновременно через macOS Quartz API. Каждый монитор сканируется отдельно, ведётся статистика кликов по каждому дисплею.

Сколько ресурсов потребляет приложение в фоне?

Минимально. Цикл сканирования запускается каждые 10 секунд, скриншоты удаляются автоматически. В режиме ожидания приложение практически не нагружает систему.

Нужен похожий проект?

Расскажите о вашей задаче — обсудим, как мы можем помочь. Рекомендации предоставляем по запросу.

Обсудить проект
Автор материала
Сергей Цветков
Основатель «ДИДЖИТАЛ-ПРО ТЕХ» (Digital-Pro Tech)
20 лет в IT и бизнесе. 150+ проектов по внедрению AI и BI. Практический опыт, а не теория.
Опубликовано: 5 января 2025
Обновлено: 14 января 2026