Nodes and media

Управление компьютером

Управление компьютером позволяет агенту Gateway видеть и контролировать сопряжённый рабочий стол macOS: он делает снимок экрана с помощью существующей команды узла screen.snapshot и управляет указателем и клавиатурой через единственную опасную команду узла computer.act. Набор действий соответствует основным действиям Anthropic для управления компьютером; необязательное масштабирование computer_20251124 недоступно. Модель с поддержкой компьютерного зрения управляет компьютером через встроенный инструмент агента computer.

Агент отправляет единую унифицированную команду computer.act; он не может определить, как узел её выполняет. Узел macOS выполняет computer.act внутри процесса с помощью встроенных служб Peekaboo и ограниченного набора примитивов CoreGraphics (при наличии необходимых разрешений TCC, без дополнительного процесса). В будущем другие платформы смогут выполнять ту же команду без изменения контракта, доступного агенту.

Требования

  • Сопряжённый узел macOS (приложение OpenClaw для macOS, работающее в режиме узла).
  • В приложении macOS включён параметр Allow Computer Control (по умолчанию выключен).
  • Приложению OpenClaw предоставлено разрешение macOS Accessibility (для управления указателем и ввода с клавиатуры), а также разрешение Screen Recording (для screen.snapshot).
  • Команда computer.act активирована в Gateway (она опасна и по умолчанию деактивирована).
  • Модель агента с поддержкой компьютерного зрения.
  • Политика инструментов, предоставляющая доступ к computer. Профиль coding по умолчанию этого не делает. Добавьте computer в tools.alsoAllow; агентам в песочнице также требуется добавить его в tools.sandbox.tools.alsoAllow.

Инструмент агента computer

Встроенный инструмент computer принимает одно действие за вызов. Координаты задаются неотрицательными целыми числами пикселей на последнем снимке экрана; узел преобразует их в точки дисплея. Действия с координатами должны передавать полученное со снимком экрана значение frameId, а явно указанный screenIndex должен соответствовать этому кадру. OpenClaw также передаёт из снимка экрана в действие выданный узлом идентификатор дисплея, поэтому при повторном подключении дисплея или изменении его геометрии операция безопасно завершается ошибкой, а не перенаправляется незаметно на тот же индекс. Эти проверки отклоняют угаданные токены, а также токены из другого доставленного кадра или с другого дисплея. Токен не гарантирует актуальность: приложения могут изменить пиксели на том же дисплее после захвата, поэтому делайте новый снимок экрана всякий раз, когда изображение могло измениться.

  • Чтение: screenshot.
  • Указатель: left_click, right_click, middle_click, double_click, triple_click, mouse_move, left_click_dragstartCoordinate), left_mouse_down, left_mouse_up.
  • Прокрутка: scroll с scrollDirection (up|down|left|right) и scrollAmount (шаги колеса).
  • Клавиатура: type (текст), key (сочетание клавиш, например cmd+shift+t или Return), hold_key (сочетание text удерживается в течение duration секунд).
  • Задержка: wait (duration секунд).

Клавиши-модификаторы передаются в поле text действий щелчка и прокрутки (shift, ctrl, alt, cmd). После действия ввода инструмент возвращает новый снимок экрана, чтобы модель могла увидеть результат. Если подключено несколько узлов с возможностью управления компьютером, явно передайте node.

Снимки экрана доступны только модели: они никогда не отправляются автоматически в канал чата. Считайте всё содержимое экрана недоверенным вводом; инструмент предупреждает модель не следовать инструкциям на экране, противоречащим запросу пользователя.

Команда узла computer.act

computer.act — единственная команда узла, через которую инструмент направляет ввод (node.invoke с command: "computer.act"). Она:

  • Опасна по умолчанию: включена в список встроенных опасных команд узла и исключена из списка разрешённых команд среды выполнения до явной активации. Узел macOS всё равно может объявить её при сопряжении, чтобы доступ к этой возможности был однократно одобрен.
  • На данный момент доступна только в macOS: её объявляет только узел macOS, в котором включён параметр Allow Computer Control.

Для чтения повторно используется screen.snapshot; отдельного пути захвата нет. Общая команда захвата описана в разделе Узлы камеры и экрана.

Включение и активация

  1. В приложении macOS включите Settings → Allow Computer Control. Затем откройте Settings → Permissions и предоставьте разрешения Accessibility и Screen Recording в системных настройках macOS.

  2. Одобрите обновление сопряжения в Gateway (добавление новой команды требует повторного сопряжения).

  3. Предоставьте доступ к инструменту агенту с поддержкой компьютерного зрения. Для профиля coding по умолчанию:

    json5
    {  tools: {    alsoAllow: ["computer"],    // Агентам в песочнице также требуется этот второй уровень допуска:    sandbox: { tools: { alsoAllow: ["computer"] } },  },}
  4. Активируйте computer.act на ограниченный период. Плагин phone-control предоставляет группу computer:

    text
    /phone arm computer 30m/phone status/phone disarm

    Для активации требуется operator.admin (либо роль владельца); доступ автоматически прекращается по истечении срока. Устаревшая группа /phone arm all намеренно не включает управление рабочим столом; используйте явную группу computer. Активация определяет только то, что Gateway может вызывать; приложение macOS по-прежнему применяет свой параметр Allow Computer Control и разрешения ОС.

Для постоянной авторизации добавьте computer.act в gateway.nodes.allowCommands и удалите его из gateway.nodes.denyCommands; список запретов имеет приоритет. Срок постоянной авторизации не истекает автоматически. Записи, уже существовавшие до /phone arm, сохраняются после /phone disarm; не преобразуйте временное разрешение в постоянное, пока оно активно.

Авторизация намеренно разделена на включение и использование. Для активации или постоянной настройки computer.act требуются административные полномочия. После активации прошедший аутентификацию оператор с operator.write может вызывать computer.act через node.invoke, пока не истечёт срок разрешения или оно не будет деактивировано; отдельная проверка прав администратора для каждого действия не выполняется. Одобрение узла, объявляющего computer.act, лишь регистрирует эту возможность для последующей активации и само по себе не разрешает вызовы.

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

  • До авторизации требуется согласованное разрешение на каждом уровне (политика инструментов, политика команд Gateway, параметр macOS, Accessibility и Screen Recording). После активации действия выполняются без подтверждения каждого отдельного действия до истечения срока или /phone disarm.
  • Текст вводится по одной графеме. Отмена, отключение, приостановка, деактивация или замена конечной точки останавливает ввод перед следующей графемой, не позволяя оставшейся устаревшей части продолжить ввод.
  • Снимки экрана доступны только модели и никогда не отправляются автоматически в чат (проблема #44759).
  • Считайте содержимое экрана недоверенным: оно может содержать инъекцию промпта.

Связь с другими способами управления рабочим столом

Это способ управления агентом. О том, как он связан с хостом PeekabooBridge, Codex Computer Use и прямым MCP cua-driver, см. в разделе Мост Peekaboo.

Was this useful?
On this page

On this page