typesafe-computer-use CLI

CLI ведет Mac к цели из одной фразы: читает экран кодом, выбирает действия дешевой моделью, пишет текст большой.

  • 1 300 ★ репозитория
  • Последний коммит
  • MIT
CLI

Широкий доступ

Почему такой уровень

  • С флагом `--act` инструмент управляет реальной мышью и клавиатурой, начинайте с сухого прогона.
  • Скриншоты и распознанный текст экрана отправляются во внешний сервис TypeSafe, на экране не должно быть секретов.
Все причины и проверки

awlevin/typesafe-computer-use

Установка

Работает в

Ручная установка

git clone https://github.com/awlevin/typesafe-computer-use

Затем `uv sync` и `cp .env.example .env`, ключи вносит пользователь. Нужны macOS 14 и новее, Python 3.12 и разрешения терминала на запись экрана.

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • С флагом `--act` инструмент управляет реальной мышью и клавиатурой, начинайте с сухого прогона.
  • Скриншоты и распознанный текст экрана отправляются во внешний сервис TypeSafe, на экране не должно быть секретов.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

typesafe-computer-use (сокращенно jev) ведет Mac к цели, заданной обычной фразой, примерно за сотую долю цента за шаг. Экран читается детерминированно: распознавание текста Vision по окну и элементы дерева доступности. Код сам вычисляет факты, например дату блока, фокусное поле и уже опробованные действия, и передает их как состояние. Затем один запрос к решающей модели TypeSafe выбирает тип действия, элемент и сайт, а действие выполняется кодом. Большая модель подключается только тогда, когда нужно написать текст в поле или классификатор остановился и экран нужно прочитать. По замерам автора на одном скриншоте решение стоит 0,0002 доллара против 0,032 у большой модели, а полный цикл шага занимает около 1,5 секунды. Автор оговаривает, что рассуждения, которые большая модель делает даром, здесь приходится строить как код. Команда `clicker "цель"` по умолчанию делает сухой прогон из одного шага, а с флагом `--act` управляет мышью и клавиатурой до 100 шагов. Каждый запуск пишет папку `runs/` для разбора. Остановить можно Ctrl-C или движением мыши в левый верхний угол. Проект проходит тесты OSWorld.

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

Подходит, если

  • Нужно проверить, как управление компьютером по скриншотам ведет себя на длинной цепочке простых шагов.
  • Агент должен открыть сайт и дойти до нужной страницы, не расходуя дорогие токены на каждый шаг.
  • Хочется запустить сценарий в OSWorld и сравнить цену и скорость с большой моделью.
  • Нужно понять, где классификатор остановился, и разобрать запуск по папке `runs/`.
  • Задача состоит из однотипных действий в интерфейсе, которые можно свести к выбору из списка.

Не подходит, если

  • Нужна надежность на сложных сайтах с нестандартной версткой: автор называет проект бетой.
  • Нет ключа TypeSafe или нельзя отправлять скриншоты и текст экрана во внешний сервис.
  • Компьютер работает не на macOS: Windows поддержан экспериментально.

Пример запроса к агенту

Открой сайт нашей документации в Chrome и дойди до страницы с ценами. Сначала сухой прогон без флага --act.

Ограничения

Проект в бете: настройки и поведение меняются между релизами 0.x. Нужны macOS 14 и новее, Python 3.12, uv, ключ `TYPESAFE_API_KEY` и разрешения терминала на запись экрана и универсальный доступ. Ключ Anthropic нужен только для ввода текста и итогового ответа, писателя можно заменить на LM Studio, Ollama или другой совместимый сервер. Терминал виден на экране и попадает в распознавание, поэтому очистите его перед запуском.

Как отключить. Удалите клон репозитория и файл `.env` с ключами, затем отзовите разрешения терминала на запись экрана и универсальный доступ в настройках macOS.

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

Сколько стоит шаг?

По замерам автора, около 0,0002 доллара за решение классификатора, что в 155 раз дешевле решения большой модели на том же скриншоте. Актуальные цены смотрите у TypeSafe.

Что делает сухой прогон?

Один шаг без действий: команда печатает, что бы сделала. Управление включает только флаг `--act`.

Как остановить запущенный сценарий?

Нажмите Ctrl-C в терминале или резко переместите мышь в левый верхний угол экрана.

Для чего нужен ключ Anthropic?

Только для ввода свободного текста, адресов от писателя и итогового ответа. Решения принимает классификатор.

Работает ли на Windows?

Windows 10 и 11 поддержаны экспериментально, подробности в `docs/windows.md`.

Обсуждение

Вопросов и отзывов пока нет.

DesktopCtl — локальный CLI для macOS: агент смотрит на экран через OCR, кликает и печатает, облако и зрение у модели не нужны

CLIШирокий доступ71Звезды репозитория

Скилл учит агента управлять нативными приложениями Mac без API: чтение в фоне, запись без кражи фокуса, снимок каждого шага.

СкиллШирокий доступ343Звезды репозитория

MCP-сервер на Swift дает агенту управлять любым приложением macOS: кликать, печатать и читать дерево интерфейса

MCP-серверШирокий доступ358Звезды репозитория

Mano skill

Mano skill (mano-cua)

CLI и скилл для управления рабочим столом по текстовой задаче: скриншоты, клики, ввод, прокрутка, в облаке или локально на Apple Silicon

СкиллШирокий доступ47Звезды репозитория

CLI на Rust для macOS: агент читает интерфейс любого приложения через дерево доступности и кликает, печатает, листает по ссылкам на элементы без скриншотов

CLIШирокий доступ22,6 тыс.Звезды репозитория

Агент заполняет поля и выбирает пункты меню в локальном приложении, сверяясь с экраном перед действием и после него.

СкиллШирокий доступ7,6 тыс.Звезды репозитория

Коротко о README

README подает проект как цикл управления компьютером вокруг классификатора: выбирает классификатор, факты считает код, пишет только писатель. Лицензия MIT, Python 3.12.

Бейдж для README

Сообщить о проблеме