Claude for Safari — навык, который даёт AI-агенту контроль над вашим Safari

· 1 мин чтения
ai-agents skills browser-automation claude-code automation
📂 Исходный код на GitHub

Навык для AI-агентов: управление реальным Safari на macOS через AppleScript и JavaScript. Список вкладок, чтение страниц, выполнение JS, скриншоты, клики, заполнение форм. Без расширений, прокси и отдельных браузеров. MIT.

Claude for Safari — навык, который даёт AI-агенту контроль над вашим Safari

Хотите, чтобы AI-агент работал с браузером — но не с отдельным экземпляром Playwright и не через Chrome-расширение, а именно с вашим настоящим Safari, как если бы это делали вы сами? Навык Claude for Safari решает ровно эту задачу. Установка занимает одну команду, а дальше агенту можно сказать «покажи, что открыто в моём Safari» — и он прочитает и начнёт управлять вашим реальным браузером.

Проблема, которую решает навык

Любая попытка поручить AI-агенту браузерные задачи упирается в одну из трёх проблем:

  • Playwright — запускает отдельный экземпляр браузера и перехватывает вашу сессию
  • Claude for Chrome — требует Chrome-расширение и не работает с Safari
  • Copy & paste — приходится вручную каждый раз подкармливать агента содержимым страницы

Всё, что нужно на самом деле — чтобы AI использовал ваш Safari так, как будто вы делаете это сами. Claude for Safari как раз это и обеспечивает.

Установка

Команда установки стандартная для навыков:

npx skills add SDLLL/claude-for-safari

После этого запускаем агента:

claude

и говорим «покажи, какие вкладки открыты в Safari». Агент сам проведёт через настройку разрешений.

Навык совместим с любым AI-агентом, поддерживающим Skills: Claude Code, Cursor, Windsurf и другие.

Настройка разрешений при первом запуске

Агент умеет автоматически определять, чего не хватает, и подсказывать, но можно настроить заранее:

  1. System Settings > Privacy & Security > Automation → разрешить терминалу управлять Safari
  2. Safari > Settings > Advanced → включить «Show features for web developers»
  3. Safari > Develop menu → отметить «Allow JavaScript from Apple Events»
  4. (Опционально) System Settings > Privacy & Security > Screen Recording → разрешить терминалу или хосту агента (обеспечивает надёжные фоновые скриншоты)
  5. (Опционально) System Settings > Privacy & Security > Accessibility → нужно только для кликов и ввода с клавиатуры через System Events

Возможности

Никаких расширений браузера, прокси и постоянных демонов. Ядро использует нативные возможности macOS; опциональные хелперы для окон требуют установленного Swift-тулчейна.

Возможность Что делает агент Как реализовано
Список вкладок Перечисляет все окна и вкладки с заголовками и URL AppleScript
Чтение страниц Извлекает текст, структурированные данные, упрощённый DOM AppleScript + JavaScript
Выполнение JS Запускает произвольный JavaScript в контексте страницы AppleScript do JavaScript
Скриншот Снимает окно Safari — агент может «видеть» страницу screencapture
Навигация Открывает URL, новые вкладки, новые окна AppleScript
Клик Кликает по элементам (совместимо с React/Vue/Angular) JavaScript dispatchEvent
Ввод текста Заполняет формы, симулирует ввод с клавиатуры JavaScript + System Events
Безопасное заполнение форм Находит поля и заполняет поддерживаемые нечувствительные контролы с проверкой каждого поля Встроенный JavaScript + JXA
Наблюдение за сетью Наблюдает за отредактированными метаданными fetch/XHR на уровне страницы; тела запросов — только по явному согласию Встроенный JavaScript
Индикатор управления Показывает, что агент меняет страницу, и убирает следы после Встроенный JavaScript
Скролл Прокручивает вверх/вниз, до конкретного элемента JavaScript scrollBy/scrollTo
Переключение вкладок Переключается по индексу или ключевому слову в URL AppleScript
Ожидание загрузки Ждёт полной загрузки страницы JavaScript readyState

Режимы скриншотов

Режим Требуемое разрешение Переключение окон Когда использовать
Фоновый Screen Recording Не требуется Рекомендуемый, без помех
Видимый пользователю Зависит от политики macOS Да Запасной, когда фоновый недоступен

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

Claude Code ──osascript──► Safari (читает и управляет вашим реальным браузером)
     │
     └──screencapture──► скриншот ──► Claude видит страницу

Никаких расширений, прокси-серверов и фоновых служб. Навык использует AppleScript, JavaScript на странице, screencapture и опциональные встроенные хелперы. Инжектируемые на страницу хелперы могут обнаруживаться сайтами и удаляются после использования.

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

Вопрос «не натворит ли ИИ лишнего» в README закрыт явно:

  • Требуется подтверждение цели (target verification) перед действиями
  • Сохраняются системные диалоги подтверждения сайтов
  • Чувствительные поля форм исключаются
  • Запрос авторизации перед значимыми действиями
  • Политика разрешений вашего хоста агента всё равно применяется

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

Что нужно устанавливать? Ядро работает без расширений и отдельного браузер-автоматизатора. Используются нативные AppleScript и screencapture; компиляция опционального хелпера для нескольких окон требует swiftc / Command Line Tools.

Поддерживает ли Chrome, Firefox, Arc? Только Safari. Для других браузеров — Playwright MCP или Chrome ACP. Safari — единственный браузер на macOS с полной поддержкой автоматизации через AppleScript.

Окно мигает при скриншотах? Дайте терминалу или хосту агента разрешение Screen Recording для надёжного фонового захвата. Без него используйте видимый пользователю сценарий и проверяйте итоговое изображение.

Итог

Claude for Safari — редкий пример навыка, который закрывает конкретную боль: работа с настоящим браузером пользователя без костылей. Одна команда установки, нативные механизмы macOS вместо расширений и встроенные предохранители — всё, чтобы агент мог «пользоваться Safari как вы». Полезно всем, кто на macOS и хотел бы поручить агенту браузерные задачи — от проверки вкладок до заполнения форм.

Источник: https://github.com/SDLLL/claude-for-safari