---
read_when:
    - Вам нужна временная шкала дня в стиле Dayflow в интерфейсе управления
    - Вы включаете или настраиваете встроенный плагин Logbook
    - Вам нужны сводки для стендапа или восстановление событий дня на основе активности на экране
summary: Необязательный автоматический журнал работы, создаваемый на основе периодических снимков экрана
title: Плагин журнала учета
x-i18n:
    generated_at: "2026-07-13T20:02:26Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 24
    provider: openai
    source_hash: a3ea1d40d62041417d047fbaf6b02aeb86e76314b8f620f7b9939e2e0c3b9f7e
    source_path: plugins/logbook.md
    workflow: 16
---

Плагин 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
openclaw plugins enable codex
openclaw 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 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
{
  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 --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)
