Plugin guides

Plugin журналу подій

Plugin Logbook перетворює активність на екрані на автоматичний робочий журнал. Він періодично створює знімки екрана зі спареного вузла, узагальнює їх у спостереження з часовими позначками та формує картки часової шкали в інтерфейсі керування. Він також може створювати нотатки для щоденного стендапу й відповідати на запитання про відстежуваний день.

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

Logbook постачається в комплекті та за замовчуванням вимкнений. Увімкнення Plugin дозволяє Gateway захоплювати екран, оскільки captureEnabled за замовчуванням має значення true.

Перед початком

Вам потрібні:

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

Швидкий старт

Увімкніть Plugin 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. Після зміни конфігурації Plugin перезапустіть Gateway, а потім перевірте реєстрації та відкрийте панель керування:

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

Опис вузла має містити screen.snapshot або logbook.snapshot. Безголові вузли оголошують logbook.snapshot лише після активації Plugin. Якщо команда відсутня, дивіться усунення несправностей вузлів.

Вкладка Logbook з’являється лише для увімкненого Plugin і сеансу інтерфейсу керування з operator.write. У рядку стану має відображатися Захоплення без помилки. Картка часової шкали з’являється після закриття вікна аналізу, або після захоплення активності можна вибрати Аналізувати зараз.

Як це працює

  1. Захоплення: кожні captureIntervalSeconds (за замовчуванням 30 с) Logbook викликає команду захоплення вибраного вузла та зберігає масштабований кадр 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 5600 Затримка між спробами захоплення
analysisIntervalMinutes 15 3120 Цільове вікно спостереження; перерви та опівніч можуть закрити його раніше
nodeId не задано ідентифікатор або відображуване ім’я вузла Закріплює захоплення за одним підключеним вузлом; зіставлення не залежить від регістру
screenIndex 0 016 Індекс дисплея, починаючи з нуля
maxWidth 1440 4803840 Запитане обмеження розміру захоплення; у безголовій macOS застосовується до найбільшого виміру
visionModel не задано provider/model Явний структурований маршрут; некоректні посилання призупиняють аналіз, непідтримувані постачальники спричиняють помилку пакетів
retentionDays 14 1365 Видаляє старі кадри; картки, спостереження та стендапи зберігаються

Без nodeId Logbook віддає перевагу підключеному вузлу застосунку, що надає screen.snapshot, а потім переходить до безголового вузла, що надає logbook.snapshot. У конфігурації без закріплення вузол, на якому сталася помилка, переміщується за інші придатні вузли. Перемикач призупинення на панелі керування діє лише протягом сеансу та скидається після перезапуску 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 вимикає запозичені стандартні моделі медіа, але явна модель visionModel Logbook продовжує застосовуватися.

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

  • Часова шкала: розгортані картки для кожної активності з кольорами категорій, основним застосунком, мітками відволікань і ключовим кадром знімка.
  • День одним поглядом: частка зосередженої роботи, розподіл за категоріями, найуживаніші застосунки.
  • Щоденний стендап: перетворює вчорашні та сьогоднішні дані на готове для вставлення оновлення.
  • Запитання про день: запитання природною мовою, відповіді на які формуються з відстежуваної часової шкали («коли я переглядав PR для Gateway?»).
  • Аналізувати зараз: негайно закриває поточне вікно захоплення замість очікування інтервалу аналізу.

Методи Gateway

Logbook реєструє такі RPC-методи Gateway:

Метод Параметри Область дії Результат
logbook.status немає operator.read Стан захоплення, аналізу, моделі, вузла, дня Gateway і часового поясу 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. Вкладка інтерфейсу керування також потребує operator.write, оскільки надає ці дії та попередній перегляд необроблених кадрів; клієнт лише для читання все одно може безпосередньо викликати методи похідного тексту.

Примітки щодо конфіденційності

  • Знімки можуть містити будь-що з екрана, включно із секретами. Кадри ніколи не залишають машину, окрім випадків надсилання вибраних кадрів як вхідних даних налаштованій моделі спостереження.
  • Спостереження, нещодавні картки та запитання можуть залишати машину через стандартну модель агента під час синтезу карток, створення стендапу або запитань і відповідей. Застосовуйте політику обробки даних постачальника до обох маршрутів моделей.
  • Використовуйте локальні маршрути і для структурованої моделі спостереження, і для стандартної моделі агента, якщо вам потрібен повністю локальний конвеєр.
  • Кадри, база даних часової шкали та тимчасові захоплення записуються з правами доступу лише для власника.
  • Додавання screen.snapshot до gateway.nodes.denyCommands є аварійним вимикачем захоплення екрана: воно блокує як захоплення вузлом застосунку, так і власну команду Logbook logbook.snapshot.
  • Установлення tools.media.image.enabled: false також не дозволяє Logbook запозичувати моделі медіазображень для аналізу; тоді використовується лише явна visionModel у конфігурації Plugin.

Усунення несправностей

Вкладка Logbook відсутня

Перевірте всі три умови:

  1. openclaw plugins list --enabled містить logbook.
  2. Gateway було перезапущено після зміни Plugin або списку дозволів.
  3. З’єднання інтерфейсу керування має 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 може перейти на інший придатний Node.

Знімання виконується успішно, але картки не з’являються

  • Стан Модель відсутня означає, що не знайдено сумісного маршруту структурованого комп’ютерного зору. Увімкніть і автентифікуйте Plugin Codex або задайте дійсну явну visionModel. Зняті кадри залишатимуться в стані очікування, доки модель відсутня, і їх можна буде проаналізувати після виправлення конфігурації.
  • Зачекайте протягом analysisIntervalMinutes або виберіть Аналізувати зараз після знімання активності.
  • Послідовні однакові кадри свідчать про бездіяльність і не потрапляють до пакетів аналізу. Перед тестуванням змініть видимий вміст екрана.
  • Якщо останній пакет містить помилку, виправте проблему з моделлю або автентифікацією та виберіть Аналізувати зараз. Повторна обробка невдалих пакетів виконується лише після цієї явної дії, щоб уникнути повторних витрат на модель.

Пов’язані матеріали

Was this useful?
On this page

On this page