typesafe-computer-use CLI
CLI ведет Mac к цели из одной фразы: читает экран кодом, выбирает действия дешевой моделью, пишет текст большой.
- 1 300 ★ репозитория
- Последний коммит
- MIT
Широкий доступ
Почему такой уровень
- С флагом `--act` инструмент управляет реальной мышью и клавиатурой, начинайте с сухого прогона.
- Скриншоты и распознанный текст экрана отправляются во внешний сервис TypeSafe, на экране не должно быть секретов.
Установка
- Работает в
Ручная установка
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`.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыDesktopCtl — локальный CLI для macOS: агент смотрит на экран через OCR, кликает и печатает, облако и зрение у модели не нужны
Скилл учит агента управлять нативными приложениями Mac без API: чтение в фоне, запись без кражи фокуса, снимок каждого шага.
MCP-сервер на Swift дает агенту управлять любым приложением macOS: кликать, печатать и читать дерево интерфейса
Mano skill
Mano skill (mano-cua)
CLI и скилл для управления рабочим столом по текстовой задаче: скриншоты, клики, ввод, прокрутка, в облаке или локально на Apple Silicon
CLI на Rust для macOS: агент читает интерфейс любого приложения через дерево доступности и кликает, печатает, листает по ссылкам на элементы без скриншотов
Агент заполняет поля и выбирает пункты меню в локальном приложении, сверяясь с экраном перед действием и после него.
Коротко о README
README подает проект как цикл управления компьютером вокруг классификатора: выбирает классификатор, факты считает код, пишет только писатель. Лицензия MIT, Python 3.12.