<state-dir>/logbook/, mas
o processamento pelos modelos não é necessariamente local. As capturas de tela amostradas são enviadas para a
rota de visão configurada; as observações e o texto da linha do tempo são enviados para o modelo
padrão do agente. Use rotas de modelos locais nas duas etapas se o conteúdo da tela e
o texto de atividade derivado precisarem permanecer na máquina.
O Logbook vem incluído e desativado por padrão. Ativar o plugin habilita a
captura de tela no Gateway, pois captureEnabled tem true como valor padrão.
Antes de começar
Você precisa de:- Um Node conectado que exponha
screen.snapshotoulogbook.snapshot. O Node do aplicativo para macOS precisa da permissão Screen Recording. Um host de Node macOS sem interface gráfica (openclaw node host run) recebe o comandologbook.snapshotfornecido pelo plugin, baseado na ferramenta de sistemascreencapture. - O plugin Codex incluído, ativado e autenticado. Atualmente, o Codex fornece
o contrato estruturado de extração de imagens exigido pelo Logbook. Inicie sessão com
openclaw models auth login --provider openai; consulte Ambiente Codex para conhecer outros métodos de autenticação. - Um modelo padrão de agente funcionando. O Logbook o utiliza para sintetizar cartões, notas de acompanhamento e perguntas e respostas sobre o dia após a etapa de visão.
Início rápido
Ative os plugins Codex e Logbook:plugins.allow, inclua codex e logbook. Reinicie o
Gateway após alterar a configuração dos plugins, inspecione os registros
e abra o painel:
screen.snapshot ou logbook.snapshot.
Nodes sem interface gráfica anunciam logbook.snapshot somente depois que o plugin é ativado.
Consulte Solução de problemas do Node se o comando estiver ausente.
A aba Logbook aparece somente quando o plugin está ativado e a sessão da
Interface de Controle possui operator.write. A linha de status deve exibir Capturando sem erros.
Um cartão da linha do tempo aparece quando a janela de análise é encerrada, ou você pode selecionar
Analisar agora depois que alguma atividade tiver sido capturada.
Como funciona
- Captura: a cada
captureIntervalSeconds(padrão: 30 s), o Logbook invoca o comando de captura do Node selecionado e armazena um quadro JPEG redimensionado. Quadros consecutivos idênticos são marcados como inativos e excluídos da análise. - Observação: quando uma janela de análise (padrão: 15 minutos) termina, o plugin coleta uma amostra de até 16 quadros ativos e os envia ao modelo de visão, que retorna observações de atividade com carimbo de data e hora (“VS Code: editando store.ts, corrigindo um erro de tipo”). Um intervalo de captura superior a dois minutos ou a meia-noite local também encerra a janela atual.
- Síntese: as observações e os últimos 45 minutos dos cartões existentes são revisados e transformados em cartões da linha do tempo (de 10 a 60 minutos cada), com título, resumo, categoria, aplicativo principal e eventuais distrações breves.
- Limpeza: quadros anteriores a
retentionDays(padrão: 14) são excluídos. Cartões, observações e acompanhamentos armazenados em cache são mantidos.
<state-dir>/logbook/.
Fluxo de modelos e dados
O Logbook usa duas rotas de modelos distintas:
O banco de dados SQLite completo não é enviado a nenhum dos modelos. As capturas de tela brutas são enviadas somente
para a etapa de observação; a síntese de cartões, o acompanhamento e as perguntas e respostas recebem
texto derivado.
Configuração
Sem
nodeId, o Logbook prioriza um Node de aplicativo conectado que exponha
screen.snapshot e, em seguida, recorre a um Node sem interface gráfica que exponha
logbook.snapshot. Em uma configuração sem fixação, um Node que falhou passa para depois dos outros
Nodes qualificados. O controle de pausa do painel vale somente para a sessão e é redefinido quando o
Gateway é reiniciado; use captureEnabled: false para uma interrupção persistente.
Seleção do modelo de visão
O Logbook resolve o modelo de observação nesta ordem:plugins.entries.logbook.config.visionModel- a primeira entrada Codex compatível com imagens em
tools.media.image.models - a primeira entrada Codex compatível com imagens em
tools.media.models
tools.media.image.enabled: false desativa os padrões de mídia emprestados, mas um
visionModel explícito do Logbook continua sendo aplicado.
Aba do painel
- Linha do tempo: cartões expansíveis por atividade, com cores de categoria, o aplicativo principal, marcadores de distração e um quadro-chave da captura.
- Visão geral do dia: proporção de foco, divisão por categoria e principais aplicativos.
- Acompanhamento diário: transforma ontem e hoje em uma atualização pronta para colar.
- Pergunte sobre seu dia: perguntas em linguagem natural respondidas com base na linha do tempo monitorada (“quando revisei o PR do Gateway?”).
- Analisar agora: encerra imediatamente a janela de captura atual, em vez de aguardar o intervalo de análise.
Métodos do Gateway
O Logbook registra estes métodos RPC do Gateway:
Os métodos de leitura retornam o estado operacional ou texto derivado. Pixels brutos de capturas de tela,
ações que geram gastos com modelos e alterações no ambiente de execução exigem
operator.write. A aba da Interface de Controle também exige operator.write, pois
expõe essas ações e visualizações de quadros brutos; um cliente somente leitura ainda pode chamar
diretamente os métodos de texto derivado.
Observações sobre privacidade
- Os instantâneos podem conter qualquer conteúdo exibido na tela, inclusive segredos. Os quadros nunca saem da máquina, exceto como entrada amostrada para o modelo de observação configurado.
- Observações, cartões recentes e perguntas podem sair da máquina por meio do modelo padrão do agente durante a síntese de cartões, a geração do acompanhamento ou as perguntas e respostas. Aplique a política de tratamento de dados do provedor às duas rotas de modelos.
- Use rotas locais tanto para o modelo estruturado de observação quanto para o modelo padrão do agente quando precisar de um pipeline totalmente local.
- Os quadros, o banco de dados da linha do tempo e as capturas temporárias são gravados com permissões de arquivo exclusivas do proprietário.
- Adicionar
screen.snapshotagateway.nodes.denyCommandsé o mecanismo de bloqueio da captura de tela: isso bloqueia tanto a captura pelo Node do aplicativo quanto o próprio comandologbook.snapshotdo Logbook. - Definir
tools.media.image.enabled: falsetambém impede que o Logbook use os modelos de imagem de mídia para análise; nesse caso, somente umvisionModelexplícito na configuração do plugin é usado.
Solução de problemas
A aba Logbook está ausente
Verifique os três requisitos:openclaw plugins list --enabledincluilogbook.- O Gateway foi reiniciado após a alteração do plugin ou da lista de permissões.
- A conexão da Interface de Controle possui
operator.write; sessões somente leitura não recebem o descritor da aba interativa.
plugins.allow estiver definido, ele deverá incluir logbook e codex para a
configuração recomendada.
A captura relata um erro
- Confirme se o Node disponibiliza
screen.snapshotoulogbook.snapshot. - Conceda permissão de Gravação da Tela no Mac de captura.
- Se
nodeIdestiver configurado, confirme se ele corresponde ao ID ou ao nome de exibição do Node. - Verifique se
gateway.nodes.denyCommandsnão contémscreen.snapshot.
As capturas são bem-sucedidas, mas nenhum cartão aparece
- Um status Modelo ausente significa que nenhuma rota compatível de visão estruturada foi
encontrada. Ative e autentique o Plugin Codex ou defina um
visionModelexplícito válido. Os quadros capturados permanecem pendentes enquanto o modelo está ausente e podem ser analisados após a correção da configuração. - Aguarde o período definido em
analysisIntervalMinutesou selecione Analisar agora depois que a atividade tiver sido capturada. - Quadros idênticos consecutivos são evidências de inatividade e não entram nos lotes de análise. Altere a tela visível antes de testar.
- Se o lote mais recente exibir um erro, corrija o problema de modelo ou autenticação e selecione Analisar agora. Os lotes com falha são repetidos somente por meio dessa ação explícita, para evitar gastos recorrentes com o modelo.