Sequência de comandos
- O Node está conectado e pareado para a função
node. nodes describeinclui o recurso que você está chamando.- As aprovações de execução mostram o modo e a lista de permissões esperados.
Requisitos de primeiro plano
canvas.*, camera.* e screen.* funcionam somente em primeiro plano em Nodes iOS/Android.
Verificação e correção rápidas:
NODE_BACKGROUND_UNAVAILABLE, coloque o aplicativo do Node em primeiro plano e tente novamente.
Matriz de permissões
Pareamento versus aprovações
Três controles separados determinam se um comando do Node é bem-sucedido:- Pareamento do dispositivo: este Node pode se conectar ao Gateway?
- Política de comandos de Node do Gateway: o ID do comando RPC é permitido por
gateway.nodes.allowCommands/denyCommandse pelos padrões da plataforma? - Aprovações de execução: este Node pode executar localmente um comando de shell específico?
system.run, a política por Node fica no arquivo de aprovações de execução desse Node (openclaw approvals get --node ...), e não no registro de pareamento do Gateway.
Verificações rápidas:
- Pareamento ausente: primeiro aprove o dispositivo do Node.
- Um comando não aparece em
nodes describe: verifique a política de comandos de Node do Gateway e se o Node realmente declarou esse comando ao se conectar. - O pareamento está correto, mas
system.runfalha: corrija as aprovações de execução/lista de permissões nesse Node.
host=node respaldadas por aprovação, o Gateway também vincula a execução ao systemRunPlan canônico preparado. Se um chamador posterior modificar o comando, o diretório de trabalho ou os metadados da sessão antes que a execução aprovada seja encaminhada, o Gateway rejeitará a execução devido a uma incompatibilidade de aprovação, em vez de confiar na carga útil editada.
Códigos de erro comuns de Node
Ciclo de recuperação rápida
- Aprove novamente o pareamento do dispositivo.
- Abra novamente o aplicativo do Node (em primeiro plano).
- Conceda novamente as permissões do sistema operacional.
- Recrie ou ajuste a política de aprovação de execução.
computer, se screen.snapshot é bem-sucedido com a permissão de Gravação de Tela e se /phone status mostra a autorização temporária ou persistente do Gateway que você pretendia usar. Uma entrada em gateway.nodes.denyCommands sempre prevalece sobre allowCommands.