<state-dir>/logbook/ 中,但
模型处理不一定是本地完成的。采样截图会发送到已配置的视觉路由;
观察记录和时间线文本会发送到默认的 agent 模型。如果屏幕内容和
派生出的活动文本必须保留在本机上,请在这两个阶段都使用本地模型路由。
Logbook 已内置但默认禁用。启用该插件会让
Gateway 进入屏幕捕获模式,因为 captureEnabled 默认值为 true。
开始之前
你需要:- 一个已连接的节点,且该节点暴露
screen.snapshot或logbook.snapshot。macOS 应用节点需要屏幕录制权限。无头 macOS 节点主机(openclaw node host run)会获得由插件提供的logbook.snapshot命令,并由系统screencapture工具支持。 - 已启用并完成身份验证的捆绑 Codex 插件。Codex 目前提供 Logbook 所需的结构化图像提取契约。使用
openclaw models auth login --provider openai登录;其他认证路径请参见 Codex harness。 - 一个可用的默认 agent 模型。Logbook 会在视觉处理之后使用它来合成 cards、站会笔记以及 day Q&A。
快速开始
启用 Codex 和 Logbook 插件:plugins.allow,请同时包含 codex 和 logbook。更改插件配置后重启
Gateway,然后检查注册并打开仪表盘:
screen.snapshot 或 logbook.snapshot。
无头节点仅在插件激活后才会公开 logbook.snapshot。
如果命令缺失,请参阅 节点故障排除。
Logbook 选项卡仅对已启用的插件和 operator.write
Control UI 会话显示。状态行应显示 Capturing,且没有错误。
当分析窗口关闭时会出现时间线卡片,或者你也可以在活动已被捕获后选择
Analyze now。
工作原理
- 捕获:每隔
captureIntervalSeconds(默认 30 秒),Logbook 会调用所选节点的捕获命令,并存储一帧缩放后的 JPEG 图像。连续相同的帧会被标记为空闲并排除在分析之外。 - 观察:一旦分析窗口(默认 15 分钟)结束,插件会采样最多 16 帧活动图像并将它们发送给视觉模型,模型会返回带时间戳的活动观察结果(“VS Code:正在编辑
store.ts,修复一个类型错误”)。捕获间隔超过两分钟的断档,或本地午夜,也会关闭当前窗口。 - 综合:将观察结果加上已有卡片最近 45 分钟的内容,修订为时间线卡片(每张 10-60 分钟),包含标题、摘要、类别、主要应用,以及任何简短的干扰项。
- 清理:删除早于
retentionDays(默认 14 天)的帧。卡片、观察结果以及缓存的站会记录会保留。
<state-dir>/logbook/ 下。
模型与数据流
Logbook 使用两条独立的模型路由:
完整的 SQLite 数据库不会发送给任一模型。原始截图只会发送到
观察阶段;卡片合成、站会和问答接收的是派生
文本。
配置
如果没有
nodeId,Logbook 会优先选择一个已连接的、公开 screen.snapshot 的应用节点,然后回退到一个公开 logbook.snapshot 的无头节点。在未固定的设置中,失败的节点会轮换到其他符合条件的节点之后。仪表板的暂停切换仅限当前会话,并会在 Gateway 重启时重置;若要永久停止,请使用 captureEnabled: false。
Vision 模型选择
Logbook 按以下顺序解析观察模型:plugins.entries.logbook.config.visionModel- the first image-capable Codex entry under
tools.media.models
tools.media.image.enabled: false 会禁用借用的媒体默认值,但显式指定的 Logbook visionModel 仍然会生效。
仪表盘标签页
- 时间线:按活动展开的卡片,带有类别颜色、主 应用、分心项标签和快照关键帧。
- 一天概览:专注比例、类别分布、主要应用。
- 每日站会:将昨天和今天整理成可直接粘贴的更新内容。
- 询问你的日程:根据跟踪的 时间线回答自然语言问题(“我什么时候审查了 gateway PR?”)。
- 立即分析:立即关闭当前捕获窗口,而不是 等待分析间隔。
Gateway 方法
Logbook 注册了以下 Gateway RPC 方法:
读取方法返回运行状态或派生文本。原始截图像素、模型花费操作和运行时变更需要
operator.write。Control UI 选项卡也需要 operator.write,因为它
暴露了这些操作和原始 frame 预览;只读客户端仍然可以直接调用
派生文本方法。
隐私说明
- Snapshots can contain anything on screen, including secrets. Frames never leave the machine except as sampled input to the configured observation model.
- Observations, recent cards, and questions can leave the machine through the default agent model during card synthesis, standup generation, or Q&A. Apply the provider’s data-handling policy to both model routes.
- Use local routes for both the structured observation model and default agent model when you need a fully local pipeline.
- Frames, the timeline database, and temporary captures are written with owner-only file permissions.
- Adding
screen.snapshottogateway.nodes.commands.denyis the screen-capture kill switch: it blocks app-node capture and Logbook’s ownlogbook.snapshotcommand alike. - Setting
tools.media.image.enabled: falsealso stops Logbook from borrowing the media image models for analysis; only an explicitvisionModelin the plugin config is used then.
故障排查
Logbook 选项卡缺失
检查这三个条件:openclaw plugins list --enabled包含logbook。- 在插件或 allowlist 变更后,Gateway 已重启。
- Control UI 连接具有
operator.write;只读会话不会 接收交互式选项卡描述符。
plugins.allow,推荐配置中它必须同时包含 logbook 和 codex。
捕获报告错误
- Confirm the node exposes
screen.snapshotorlogbook.snapshot. - Grant Screen Recording permission on the capture Mac.
- If
nodeIdis configured, confirm it matches the node id or display name. - Check that
gateway.nodes.commands.denydoes not containscreen.snapshot.
捕获成功但未出现卡片
- Model missing 状态表示未找到兼容的结构化视觉路径。
启用并认证 Codex 插件,或设置有效的显式
visionModel。 在模型缺失期间,已捕获的帧会保持待处理状态,并且在配置修复后可被分析。 - 等待
analysisIntervalMinutes,或在捕获到活动后选择 Analyze now。 - 连续相同的帧属于空闲证据,不会进入分析批次。测试前请更改可见屏幕。
- 如果最新批次显示错误,请修复模型或认证问题,然后选择 Analyze now。失败的批次仅会在该显式操作下重试,以避免重复消耗模型费用。