> ## 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, преобразует их в
наблюдения с временными метками и создаёт карточки хронологии в
[интерфейсе управления](/ru/web/control-ui). Он также может создавать заметки для ежедневного стендапа и
отвечать на вопросы об отслеживаемом дне.

Состояние, принадлежащее 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](/ru/plugins/codex-harness).
* Рабочая модель агента по умолчанию. 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](/ru/nodes/troubleshooting).

Вкладка 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` или выберите **Анализировать сейчас** после того, как
  активность будет зафиксирована.
* Последовательные одинаковые кадры считаются признаком бездействия и не включаются в пакеты
  анализа. Перед тестированием измените видимое содержимое экрана.
* Если последний пакет содержит ошибку, устраните проблему с моделью или аутентификацией и выберите
  **Анализировать сейчас**. Неудачные пакеты повторно обрабатываются только после этого явного действия,
  чтобы избежать повторных расходов на модель.

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

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