> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

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

Плагин Logbook превращает активность на экране в автоматический рабочий журнал. Он
периодически делает снимки экрана с сопряжённого Node, преобразует их в
наблюдения с временными метками и создаёт карточки хронологии в
[интерфейсе управления](https://docs2.openclaw.ai/ru/web/control-ui.md). Он также может создавать заметки для ежедневного стендапа и
отвечать на вопросы об отслеживаемом дне.

Состояние, принадлежащее 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](https://docs2.openclaw.ai/ru/plugins/codex-harness.md).
* Рабочая модель агента по умолчанию. Logbook использует её после обработки моделью компьютерного зрения для создания карточек, заметок
  для стендапа и ответов на вопросы о дне.

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

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

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw plugins enable codex
openclaw plugins enable logbook
```

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

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  plugins: {
    entries: {
      codex: {
        enabled: true,
      },
      logbook: {
        enabled: true,
        config: {
          visionModel: "codex/gpt-5.6-sol",
        },
      },
    },
  },
}
```

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

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw gateway restart
openclaw plugins inspect logbook --runtime --json
openclaw nodes status --connected
openclaw nodes describe --node <idOrNameOrIp>
openclaw dashboard
```

Описание Node должно содержать `screen.snapshot` или `logbook.snapshot`.
Node без графического интерфейса объявляют `logbook.snapshot` только после активации плагина.
Если команда отсутствует, см. [Устранение неполадок Node](https://docs2.openclaw.ai/ru/nodes/troubleshooting.md).

Вкладка 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 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  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 theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw nodes status --connected
openclaw nodes describe --node <idOrNameOrIp>
openclaw logs --follow
```

* Убедитесь, что узел предоставляет `screen.snapshot` или `logbook.snapshot`.
* Предоставьте разрешение Screen Recording на компьютере Mac, выполняющем захват.
* Если настроен `nodeId`, убедитесь, что он совпадает с идентификатором или отображаемым именем узла.
* Убедитесь, что `gateway.nodes.denyCommands` не содержит
  `screen.snapshot`.

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

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

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

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

* [Управление плагинами](https://docs2.openclaw.ai/ru/plugins/manage-plugins.md)
* [Среда Codex](https://docs2.openclaw.ai/ru/plugins/codex-harness.md)
* [Анализ медиаданных](https://docs2.openclaw.ai/ru/nodes/media-understanding.md)
* [Узлы](https://docs2.openclaw.ai/ru/nodes.md)
* [Устранение неполадок узлов](https://docs2.openclaw.ai/ru/nodes/troubleshooting.md)
* [Control UI](https://docs2.openclaw.ai/ru/web/control-ui.md)
