- Configuratiegeheimen: elk SecretRef-veld in
openclaw.jsonkan tijdens runtime via deop-CLI worden opgelost, zodat API-sleutels nooit in het configuratiebestand staan. - Agentworkflows: de meegeleverde
1password-skill leert agents om zich aan te melden en metopgeheimen te lezen of te injecteren voor hun eigen taken.
Vereisten
- De 1Password CLI (
op) moet op de Gateway-host zijn geïnstalleerd (brew install 1password-cliop macOS). - Een authenticatiemodus voor
op:- Serviceaccount (aanbevolen voor headless Gateways): exporteer
OP_SERVICE_ACCOUNT_TOKENin de omgeving van de Gateway-service. Geen desktopapp en geen interactieve aanmelding. - Integratie met de desktopapp: de 1Password-app draait op dezelfde machine en CLI-integratie is ingeschakeld. De eerste aanroepen kunnen Touch ID- of systeemauthenticatie activeren.
- Zelfstandige aanmelding:
op signinvraagt per sessie om invoer. Bruikbaar voor agents via de skill, maar niet geschikt om configuratiegeheimen op een headless Gateway op te lossen.
- Serviceaccount (aanbevolen voor headless Gateways): exporteer
Configuratiegeheimen oplossen met op
Declareer een exec-provider voor geheimen dieop read uitvoert met een op://vault/item/field-verwijzing en laat vervolgens elk veld dat SecretRef ondersteunt ernaar verwijzen:
commandmoet een absoluut pad zijn;trustedDirsmarkeert de bijbehorende map als vertrouwd enallowSymlinkCommandis nodig omdat Homebrewopals symlink installeert.argsgeeft deop://vault/item/field-verwijzing ongewijzigd door. OpenClaw parseert hetop://-schema niet zelf; het binaire bestandoplost het op.passEnvgeeft de vermelde variabelen uit de Gateway-omgeving door. Voor integratie met de desktopapp isHOMEnodig; voor serviceaccounts moetOP_SERVICE_ACCOUNT_TOKENook aanwezig zijn in de omgeving van de Gateway-service (voeg dit toe aanpassEnv, of stel het alleen viaenvin als je accepteert dat het token in het configuratiebestand leesbaar is).- Behoud
id: "value"voor uitvoer met één waarde. Gebruik bijjsonOnly: trueen een JSON-payload in plaats daarvan een JSON-pointer-id om velden te adresseren. - Met één providervermelding per geheim blijven verwijzingen controleerbaar; vernoem providers naar hun verbruiker (
onepassword_openai,onepassword_telegram).
Serviceaccount instellen voor headless Gateways
- Maak een serviceaccount in je 1Password-account en geef dit alleen leestoegang tot de kluisitems die de Gateway nodig heeft.
- Geef
OP_SERVICE_ACCOUNT_TOKENdoor aan de Gateway-service (launchd-plist, systemd-unit of containeromgeving). - Voeg
"OP_SERVICE_ACCOUNT_TOKEN"toe aan depassEnv-lijst van de provider. - Verifieer dit vanuit de omgeving van de Gateway-host:
op whoamimoet het serviceaccount zonder prompt weergeven.
op://-verwijzing worden genoemd. Beperk het account strikt; het is een bearer-aanmeldgegeven.
De 1password-skill voor agents
OpenClaw levert een1password-skill mee die agents vaardige op-operators maakt: de skill detecteert de beschikbare authenticatiemodus (serviceaccount, integratie met de desktopapp of zelfstandige aanmelding), verifieert vóór elke leesbewerking de toegang met op whoami en geeft de voorkeur aan op run / op inject boven het schrijven van geheime waarden naar schijf. De skill vereist het binaire bestand op en biedt een Homebrew-installatie aan wanneer dit ontbreekt.
Agents gebruiken de skill voor hun eigen workflows, bijvoorbeeld om tijdens een taak een implementatietoken te lezen of om omgevingsvariabelen in een opdracht te injecteren. Dit staat los van het oplossen van configuratiegeheimen; de Gateway lost SecretRefs op zonder dat daar een skill bij betrokken is.
Beveiligingsopmerkingen
- Geheime waarden die via exec-providers worden opgelost, blijven in het geheugen van de Gateway; configuratiesnapshots en
config.get-antwoorden maken SecretRef-velden onleesbaar. - Plaats geheime waarden nooit in
openclaw.json, logboeken of chats. Bewaar itemnamen in de configuratie en waarden in 1Password. - Het auditspoor van 1Password toont elke leesbewerking van een serviceaccount, waardoor sleutelrotatie en incidentonderzoek praktisch uitvoerbaar zijn.
Problemen oplossen
command not found- of spawnfouten: gebruik het absolute pad naaropen neem de bijbehorende map op intrustedDirs.opwordt gevonden, maar leesbewerkingen mislukken met symlinkfouten: stelallowSymlinkCommand: truein voor Homebrew-installaties.account is not signed in: controleer voor serviceaccounts ofOP_SERVICE_ACCOUNT_TOKENde Gateway-service bereikt en inpassEnvstaat; controleer voor desktopintegratie of de app draait en ontgrendeld is.- Trage eerste leesbewerkingen: verhoog
timeoutMsvoor de provider; koude starts vanopkunnen op drukbezette hosts strikte time-outs overschrijden.