CommunityCodierung & Entwicklunggithub.com

1Password

1Password CLI einrichten und nutzen: Anmeldung, Desktop-Integration und sicheres Auslesen von Secrets.

Was ist 1Password?

Diese Fähigkeit befähigt KI-Agenten, das 1Password CLI (`op`) sicher zu nutzen, um Anmeldedaten und Secrets zu verwalten. Sie unterstützt drei Authentifizierungsmodi: Service-Account (bevorzugt für Headless-Setups und CI-Umgebungen), Desktop-App-Integration (für macOS, Windows, Linux) und Standalone-Anmeldung (interaktive Passworteingabe). Der Agent erkennt den vom Benutzer konfigurierten Modus und führt die entsprechenden `op`-Befehle aus, wobei er die Einschränkungen jeder Umgebung berücksichtigt – etwa dass die Desktop-Integration keine tmux-Panes verträgt, während die Standalone-Anmeldung ohne tmux nicht lebensfähig ist. Zusätzlich integriert sich die Fähigkeit in den Chrome-basierten „1Password for Claude“-Workflow für sicheres Autofill bei Web-Anmeldungen, ohne dass Secrets den Kontext des Agenten preisgeben. Die Anleitung betont durchgängig die Vermeidung von Secret-Lecks, den Vorzug von `op run`/`op inject` vor Festplatten-Schreibzugriffen und spezifische Fehlerbehandlungsmuster für jeden Authentifizierungsmodus.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/clawdbot/clawdbot/tree/main/skills/1password

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

1Password CLI

Befolgen Sie die offiziellen CLI-Erste-Schritte-Schritte. Erraten Sie keine Installationsbefehle.

Referenzen

  • references/get-started.md (Installation + App-Integration + Anmeldeablauf)
  • references/cli-examples.md (echte op-Beispiele)

Arbeitsablauf

  1. Betriebssystem + Shell ermitteln.
  2. Vorhandensein der CLI prüfen: op --version.
  3. Den vom Benutzer eingerichteten Authentifizierungsmodus erkennen:
    • Service-Account: OP_SERVICE_ACCOUNT_TOKEN ist gesetzt (typisch für Headless-Setups, CI, Gateways).
    • Desktop-App-Integration: Die 1Password Desktop-App läuft mit aktivierter CLI-Integration (typisch auf macOS / Windows / Linux Desktops).
    • Standalone-Anmeldung: Weder das eine noch das andere – op signin wird bei jeder Sitzung nach einem Kontopasswort fragen.
  4. op entsprechend dem Authentifizierungsmodus ausführen (siehe unten).
  5. Zugriff überprüfen: op whoami sollte erfolgreich sein, bevor ein Secret gelesen wird.
  6. Bei mehreren Konten: --account oder OP_ACCOUNT verwenden.

op pro Authentifizierungsmodus ausführen

Service-Account (bevorzugt für Headless-/Gateway-Nutzung)

Direkte Ausführung. Kein tmux, kein Anmeldeschritt.

export OP_SERVICE_ACCOUNT_TOKEN="ops_..."
op vault list
op read op://app-prod/db/password

Desktop-App-Integration

Direkte Ausführung. Nicht in tmux verpacken – die Desktop-App-Integration verwendet einen benutzerspezifischen IPC-Kanal, der für die Ausführungsumgebung des Gateways eingerichtet ist, aber von tmux-Subshells, die in einem anderen Umgebungskontext laufen, nicht immer zuverlässig erreicht werden kann. Der Transport unterscheidet sich je nach Plattform (XPC über den 1Password Browser Helper auf macOS, ein Unix-Domain-Socket auf Linux, eine Named Pipe auf Windows); die praktische Regel für einen Agenten ist auf allen drei gleich: op direkt ausführen. Auf macOS ist ein nützlicher Symptomindikator der 1Password Integrations-Container in ~/Library/Group Containers/2BUA8C4S2C.com.1password/t/.

op vault list      # kann beim ersten Aufruf Touch ID / Windows Hello / Systemauthentifizierung auslösen
op whoami

Wenn ein Aufruf 1Password CLI konnte keine Verbindung zur 1Password Desktop-App herstellen zurückgibt, nicht zu tmux wechseln. Bestätigen, dass die Desktop-App läuft und entsperrt ist, dann die direkte Ausführung wiederholen.

Standalone-Anmeldung (keine App, interaktives Passwort)

Dies ist der einzige Modus, in dem tmux hilft. op signin gibt einen eval-artigen Export aus, der ein OP_SESSION_*-Token für POSIX-Shells setzt; spätere Befehle in derselben Shell werden durch diese Umgebungsvariable authentifiziert. Die befehlsweisen Shells des Gateways verlieren diesen Zustand zwischen den Aufrufen, daher hält ein persistenter tmux-Bereich das Sitzungstoken am Leben – aber nur, wenn der Export tatsächlich mit eval in einer POSIX-Shell angewendet wird. Das Senden von op signin als einfachen Befehl hinterlässt die Ausgabe lediglich im Bereich und op whoami wird fehlschlagen.

Der tmux-Ablauf ist nur auf macOS/Linux-Hosts sinnvoll, auf denen die tmux-Fähigkeit verfügbar ist. Das Beispiel öffnet absichtlich /bin/sh, damit die POSIX-Ausgabe eval "$(op signin ...)" selbst dann gültig ist, wenn die normale Shell des Benutzers fish ist. Unter Windows ist die Desktop-App-Integration oder die Service-Account-Authentifizierung zu bevorzugen. Wenn der Benutzer nur eine interaktive Standalone-Anmeldung unter Windows hat, anhalten und ihn bitten, einen persistenten PowerShell-Sitzungsmechanismus bereitzustellen oder auf Desktop-Integration/Service-Account-Authentifizierung umzusteigen; die tmux-Befehle nicht direkt übersetzen.

SOCKET_DIR="${OPENCLAW_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/openclaw-tmux-sockets}"
mkdir -p "$SOCKET_DIR"
chmod 700 "$SOCKET_DIR"
SOCKET="$SOCKET_DIR/openclaw-op.sock"
SESSION="op-auth-$(date +%Y%m%d-%H%M%S)"

tmux -S "$SOCKET" new -d -s "$SESSION" -n shell /bin/sh
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- 'eval "$(op signin --account my.1password.com)"' Enter
tmux -S "$SOCKET" capture-pane -t "$SESSION":0.0 -p -S - | tail -40

Keine Folge-Befehle in die Warteschlange stellen, während die Anmeldung zur Eingabe auffordert. Den Bereich mit capture-pane abfragen, bis die Anmeldung entweder abgeschlossen ist und die Shell-Eingabeaufforderung zurückgekehrt ist, oder eindeutig auf Benutzereingabe wartet. Wenn die Eingabeaufforderung ein Passwort, MFA oder eine Kontowahl erfordert, anhalten und den Benutzer bitten, die Anmeldung in seinem eigenen Terminal abzuschließen; ihm die Socket- und Sitzungswerte geben, damit er lokal anhängen kann. Der Agent sollte tmux attach nicht von exec aus ausführen, da attach das aktuelle TTY verbraucht und die Skriptsteuerung von send-keys / capture-pane verhindert.

Nachdem die Shell-Eingabeaufforderung zurückgekehrt ist, überprüfen, indem die Prüfungen in denselben Bereich gesendet werden:

tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- 'op whoami' Enter
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- 'op vault list' Enter
tmux -S "$SOCKET" capture-pane -t "$SESSION":0.0 -p -S - | tail -80

Die tmux-Sitzung laufen lassen, damit spätere op read / op run-Befehle dieselbe authentifizierte Shell wiederverwenden.

Dieselben SOCKET- und SESSION-Werte für jeden Folge-Befehl in diesem Standalone-Anmeldeablauf verwenden. Das Flag -S "$SOCKET" wählt den tmux-Server-Socket; ihn in einem benutzereigenen 0700-Verzeichnis aufbewahren, nicht zwischen Benutzern teilen und für jeden neuen Anmeldeversuch einen neuen Sitzungsnamen wählen.

Browser-Anmeldung (1Password für Claude)

Wenn die Sitzung Claude in Chrome-Anmeldeinformationen-Tools (request_credentials, autofill_credential, enter_verification_code) bereitstellt, diese gegenüber op für die Anmeldung bei Websites bevorzugen: 1Password füllt die Seite direkt aus und das Secret gelangt nie in den Kontext. Regeln:

  • Jeden benötigten Credential in einem request_credentials-Aufruf anfordern, bevor navigiert wird.
  • Die Genehmigung ist eine 1Password-Aufforderung auf dem Gateway-Host. Wenn sie aussteht, dem Benutzer mitteilen, auf welchem Host er entsperren soll („1Password wartet auf Genehmigung auf diesem Mac“), anstatt es erneut zu versuchen.
  • Niemals den Benutzer bitten, Passwörter oder Einmalcodes über den Chat zu senden; Codes nur über enter_verification_code verwenden.
  • Nicht auf op read für ein Website-Passwort zurückfallen, nur weil der Browser-Ablauf eine Genehmigung benötigt; das untergräbt das Design der Nicht-Exposition. op für Secrets verwenden, die von Befehlen und Konfigurationen verbraucht werden, nicht für Web-Anmeldungen, wenn der Browser-Ablauf existiert.

Leitplanken

  • Niemals Secrets in Logs, Chat oder Code einfügen.
  • op run / op inject gegenüber dem Schreiben von Secrets auf die Festplatte bevorzugen.
  • Wenn eine Anmeldung ohne App-Integration erforderlich ist, zuerst op account add verwenden.
  • Wenn ein Befehl „account is not signed in“ zurückgibt:
    • Service-Account: OP_SERVICE_ACCOUNT_TOKEN erneut exportieren
    • Desktop-App: bestätigen, dass die App läuft und die Integration aktiviert ist
    • Standalone: op signin innerhalb derselben tmux-Sitzung erneut ausführen und autorisieren

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

acp-router

Route plain-language requests for Claude Code, Cursor, Copilot, OpenClaw ACP, OpenCode, Gemini CLI, Grok Build, Qwen, Kiro, Kimi, iFlow, Factory Droid, Kilocode, or explicit ACP harness work into either OpenClaw ACP runtime sessions or direct acpx-driven sessions ("telephone game" flow). For coding-agent thread requests, read this skill first, then use only `sessions_spawn` for thread creation. Codex chat binding defaults to the native Codex app-server plugin unless ACP is explicit or background spawn needs ACP.

add-model-provider

Add and live-prove a model provider with non-interactive config one-liners, without exposing credentials.

agent-transcript

Requested GitHub PR/issue agent transcripts: redact, trim, preview, and insert safely.

apple-notes

Create, view, edit, delete, search, move, or export Apple Notes via the memo CLI on macOS.

apple-reminders

List, add, edit, complete, or delete Apple Reminders and reminder lists via remindctl.

auto-qa

Run OpenClaw-wide autonomous QA and live/stress campaigns across independent subsystem lanes, with verified fixes and a resumable evidence report.

autoreview

Structured code review through the shared OpenClaw agent-skills installation.

bear-notes

Create, search, and manage Bear notes via grizzly CLI.

blacksmith-testbox

Run Blacksmith Testbox for CI-parity checks, secrets, hosted services, migrations, or builds local cannot reproduce.

block-kit

Use proactively for structured or interactive Slack replies, and when asked to author or validate native Slack Block Kit JSON.

blogwatcher

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

blucli

BluOS CLI (blu) for discovery, playback, grouping, and volume.

bluebubbles

Send and manage iMessages via BlueBubbles, including attachments, tapbacks, edits, replies, and groups.

browser-automation

Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.

camsnap

Capture frames or clips from RTSP/ONVIF cameras and local webcams, including USB pan/tilt/zoom control.

canvas

Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.

channel-message-flows

Use when running QA Lab channel message flow evidence.

clawdtributor

Clawtributor PRs here, last week or another window: discover conversation refs, recheck GitHub, rank by impact.

clawhub

Search ClawHub for plugins by default, or skills when explicitly requested; install, verify, update, uninstall, publish, or sync skills.

claw-score

Audit or refresh OpenClaw maturity scorecard docs from root taxonomy, maturity scores, and QA evidence artifacts without using maintainer discrawl data or committed inventory reports.

Verwandte Skills