Gateway
1Password
O OpenClaw se integra ao 1Password de duas maneiras independentes:
- Segredos de configuração: qualquer campo SecretRef em
openclaw.jsonpode ser resolvido em tempo de execução por meio da CLIop, portanto as chaves de API nunca ficam no arquivo de configuração. - Fluxos de trabalho dos agentes: a skill
1passwordincluída ensina os agentes a iniciar sessão e ler ou injetar segredos comopem suas próprias tarefas.
Requisitos
- A CLI do 1Password (
op) instalada no host do Gateway (brew install 1password-clino macOS). - Um modo de autenticação para
op:- Conta de serviço (recomendada para Gateways sem interface gráfica): exporte
OP_SERVICE_ACCOUNT_TOKENno ambiente do serviço do Gateway. Não exige aplicativo de desktop nem início de sessão interativo. - Integração com o aplicativo de desktop: o aplicativo 1Password é executado na mesma máquina com a integração da CLI habilitada. As primeiras chamadas podem acionar o Touch ID ou a autenticação do sistema.
- Início de sessão autônomo:
op signinsolicita autenticação a cada sessão. É viável para agentes por meio da skill, mas não é adequado para resolver segredos de configuração em um Gateway sem interface gráfica.
- Conta de serviço (recomendada para Gateways sem interface gráfica): exporte
Resolver segredos de configuração com op
Declare um provedor de segredos exec que execute op read com uma referência op://vault/item/field e, em seguida, aponte para ele qualquer campo compatível com SecretRef:
{ secrets: { providers: { onepassword_openai: { source: "exec", command: "/opt/homebrew/bin/op", allowSymlinkCommand: true, // obrigatório para binários instalados pelo Homebrew por meio de links simbólicos trustedDirs: ["/opt/homebrew"], args: ["read", "op://Personal/OpenClaw QA API Key/password"], passEnv: ["HOME"], jsonOnly: false, }, }, }, models: { providers: { openai: { baseUrl: "https://api.openai.com/v1", models: [{ id: "gpt-5", name: "gpt-5" }], apiKey: { source: "exec", provider: "onepassword_openai", id: "value" }, }, }, },}Como as partes se encaixam:
commanddeve ser um caminho absoluto;trustedDirsmarca seu diretório como confiável, eallowSymlinkCommandé necessário porque o Homebrew instalaopcomo um link simbólico.argstransmite a referênciaop://vault/item/fieldliteralmente. O OpenClaw não analisa o esquemaop://; o binárioopo resolve.passEnvencaminha as variáveis listadas do ambiente do Gateway. A integração com o aplicativo de desktop precisa deHOME; as contas de serviço também precisam queOP_SERVICE_ACCOUNT_TOKENesteja presente no ambiente do serviço do Gateway (adicione-o apassEnvou defina-o por meio deenvsomente se aceitar que o token fique legível no arquivo de configuração).- Para uma saída de valor único, mantenha
id: "value". ComjsonOnly: truee uma carga JSON, referencie os campos usando um id de ponteiro JSON. - Uma entrada de provedor por segredo mantém as referências auditáveis; nomeie os provedores de acordo com seus consumidores (
onepassword_openai,onepassword_telegram).
Consulte Segredos do Gateway para conhecer a ordem de resolução, o armazenamento em cache e a semântica de falhas, e Superfície de credenciais SecretRef para ver todos os campos que aceitam SecretRefs.
Configuração de conta de serviço para Gateways sem interface gráfica
- Crie uma conta de serviço na sua conta do 1Password e conceda a ela acesso de leitura somente aos itens do cofre necessários ao Gateway.
- Forneça
OP_SERVICE_ACCOUNT_TOKENao serviço do Gateway (plist do launchd, unidade do systemd ou variável de ambiente do contêiner). - Adicione
"OP_SERVICE_ACCOUNT_TOKEN"à listapassEnvdo provedor. - Verifique no ambiente do host do Gateway:
op whoamideve exibir a conta de serviço sem solicitar autenticação.
As leituras de contas de serviço exigem que o cofre seja nomeado explicitamente na referência op://. Restrinja rigorosamente o escopo da conta; ela é uma credencial ao portador.
A skill 1password para agentes
O OpenClaw inclui uma skill 1password que transforma os agentes em operadores competentes de op: ela detecta o modo de autenticação disponível (conta de serviço, integração com o aplicativo de desktop ou início de sessão autônomo), verifica o acesso com op whoami antes de qualquer leitura e prefere op run / op inject em vez de gravar valores secretos no disco. A skill requer o binário op e oferece a instalação pelo Homebrew quando ele não está disponível.
Os agentes a utilizam em seus próprios fluxos de trabalho, por exemplo, para ler um token de implantação durante uma tarefa ou injetar variáveis de ambiente em um comando. Ela é independente da resolução de segredos de configuração; o Gateway resolve SecretRefs sem o envolvimento de nenhuma skill.
Observações de segurança
- Os valores secretos resolvidos por meio de provedores exec permanecem na memória do Gateway; os instantâneos de configuração e as respostas
config.getocultam os campos SecretRef. - Nunca coloque valores secretos em
openclaw.json, logs ou chats. Mantenha os nomes dos itens na configuração e os valores no 1Password. - A trilha de auditoria do 1Password mostra cada leitura feita pela conta de serviço, tornando práticas a rotação de chaves e a análise de incidentes.
Solução de problemas
command not foundou erros de criação do processo: use o caminho absoluto deope inclua seu diretório emtrustedDirs.opé resolvido, mas as leituras falham com erros de link simbólico: definaallowSymlinkCommand: truepara instalações pelo Homebrew.account is not signed in: para contas de serviço, confirme queOP_SERVICE_ACCOUNT_TOKENchega ao serviço do Gateway e está listado empassEnv; para a integração com o aplicativo de desktop, confirme que o aplicativo está em execução e desbloqueado.- Primeiras leituras lentas: aumente
timeoutMsno provedor; inicializações a frio deoppodem exceder tempos limite estritos em hosts ocupados.