Навыки OpenClaw, автономность heartbeat и контрольные точки подтверждения
Уверенный10 мин чтенияАвтоматизация

Навыки OpenClaw, автономность heartbeat и контрольные точки подтверждения

Как OpenClaw загружает навыки, как работают периодические циклы heartbeat, как ограничить выполнение команд в оболочке хоста и как удержать автоматизацию браузера за строгой политикой и подтверждением проверенного рабочего процесса.

Что вы сможете сделать

Навыки обучают агента работать, а heartbeat даёт ему пульс. Политика exec ограничивает доступ к оболочке хоста; действиями браузера управляют политика браузера, изоляция профиля и подтверждение рабочего процесса.

Сохраняется только в этом браузере.
В этой статье

После установки OpenClaw и строгого ограничения идентификации канала (настройка, списки разрешений и привязка) переходите к следующему уровню возможностей: навыкам, периодическим циклам heartbeat, политике подтверждения команд оболочки хоста и решению, разрешена ли автоматизация браузера внутри проверенного рабочего процесса.

Якоря документации: Навыки, «Биение», Безопасность.

Heartbeat вместе с неограниченным exec на хосте или автоматизацией браузера, где хранится ценное состояние входа в учётные записи, позволяет выполнять действия без надзора с использованием открытых этой поверхности учётных данных и прав доступа. Включайте периодические циклы только после того, как политика инструментов будет соответствовать вашей модели угроз, особенно если активировать агента может какой-либо канал помимо вашего.

Навыки: что это такое

Навыки представляют собой пакеты инструкций в формате markdown (SKILL.md) с YAML-заголовком и телом, которые обучают агента, как и когда использовать инструменты. OpenClaw загружает встроенные навыки плюс локальные переопределения и фильтрует их при загрузке на основе окружения, конфигурации и наличия необходимых двоичных файлов.

Приоритет (от высшего к низшему) согласно текущей документации:

  1. Навыки рабочего пространства
  2. Навыки агента проекта
  3. Навыки личного агента (~/.agents/skills в состоянии по умолчанию)
  4. Управляемые / локальные навыки в каталоге состояния OpenClaw
  5. Встроенные навыки
  6. Дополнительные каталоги / плагины

Если одно и то же имя навыка встречается в нескольких местах, побеждает источник с более высоким приоритетом. Относитесь к папкам навыков как к доверенному коду: любой, кто может их изменить, может изменить поведение агента.

Списки разрешённых навыков, которые видит агент

Расположение (приоритет) и видимость (список разрешённых агентов) являются разными понятиями. Пример структуры из документации:

{
  agents: {
    defaults: {
      skills: ['github', 'weather'],
    },
    list: [
      { id: 'writer' },
      { id: 'docs', skills: ['docs-search'] },
      { id: 'locked-down', skills: [] },
    ],
  },
}

Исключайте списки навыков по умолчанию только тогда, когда вы намеренно хотите расширить поверхность атаки. Для личных шлюзов начинайте с узкого набора: навыки, которые вы изучили, соответствующие устанавливаемым бинарным файлам, для задач, которыми вы действительно пользуетесь.

Навыки и плагины сообщества являются частью цепочки поставок. Их установка может запускать код и расширять набор инструментов. Предпочитайте официальную документацию и навыки, которые вы проверили; используйте security.installPolicy, если вы применяете управляемые оператором решения о разрешении или блокировке на стороне хоста.

Навыки, размещённые на узле, появляются только тогда, когда связанный узел подключён. Их файлы, указанные пути и двоичные файлы остаются на этом узле, а для выполнения используется exec host=node node=<node-id>. Первичная привязка роли узла подтверждает публикацию навыков; последующие изменения навыка требуют перезапуска узла, а не повторной привязки. Выполнение по-прежнему регулируют политика exec агента и локальная политика подтверждений на хосте узла.

Heartbeat: пульс, а не второй мозг

Heartbeat выполняет периодические ходы агента в основном сеансе, чтобы модель могла выявлять любые вопросы, требующие внимания, без спама. Это запланированный ход основного сеанса, а не запись фоновой задачи.

Значения по умолчанию (проверьте в вашей версии):

  • Интервал часто составляет 30m (при настройке OAuth или токена Anthropic значение по умолчанию может быть выше, если оно не задано; в таком случае документация указывает 1h)
  • Установите agents.defaults.heartbeat.every (используйте 0m для отключения)
  • Текст по умолчанию указывает агенту следовать черновикам мониторинга Heartbeat, а не изобретать повторяющуюся работу на основе старых чатов, и отвечать HEARTBEAT_OK, когда нет ничего, требующего внимания

Пример:

{
  agents: {
    defaults: {
      heartbeat: {
        every: '30m',
        target: 'none',
        lightContext: true,
        isolatedSession: true,
        // activeHours: { start: "08:00", end: "22:00" },
      },
    },
  },
}

Практические рекомендации:

  • Сохраняйте target: "none", пока вам не нужны доставки; устанавливайте target: "last" только тогда, когда вы принимаете уведомления от последнего контакта.
  • Используйте activeHours, чтобы ночные импульсы оставались тихими в вашем часовом поясе.
  • Размещайте повторяющуюся работу в автоматизациях / cron-задачах, а не в условностях черновика heartbeat; документация по heartbeat подчёркивает это различие.
  • Запланированные Heartbeat требуют включенных автоматизаций; если cron отключен, запланированные Heartbeat не запускаются.

Контракт ответа: HEARTBEAT_OK (в начале/конце) рассматривается как подтверждение получения и подавляется, когда оставшийся контент короткий. Уведомления должны исключать HEARTBEAT_OK и возвращать только текст уведомления.

Ходы Heartbeat по-прежнему используют любые инструменты, доступные агенту. «Безопасная проверка» с разрешением exec все равно представляет собой запланированную возможность для внедренного в промпт контента в памяти или загруженных страниц запрашивать действия оболочки. Сочетайте Heartbeat с политиками запрета/запроса инструментов.

Контрольные точки одобрения для оболочки и браузера

Модель безопасности OpenClaw рассматривает одобрение выполнения (exec approvals) как ограничитель намерений оператора, а не как изоляцию для враждебной многопользовательской среды. Тем не менее, для личных шлюзов именно это является разницей между «спросить меня» и «просто выполнить».

Выполнение (Exec)

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

  • tools.exec.mode является канонической сохраняемой политикой exec на хосте: deny, allowlist, ask, auto или full.
  • auto передаёт запросы, не прошедшие политику подтверждения, встроенному проверяющему OpenClaw до резервного обращения к человеку. Это удобный путь, а не доказательство безопасности команды.
  • При выполнении на шлюзе и узле также учитывается локальный документ подтверждений на хосте выполнения. Действует более строгая политика из конфигурации и этого локального документа.
  • askFallback применяется, когда требуется запрос подтверждения, но интерфейс недоступен или время ожидания истекло. По умолчанию используется deny; сохраните это значение, чтобы потеря маршрута подтверждения не расширила доступ.
  • Списки разрешений задаются отдельно для каждого агента. Используйте узкие пути к исполняемым файлам и при необходимости argPattern; strictInlineEval добавляет эшелон защиты, если в списке разрешений есть интерпретаторы.
  • tools.exec.host: "auto" выбирает песочницу, когда она активна, а в остальных случаях шлюз. Выполнение на узле требует связанного узла и его собственного локального состояния подтверждений.

Начните с tools.exec.mode: "deny" либо с mode: "ask" и не менее строгого локального документа подтверждений на хосте, если вам нужны запросы, а инструменты с повышенными правами оставьте отключёнными. В противном случае выполнение на хосте шлюза и узла по умолчанию использует full, а выполнение на хосте песочницы по умолчанию запрещено. Ужесточите политику хоста до того, как каналы, навыки или heartbeat расширят возможный масштаб ущерба.

Вызов system.run на связанном узле Mac означает удалённое выполнение кода на этом Mac. Привязка не является подтверждением каждой команды; границу выполнения образуют политика команд узла на шлюзе и собственные подтверждения exec на узле. Чтобы отключить удалённое выполнение команд оболочки, установите запрошенный режим exec в deny и сохраните строгую локальную политику подтверждений на узле либо удалите роль узла и привязку, если они вам не нужны.

Браузер

Управление браузером представляет собой поверхность уровня оператора (навигация, чтение страниц, оценка). Относитесь к удаленному доступу браузера/CDP как к доступу оператора: петлевой интерфейс или специально защищенный частный путь, без публичной конечной точки CDP/управления. Используйте выделенный профиль браузера openclaw, который изолирован от вашего повседневного профиля браузера, и держите плагин/инструмент браузера отключенным до тех пор, пока проверенная задача не потребует его использования. Одобрения выполнения не создают границу одобрения браузера для каждого клика; требуйте подтверждения человеком в рабочем процессе перед существенными отправками, покупками, публикациями или изменениями учетных записей.

Инъекция промптов через загруженные страницы является риском первого порядка. Политика разрешения и запрета инструментов, изоляция профиля браузера, явное подтверждение рабочего процесса и песочница уменьшают возможный масштаб ущерба, но не отменяют необходимость списков разрешённых каналов.

Расширенные инструменты

tools.elevated обходит песочницу. Держите allowFrom строгим. Не включайте расширенный режим для незнакомцев или широких групп каналов.

Разумная лестница автономии

ЭтапНавыкиПериодическая проверка (Heartbeat)Выполнение / браузер
0: только чатнет / профиль сообщенийотключено (0m)mode: deny
1: с участием пользователянесколько проверенных навыковотключеноmode: ask; браузер отключён
2: лёгкий пульсте жеот 30 мин до 1 ч, target: none, активные часыmode: ask; браузер отключён
3: операционная помощьнавыки из списка разрешенийотправляет уведомления только вамmode: allowlist или ask; изолированный браузер только для проверенных задач
4: широкая автономностьтолько с аудитомтолько с песочницей и списками запретовmode: full только для единственного оператора без открытых личных сообщений

Переходите на следующий этап только после openclaw security audit и достаточного количества успешных запусков, чтобы протестировать обычную работу, пути отказа, таймауты одобрения и восстановление. Фиксированное количество дней не является доказательством безопасности.

Написание небольшого внутреннего навыка

Минимально полезный навык представляет собой папку, содержащую SKILL.md:

---
name: disk-check
description: Проверять использование диска на хосте шлюза по запросу о диске или ёмкости.
---

Когда пользователь спрашивает о свободном месте на диске этого хоста:

1. Выполните только разрешённый политикой exec вызов `df` из списка разрешений.
2. Кратко опишите использование файловой системы в трёх пунктах.
3. Не устанавливайте пакеты и не удаляйте файлы.

Сохраняйте описание конкретным, чтобы агент знал, когда использовать навык. Сочетайте его с узким режимом exec, проверенными правилами команд и аргументов для каждого агента, параметром strictInlineEval, а также с песочницей или изоляцией на уровне операционной системы. Эти меры сокращают поверхность команд, но не доказывают, что разрешённый интерпретатор или вспомогательная программа не способны выполнить разрушительное действие. Предпочитайте контролируемые вами навыки рабочего пространства каждому пакету ClawHub, который кажется удобным.

Что помещать в черновик heartbeat (и чего не следует)

Используйте черновик мониторинга heartbeat (openclaw cron scratch <jobId> --set "...") как краткий контрольный список, а не как вторую базу данных задач:

Хорошо: «Если диск > 90% на хосте шлюза, уведомить. Если ничего нет, HEARTBEAT_OK». Плохо: «Не забудьте завершить дорожную карту Q3, отправить письмо Алисе, рефакторить агента и собрать цены конкурентов».

Периодические задачи должны выполняться автоматизациями с собственным расписанием. Если heartbeat заново извлекает задачи из старых чатов, незаметная установка постепенно становится шумной и дорогой.

Тестирование одобрений перед доверием им

  1. Для безопасно закрывающегося теста установите tools.exec.mode в deny, а если хотите проверить запрос, используйте ask вместе с не менее строгим локальным документом подтверждений на хосте.
  2. Из личного сообщения, внесённого в список разрешений, попросите агента запустить uname или эквивалентную безвредную проверку.
  3. Убедитесь, что получили чистый отказ или запрос подтверждения, а не незаметное успешное выполнение.
  4. При проверке запросов дождитесь истечения времени одного запроса либо сделайте интерфейс недоступным и убедитесь, что askFallback: "deny" блокирует его. Если действующая политика ask равна always, убедитесь, что следующая отличающаяся команда снова требует подтверждения.
  5. Если узел связан, повторите тест для отдельно сохранённой политики подтверждений этого узла.
  6. От имени, не внесённого в список разрешений, убедитесь, что путь к инструменту отсутствует.

Если шаг 3 завершается успешно без настроенного ограничения, проверьте и запрошенный режим exec, и локальный документ подтверждений на хосте выполнения до включения heartbeat.

Комбинируйте с n8n, когда задача представляет собой запланированную инфраструктуру

Heartbeat предназначен для проверок, требующих оценки агента. Детерминированные опросы SaaS, повторные попытки и этапы подтверждения человеком часто относятся к n8n (идемпотентность и этапы подтверждения человеком, передача через API или вебхук Hermes). Используйте OpenClaw, когда интерфейсом служит чат, и n8n, когда интерфейсом служат системы.

Контрольный список оператора

  • Списки разрешённых навыков проверены; неиспользуемые навыки удалены
  • В каталоги ненадёжных навыков нет записи у других пользователей
  • Интервал heartbeat и активные часы настроены осознанно
  • Целевой канал heartbeat не спамит в групповые каналы
  • tools.exec.mode имеет значение deny или ask, а локальный документ подтверждений на хосте выполнения не менее строг
  • Браузер/поиск/fetch выключены, если не требуются
  • Привилегированные инструменты выключены
  • Путь подтверждения протестирован на безопасной команде
  • Аудит перезапускается после каждого повышения автономности

Навыки делают агента компетентным, а heartbeat позволяет ему действовать вовремя. Строгая политика exec, политика браузера, песочница и контроль идентификации канала снижают вероятность того, что компетентность и своевременность приведут к действиям на хосте без надзора. Меняйте настройки именно в этом порядке и только в той степени, которую оправдывает ваша модель угроз.

Читать дальше

Продолжайте тот же учебный путь со следующими практическими статьями.

Углубиться

Тщательно подобранные внешние курсы, которые глубже раскрывают эту тему.

DeepLearning.AI

Practical Multi AI Agents and Advanced Use Cases with crewAI

João Moura (Founder, CrewAI)

Одновременно закрывает вертикали продаж и клиентской поддержки и даёт по-настоящему практичный курс по агентам: вы строите агентный пайплайн продаж (скоринг лидов, персонализированный аутрич) и пайплайн инсайтов по данным поддержки — два из пяти практических проектов, — а преподаёт основатель CrewAI. Требует базового Python, поэтому стоит рядом с другими курсами builder-трека, а не с no-code выбором.

Уверенный~2h 49m · в своём темпе (15 уроков)
Hugging Face

AI Agents Course

Hugging Face

Самое понятное открытое изложение агентных систем. Курс не привязан к одному вендору: он рассматривает фреймворки, которые инженеры реально сравнивают, включая smolagents, LlamaIndex и LangGraph.

Уверенный~25 часов
Salesforce Trailhead

Quick Start: Assemble a Service Agent with Agentforce Builder

Salesforce Trailhead

Курс по no-code сборке агентов, которого не хватало нашему среднему уровню — каждый существующий средний выбор (LangChain, LlamaIndex, LangGraph, Hugging Face) предполагает, что вы пишете на Python. Здесь вы настраиваете реального сервисного агента, описывая желаемое простым языком в Agentforce Builder — без кода — на собственной бесплатной платформе Salesforce Trailhead.

Уверенный~40 минут · в своём темпе

Все курсы в категории «Автоматизация»