Plugin guides

Plugin журнала событий

Plugin Logbook превращает активность на экране в автоматический рабочий журнал. Он периодически делает снимки экрана с сопряжённого Node, преобразует их в наблюдения с временными метками и формирует карточки временной шкалы в Control UI. Он также может создавать заметки для ежедневного стендапа и отвечать на вопросы об отслеживаемом дне.

Состояние, принадлежащее OpenClaw, остаётся на Gateway в <state-dir>/logbook/, однако обработка моделями не обязательно выполняется локально. Отобранные снимки экрана отправляются по настроенному маршруту модели компьютерного зрения, а наблюдения и текст временной шкалы — стандартной модели агента. Используйте локальные маршруты моделей для обоих этапов, если содержимое экрана и производный текст об активности должны оставаться на компьютере.

Logbook входит в комплект поставки и по умолчанию отключён. Включение Plugin разрешает Gateway захватывать экран, поскольку значение captureEnabled по умолчанию равно true.

Перед началом

Вам потребуются:

  • Подключённый Node, предоставляющий screen.snapshot или logbook.snapshot. Для Node приложения macOS требуется разрешение Screen Recording. Безголовый хост Node macOS (openclaw node host run) получает предоставляемую Plugin команду logbook.snapshot, использующую системный инструмент screencapture.
  • Включённый и аутентифицированный встроенный Plugin Codex. В настоящее время Codex предоставляет контракт структурированного извлечения данных из изображений, необходимый Logbook. Войдите с помощью openclaw models auth login --provider openai; другие способы аутентификации см. в разделе Среда выполнения Codex.
  • Рабочая стандартная модель агента. Logbook использует её после обработки изображений для создания карточек, заметок для стендапа и ответов на вопросы о дне.

Быстрый старт

Включите плагины Codex и Logbook:

bash
openclaw plugins enable codexopenclaw plugins enable logbook

Настройте явную модель компьютерного зрения для детерминированного запуска:

json5
{  plugins: {    entries: {      codex: {        enabled: true,      },      logbook: {        enabled: true,        config: {          visionModel: "codex/gpt-5.6-sol",        },      },    },  },}

Если вы используете plugins.allow, включите в него codex и logbook. Перезапустите Gateway после изменения конфигурации Plugin, затем проверьте регистрации и откройте панель управления:

bash
openclaw gateway restartopenclaw plugins inspect logbook --runtime --jsonopenclaw nodes status --connectedopenclaw nodes describe --node <idOrNameOrIp>openclaw dashboard

Описание Node должно содержать screen.snapshot или logbook.snapshot. Безголовые Node объявляют logbook.snapshot только после активации Plugin. Если команда отсутствует, см. Устранение неполадок Node.

Вкладка Logbook отображается только при включённом Plugin и сеансе Control UI с областью operator.write. В строке состояния должно отображаться Захват выполняется без ошибки. Карточка временной шкалы появляется после закрытия окна анализа; также после захвата активности можно выбрать Анализировать сейчас.

Принцип работы

  1. Захват: каждые captureIntervalSeconds (по умолчанию 30 с) Logbook вызывает команду захвата выбранного Node и сохраняет масштабированный кадр JPEG. Последовательные одинаковые кадры помечаются как простой и исключаются из анализа.
  2. Наблюдение: после завершения окна анализа (по умолчанию 15 минут) Plugin выбирает до 16 активных кадров и отправляет их модели компьютерного зрения, которая возвращает наблюдения об активности с временными метками («VS Code: редактирование store.ts, исправление ошибки типа»). Разрыв в захвате более двух минут или наступление полуночи по местному времени также закрывает текущее окно.
  3. Синтез: наблюдения вместе с существующими карточками за последние 45 минут преобразуются в карточки временной шкалы (по 10–60 минут каждая) с заголовком, сводкой, категорией, основным приложением и сведениями о кратковременных отвлечениях.
  4. Очистка: кадры старше retentionDays (по умолчанию 14) удаляются. Карточки, наблюдения и кэшированные стендапы сохраняются.

Границы дней и время на временной шкале определяются по локальному часовому поясу Gateway, а не браузера. Кадры и база данных временной шкалы SQLite хранятся в <state-dir>/logbook/.

Модели и поток данных

Logbook использует два отдельных маршрута моделей:

Этап Отправляемые данные Маршрут модели
Наблюдение До 16 выбранных кадров JPEG и время их захвата visionModel или совместимая заимствованная запись Codex tools.media
Создание карточек Наблюдения с временными метками и последние карточки временной шкалы Стандартная модель агента через среду выполнения LLM Plugin
Создание стендапа Карточки за выбранный и предыдущий дни Стандартная модель агента через среду выполнения LLM Plugin
Вопрос о дне Вопрос, карточки выбранного дня и последние наблюдения Стандартная модель агента через среду выполнения LLM Plugin

Полная база данных SQLite не отправляется ни одной из моделей. Необработанные снимки экрана передаются только на этап наблюдения; для синтеза карточек, стендапа и вопросов и ответов используется производный текст.

Конфигурация

json5
{  plugins: {    entries: {      codex: {        enabled: true,      },      logbook: {        enabled: true,        config: {          captureEnabled: true,          captureIntervalSeconds: 30,          analysisIntervalMinutes: 15,          nodeId: "my-mac",          screenIndex: 0,          maxWidth: 1440,          visionModel: "codex/gpt-5.6-sol",          retentionDays: 14,        },      },    },  },}

Все ключи конфигурации Logbook необязательны. Числовые значения округляются до целых и ограничиваются поддерживаемым диапазоном.

Ключ По умолчанию Диапазон или значения Поведение
captureEnabled true логическое значение Постоянный главный переключатель для новых снимков; при значении false временная шкала остаётся доступной
captureIntervalSeconds 30 5-600 Задержка между попытками захвата
analysisIntervalMinutes 15 3-120 Целевая продолжительность окна наблюдения; разрывы и полночь могут закрыть его раньше
nodeId не задано идентификатор Node или отображаемое имя Привязывает захват к одному подключённому Node; регистр при сопоставлении не учитывается
screenIndex 0 0-16 Индекс дисплея с отсчётом от нуля
maxWidth 1440 480-3840 Запрашиваемое ограничение размера захвата; на безголовой macOS применяется к наибольшему измерению
visionModel не задано provider/model Явный структурированный маршрут; некорректные ссылки приостанавливают анализ, неподдерживаемые провайдеры приводят к сбою пакетов
retentionDays 14 1-365 Удаляет старые кадры; карточки, наблюдения и стендапы сохраняются

Без nodeId Logbook предпочитает подключённый Node приложения, предоставляющий screen.snapshot, а затем использует в качестве запасного варианта безголовый Node, предоставляющий logbook.snapshot. В конфигурации без привязки Node, завершившийся с ошибкой, перемещается в очереди после других подходящих Node. Переключатель паузы на панели управления действует только в течение сеанса и сбрасывается при перезапуске Gateway; для постоянной остановки используйте captureEnabled: false.

Выбор модели компьютерного зрения

Logbook определяет модель наблюдения в следующем порядке:

  1. plugins.entries.logbook.config.visionModel
  2. первая поддерживающая изображения запись Codex в tools.media.image.models
  3. первая поддерживающая изображения запись Codex в tools.media.models

Другие медиапровайдеры пропускаются, поскольку в настоящее время они не предоставляют контракт структурированного извлечения данных, необходимый Logbook. Параметр tools.media.image.enabled: false отключает заимствование стандартных медиамоделей, однако явно заданный для Logbook visionModel продолжает применяться.

Вкладка панели управления

  • Временная шкала: раскрываемые карточки для каждого вида активности с цветами категорий, основным приложением, метками отвлечений и ключевым кадром снимка.
  • Обзор дня: доля сосредоточенной работы, распределение по категориям, основные приложения.
  • Ежедневный стендап: преобразует данные за вчера и сегодня в готовое для вставки обновление.
  • Вопрос о дне: ответы на вопросы на естественном языке на основе отслеживаемой временной шкалы («когда я проверял PR для Gateway?»).
  • Анализировать сейчас: немедленно закрывает текущее окно захвата вместо ожидания интервала анализа.

Методы Gateway

Logbook регистрирует следующие RPC-методы Gateway:

Метод Параметры Область Результат
logbook.status нет operator.read Состояние захвата, анализа, модели, Node, дня и часового пояса Gateway
logbook.days нет operator.read Дни с количеством карточек временной шкалы и границами времени карточек
logbook.timeline { day?: "YYYY-MM-DD" } operator.read Производные карточки и статистика дня; по умолчанию — текущий день Gateway
logbook.frames { startMs, endMs } operator.write Метаданные кадров в запрошенном диапазоне миллисекунд эпохи
logbook.frame { frameId } operator.write Один необработанный кадр JPEG в формате base64
logbook.standup { day?, refresh? } operator.write Кэшированный или заново созданный текст стендапа за день
logbook.ask { day?, question } operator.write Ответ за день на основе временной шкалы
logbook.capture.set { paused } operator.write Состояние паузы только для текущего сеанса и обновлённое состояние
logbook.analyze.now нет operator.write Запускает ожидающий анализ или возвращает причину невозможности запуска

Методы чтения возвращают рабочее состояние или производный текст. Доступ к необработанным пикселям снимков экрана, действиям, расходующим ресурсы моделей, и изменениям среды выполнения требует operator.write. Вкладка Control UI также требует operator.write, поскольку предоставляет эти действия и предварительный просмотр необработанных кадров; клиент только для чтения по-прежнему может напрямую вызывать методы производного текста.

Примечания о конфиденциальности

  • Снимки могут содержать любые отображаемые на экране данные, включая секреты. Кадры не покидают компьютер, кроме случаев передачи выбранных образцов настроенной модели наблюдения.
  • Наблюдения, последние карточки и вопросы могут покидать компьютер через стандартную модель агента во время синтеза карточек, создания стендапа или вопросов и ответов. Применяйте политику обработки данных провайдера к обоим маршрутам моделей.
  • Используйте локальные маршруты как для модели структурированного наблюдения, так и для стандартной модели агента, если вам нужен полностью локальный конвейер.
  • Кадры, база данных временной шкалы и временные снимки записываются с правами доступа только для владельца.
  • Добавление screen.snapshot в gateway.nodes.denyCommands полностью отключает захват экрана: блокируется как захват с Node приложения, так и собственная команда Logbook logbook.snapshot.
  • Параметр tools.media.image.enabled: false также запрещает Logbook заимствовать медиамодели изображений для анализа; в этом случае используется только явно заданный visionModel в конфигурации Plugin.

Устранение неполадок

Вкладка Logbook отсутствует

Проверьте все три условия:

  1. Вывод openclaw plugins list --enabled содержит logbook.
  2. Gateway был перезапущен после изменения Plugin или списка разрешённых Plugin.
  3. Подключение Control UI имеет область operator.write; сеансы только для чтения не получают дескриптор интерактивной вкладки.

Если задан параметр plugins.allow, для рекомендуемой конфигурации в него необходимо включить как logbook, так и codex.

При захвате возникает ошибка

bash
openclaw nodes status --connectedopenclaw nodes describe --node <idOrNameOrIp>openclaw logs --follow
  • Убедитесь, что Node предоставляет screen.snapshot или logbook.snapshot.
  • Предоставьте разрешение Screen Recording на Mac, где выполняется захват.
  • Если настроен nodeId, убедитесь, что он совпадает с идентификатором или отображаемым именем Node.
  • Убедитесь, что gateway.nodes.denyCommands не содержит screen.snapshot.

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

Захват выполняется успешно, но карточки не появляются

  • Статус Модель отсутствует означает, что совместимый маршрут структурированного компьютерного зрения не найден. Включите Plugin Codex и выполните аутентификацию либо задайте допустимое явное значение visionModel. Захваченные кадры остаются в ожидании, пока модель отсутствует, и могут быть проанализированы после исправления конфигурации.
  • Дождитесь истечения analysisIntervalMinutes или выберите Анализировать сейчас после захвата активности.
  • Последовательные одинаковые кадры считаются свидетельством бездействия и не включаются в пакеты анализа. Перед тестированием измените содержимое видимой области экрана.
  • Если в последнем пакете отображается ошибка, устраните проблему с моделью или аутентификацией и выберите Анализировать сейчас. Чтобы избежать повторных расходов на модель, обработка неудачных пакетов повторяется только после этого явного действия.

Связанные разделы

Was this useful?
On this page

On this page