Plugin guides

Плагин журнала учета

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

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

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

Перед началом работы

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

  • Подключённый Node, предоставляющий screen.snapshot или logbook.snapshot. Для Node приложения macOS требуется разрешение Screen Recording. На узле macOS без графического интерфейса (openclaw node host run) становится доступна предоставляемая плагином команда logbook.snapshot, использующая системный инструмент screencapture.
  • Включённый и аутентифицированный встроенный плагин 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, затем проверьте регистрации и откройте панель управления:

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 только после активации плагина. Если команда отсутствует, см. Устранение неполадок Node.

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

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

  1. Захват: каждые captureIntervalSeconds (по умолчанию 30 с) Logbook вызывает команду захвата выбранного Node и сохраняет масштабированный кадр JPEG. Последовательные идентичные кадры помечаются как неактивные и исключаются из анализа.
  2. Наблюдение: по истечении окна анализа (по умолчанию 15 минут) плагин выбирает до 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 плагина
Создание стендапа Карточки за выбранный и предыдущий дни Модель агента по умолчанию через среду выполнения LLM плагина
Вопросы о дне Вопрос, карточки за выбранный день и последние наблюдения Модель агента по умолчанию через среду выполнения LLM плагина

Полная база данных 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 служит аварийным выключателем захвата экрана: оно блокирует как захват узлом приложения, так и собственную команду logbook.snapshot Logbook.
  • Установка tools.media.image.enabled: false также запрещает Logbook использовать модели изображений для анализа медиаданных; в этом случае используется только явно заданный visionModel в конфигурации плагина.

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

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

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

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

Если задан plugins.allow, для рекомендуемой конфигурации он должен содержать как logbook, так и codex.

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

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

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

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

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

Связанные материалы

Was this useful?
On this page

On this page